/[papo]/gnue/common/src/cursing/VScrollBar.py
ViewVC logotype

Diff of /gnue/common/src/cursing/VScrollBar.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by styxman, Fri Nov 15 15:32:55 2002 UTC revision 1.1.2.1 by anthonyl, Tue Mar 4 22:09:33 2003 UTC
# Line 16  Line 16 
16  # write to the Free Software Foundation, Inc., 59 Temple Place  # write to the Free Software Foundation, Inc., 59 Temple Place
17  # - Suite 330, Boston, MA 02111-1307, USA.  # - Suite 330, Boston, MA 02111-1307, USA.
18  #  #
19  # Copyright 2002 Free Software Foundation  # Copyright 2002-2003 Free Software Foundation
20  #  #
21  # FILE:  # FILE:
22  # VScrollBar.py  # VScrollBar.py
# Line 60  class VScrollBar(ScrollBar): Line 60  class VScrollBar(ScrollBar):
60      self.leftarrow = VButton(Parent,'leftarrow',Y,X,3,'^')      self.leftarrow = VButton(Parent,'leftarrow',Y,X,3,'^')
61      self.leftarrow.SetMethod("CLICK",self._Dec)      self.leftarrow.SetMethod("CLICK",self._Dec)
62      Parent.AddControl(self.leftarrow)      Parent.AddControl(self.leftarrow)
63      self.COLOR = sio.C_SCROLL_BACKGROUND      self.SetColor('SCROLL_BACKGROUND')
64    
65    def Init(self, Max):    def Init(self, Max):
66      self._max = Max      self._max = Max
67      self._val = 0      self._val = 0
     self.WorkingArea = float(self.H-9)  
68      self.start = self.Y+ 3      self.start = self.Y+ 3
69        self.WorkingArea = float(self.H-9)
70      self.UsedSpace = int(math.floor(self.WorkingArea / float(self._max)))      self.UsedSpace = int(math.floor(self.WorkingArea / float(self._max)))
71      self.stepsize = self.WorkingArea / self._max      self.stepsize = self.WorkingArea / self._max
72      if self.UsedSpace < 1:      if self.UsedSpace < 1:
# Line 74  class VScrollBar(ScrollBar): Line 74  class VScrollBar(ScrollBar):
74      self.Paint(None,None,None)      self.Paint(None,None,None)
75    
76    def Paint(self,v1,v2,v3):    def Paint(self,v1,v2,v3):
77      Pos = int(math.ceil(float(self._val) * (self.stepsize))) + self.start      Pos = int(math.ceil(float(self._val) * (self.stepsize))) + self._ABSY + self.start
78      Screen = self.PARENT.Screen()      Screen = self.PARENT.Screen()
79      Screen.AutoRefresh = 0      Screen.AutoRefresh = 0
80      # clear the bar region in reverse standard-color      # clear the bar region in reverse standard-color
     self.SetColor(sio.C_SCROLL_BACKGROUND)  
 #    self.LoLight()  
81      for i in range(0, int(self.WorkingArea)):      for i in range(0, int(self.WorkingArea)):
82        Screen.PutAt( self.start + i,self.X, '?') #, curses.A_REVERSE)        Screen.PutAt( self._ABSY + self.start + i,self._ABSX, '|', Screen.colors.C_BACKGROUND)
83      # correct position      # correct position
84      if Pos >= (self.WorkingArea + self.start):      if Pos >= (self.WorkingArea + self.start):
85        Pos = (self.start + self.WorkingArea)        Pos = (self.start + self.WorkingArea)
86      elif Pos < (self.start + self.UsedSpace):      elif Pos < (self.start + self.UsedSpace):
87        Pos = self.start + self.UsedSpace        Pos = self.start + self.UsedSpace
88      # draw the handle in "menu"-hilight      # draw the handle
89      if self.FOCUS:      if self.FOCUS:
90        self.SetColor(sio.C_SCROLL_SLIDER_FOCUS)        color = self.SCREEN.colors.C_SCROLL_SLIDER_FOCUS
91      else:      else:
92        self.SetColor(sio.C_SCROLL_SLIDER)        color = self.SCREEN.colors.C_SCROLL_SLIDER
93      #self.LoLight()  
94      for i in range(0, self.UsedSpace):      for i in range(0, self.UsedSpace):
95        Screen.PutAt((Pos - self.UsedSpace) + i,self.X, 'x')#, curses.A_REVERSE)        Screen.PutAt((self._ABSY + Pos - self.UsedSpace) + i,self._ABSX, '0', color)
96      Screen.AutoRefresh = 1      Screen.AutoRefresh = 1
97      Screen.Refresh()      Screen.Refresh()
98    
99    def _ChangePos(self,arg1,newY,arg3):    def _ChangePos(self,arg1,newY,arg3):
100      Screen = self.PARENT.Screen()      Screen = self.PARENT.Screen()
101      Y = newY - self.start      Y = newY - self.start
102      Screen.PrintAt(0,0,'Y = ' + str(Y) + '  ' + str(self.WorkingArea))  ##    Screen.PrintAt(0,0,'Y = ' + str(Y) + '  ' + str(self.WorkingArea))
103      if Y >= (self.WorkingArea-1):      if Y >= (self.WorkingArea-1):
104        val = self._max        val = self._max
105      else:      else:

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.1.2.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26