File: Action.py

package info (click to toggle)
jython 2.7.3%2Brepack1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 62,820 kB
  • sloc: python: 641,384; java: 306,981; xml: 2,066; sh: 514; ansic: 126; makefile: 77
file content (43 lines) | stat: -rw-r--r-- 1,216 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# I don't really like the design of this one...
from pawt import swing


class Action(swing.AbstractAction):
    def __init__(self, name, action=None, icon=None, description=None, needEvent=0):
        if action is None:
            action = name
            name = action.__name__

        #swing.AbstractAction.__init__(self, name)
        self.name = name
        self.icon = icon
        if icon:
            self.setIcon(swing.Action.SMALL_ICON, icon)
        if description:
            self.setText(swing.Action.SHORT_DESCRIPTION, description)
            self.description = description
        else:
            self.description = name
        self.action = action

        self.enabled = 1
        self.needEvent = needEvent

    def actionPerformed(self, event):
        if self.needEvent:
            self.action(event)
        else:
            self.action()

    def createMenuItem(self):
        mi = swing.JMenuItem(
            self.name, actionListener=self, enabled=self.enabled)
        return mi


class TargetAction(Action):
    def actionPerformed(self, event):
        if self.needEvent:
            self.action(self.getTarget(), event)
        else:
            self.action(self.getTarget())