root/src/spinner.py @ 268

Revision 268, 1.9 KB (checked in by mmorton, 2 years ago)

got research description to load buttons

Line 
1"""
2Created 23 Mar 2012
3
4@TechTrek
5"""
6
7from window import Window
8from upDown import UpDown
9from image import Image
10from rectangle import Rect
11from text import Text
12from globals import *
13
14class Spinner(Window):
15   
16    def __init__(self, pos, visible, startValue = 0, maximum = 1000, minimum = 0, step = 10):
17        print 'initialized spinner early: ' + str(self)
18        Window.__init__(self, pos, visible)
19        print 'initialized spinner: ' + str(self)
20        self.value = startValue
21        self.max = maximum
22        self.min = minimum
23        self.step = step
24       
25        up = UpDown(self.pos, False, True)
26        down = UpDown((self.pos[0], self.pos[1] + 50), True, False)
27        up.addResponse((self.updateValue,True))
28        down.addResponse((self.updateValue,False))
29
30
31        self.subwindows.append(up)
32        self.subwindows.append(down)
33        self.text.append(Text((pos[0] + 60, pos[1] + 25), str(self.value), MD_TEXT, FAKEBLACK))
34        #self.addRectangle(Rect((0,0) , 300, 300, BLUE))
35
36    def updateValue(self,isUp):
37        if isUp and (self.value + self.step) <= self.max:
38            self.value += self.step
39        elif (self.value - self.step) >= self.min:
40            self.value -= self.step
41        self.text = []
42        self.text.append(Text((self.pos[0] + 60, self.pos[1] + 25), str(self.value), MD_TEXT, FAKEBLACK))
43
44#    def response(self,event):
45#        if self.subwindows[0].isVisible() == True and self.subwindows[0].event(e) == True:
46#            self.updateValue(True)
47#        if self.subwindows[1].isVisible() == True and self.subwindows[1].event(e) == True:
48#            self.updateValue(False)
49
50    def update(self,state):
51        self.max = state.getMoney()
52        self.text = []
53        self.text.append(Text((60, 25), str(self.value), MD_TEXT, FAKEBLACK))
54       
55    def openWindow(self):
56        print 'opening: ' + str(self)
57        self.visible = True
58        for window in self.subwindows:
59            window.openWindow()
Note: See TracBrowser for help on using the browser.