2 from GUIComponent import *
6 class Widget(GUIComponent):
8 GUIComponent.__init__(self)
10 def GUIcreate(self, parent):
11 self.instance = self.createWidget(parent)
12 if self.state == self.HIDDEN:
16 self.removeWidget(self.instance)
19 def removeWidget(self, w):
23 self.instance.move(ePoint(int(x), int(y)))
25 class ConditionalWidget(Widget):
26 def __init__(self, withTimer = True):
32 self.conditionCheckTimer = eTimer()
33 self.conditionCheckTimer.timeout.get().append(self.update)
34 self.conditionCheckTimer.start(1000)
36 def setConnect(self, conditionalFunction):
37 self.conditionalFunction = conditionalFunction
39 def activateCondition(self, condition):
41 if self.state == self.HIDDEN:
44 if self.state == self.SHOWN:
48 if (self.conditionalFunction != None):
50 self.conditionalFunction() # check, if the conditionalfunction is still valid
51 self.activateCondition(self.conditionalFunction())
53 self.conditionalFunction = None
54 self.activateCondition(False)
58 class BlinkingWidget(Widget):
64 self.setBlinkTime(500)
67 self.timer.timeout.get().append(self.blink)
69 def setBlinkTime(self, time):
73 if self.blinking == True:
74 if self.state == self.SHOWN:
76 elif self.state == self.HIDDEN:
79 def startBlinking(self):
81 self.timer.start(self.blinktime)
83 def stopBlinking(self):
85 if self.state == self.SHOWN:
89 class BlinkingWidgetConditional(BlinkingWidget, ConditionalWidget):
91 BlinkingWidget.__init__(self)
92 ConditionalWidget.__init__(self)
94 def activateCondition(self, condition):
96 if not self.blinking: # we are already blinking
99 if self.blinking: # we are blinking