/[papo]/gnue/forms/src/uidrivers/wx/UIdriver.py
ViewVC logotype

Diff of /gnue/forms/src/uidrivers/wx/UIdriver.py

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

revision 1.19.2.4 by styxman, Wed Jun 18 20:17:52 2003 UTC revision 1.19.2.5 by apronotti, Tue Oct 7 18:24:44 2003 UTC
# Line 720  class UIScrollBar(UIHelper, UIWidget): Line 720  class UIScrollBar(UIHelper, UIWidget):
720    
721    def _createWidget(self, event, spacer):    def _createWidget(self, event, spacer):
722      object = event.object      object = event.object
723        self._pos = 0
724      self._page= object.page      self._page= object.page
725        self._widgetHeight = event.widgetHeight
726      self._widget= wxScrollBar(event.container,-1,      self._widget= wxScrollBar(event.container,-1,
727                             wxPoint(object.x*event.widgetWidth,(object.y+spacer)*event.widgetHeight),                             wxPoint(object.x*event.widgetWidth,(object.y+spacer)*event.widgetHeight),
728                             wxSize(object.width*event.widgetWidth,object.height*event.widgetHeight),                             wxSize(object.width*event.widgetWidth,object.height*event.widgetHeight),
729                             wxSB_VERTICAL)                             wxSB_VERTICAL)
730      # tie      # tie
731      if event.initialize:      if event.initialize:
       # envetHandler is the gfuserinterface's dispatchEvent...  
       self._eventHandler= event.eventHandler  
       self.update (0, 0)  
       EVT_SCROLL (self._widget, self.scroll)  
732        # raise Exception        # raise Exception
733        # also, hook on our block's events        # also, hook on our block's events
734        # how? I need a eventAware thing!        # how? I need a eventAware thing!
# Line 738  class UIScrollBar(UIHelper, UIWidget): Line 736  class UIScrollBar(UIHelper, UIWidget):
736        # or find the block and cross register.        # or find the block and cross register.
737        block= object.findParentOfType ('GFBlock')        block= object.findParentOfType ('GFBlock')
738        block.registerScrollBar (self)        block.registerScrollBar (self)
739          self._block = block
740          # envetHandler is the gfuserinterface's dispatchEvent...
741          self._eventHandler= event.eventHandler
742          self.update (0, 0)
743          EVT_SCROLL (self._widget, self.scroll)
744    
745      return self._widget      return self._widget
746    
747    def scroll (self, event):    def scroll (self, event):
748      try:      try:
749        action = GFEvent('requestSCROLL', (self.wxToScroll[event.GetEventType()], self._page))        currPos = event.GetPosition()
750          if currPos == self._pos:
751            action = GFEvent('requestSCROLL', (self.wxToScroll[event.GetEventType()], self._page, self._block, self._pos, 0, float(self._page)/float(self._block.getRecordCount())*float(self._widgetHeight)))
752          else:
753            action = GFEvent('requestSCROLL', (self.wxToScroll[event.GetEventType()], self._page, self._block, self._pos, currPos, float(self._page)/float(self._block.getRecordCount())*float(self._widgetHeight)))
754        self._eventHandler(action)        self._eventHandler(action)
755      except KeyError, e:      except KeyError, e:
756        # ignore; it's not a event we want to handle        # ignore; it's not a event we want to handle
# Line 752  class UIScrollBar(UIHelper, UIWidget): Line 759  class UIScrollBar(UIHelper, UIWidget):
759    
760    # int position, int thumbSize, int range, int pageSize, const bool refresh = TRUE    # int position, int thumbSize, int range, int pageSize, const bool refresh = TRUE
761    def update (self, pos, range):    def update (self, pos, range):
762      # print pos, range      self._pos = pos
763      self._widget.SetScrollbar (pos, 1, range, self._page-1)      try:
764          tumbSize = float(self._page)/float(range)*float(self._widgetHeight)
765          if tumbSize < 1:
766            tumbSize = 1
767        except ZeroDivisionError:
768          tumbSize = 0
769          pass
770        #print pos, tumbSize, range, self._page
771        self._widget.SetScrollbar (pos, tumbSize, range, self._page)
772    
773    
774  #  #

Legend:
Removed from v.1.19.2.4  
changed lines
  Added in v.1.19.2.5

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