/[papo]/gnue/forms/src/GFInstance.py
ViewVC logotype

Diff of /gnue/forms/src/GFInstance.py

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

revision 1.8.2.9 by styxman, Wed May 21 18:10:32 2003 UTC revision 1.8.2.10 by apronotti, Tue Oct 7 18:24:44 2003 UTC
# Line 73  class GFInstance(GFEventAware): Line 73  class GFInstance(GFEventAware):
73                             'requestPREVENTRY'    : self.previousEntry,                             'requestPREVENTRY'    : self.previousEntry,
74                             'requestNEXTBLOCK'    : self.nextBlock,                             'requestNEXTBLOCK'    : self.nextBlock,
75                             'requestPREVBLOCK'    : self.previousBlock,                             'requestPREVBLOCK'    : self.previousBlock,
76                               'requestNEXTSCROLLPG' : self.nextScrollPg,
77                               'requestPREVSCROLLPG' : self.previousScrollPg,
78                             'requestFIRSTRECORD'  : self.firstRecord,                             'requestFIRSTRECORD'  : self.firstRecord,
79                             'requestLASTRECORD'   : self.lastRecord,                             'requestLASTRECORD'   : self.lastRecord,
80                             'requestPREVRECORD'   : self.prevRecord,                             'requestPREVRECORD'   : self.prevRecord,
# Line 270  class GFInstance(GFEventAware): Line 272  class GFInstance(GFEventAware):
272      self.updateStatus()      self.updateStatus()
273    
274    #    #
275      # nextScrollPg
276      #
277      #
278      def nextScrollPg(self,event):
279        if not self._form.endEditing():
280          return
281        if len(self._form._currentEntry._block._scrollBars):
282          page = self._form._currentEntry.rows
283          currentRecordNumber = self._form._currentEntry._block.getCurrentRecordNumber()
284          scrollbarIndex = self._form._currentEntry.lowestVisible
285          event.data = page+(page-(currentRecordNumber-scrollbarIndex)-2)
286          self.jumpRecords (event,self._form._currentEntry._block)
287        
288      #
289      # previousScrollPg
290      #
291      # Called whenever an event source has requested that the
292      # focus change to the next data entry block
293      #
294      def previousScrollPg(self, event):
295        if not self._form.endEditing():
296          return
297        if len(self._form._currentEntry._block._scrollBars):
298          page = self._form._currentEntry.rows
299          currentRecordNumber = self._form._currentEntry._block.getCurrentRecordNumber()
300          scrollbarIndex = self._form._currentEntry.lowestVisible
301          event.data = -page-(currentRecordNumber - scrollbarIndex -1)
302          self.jumpRecords (event,self._form._currentEntry._block)
303    
304    
305      #
306    # gotoPage    # gotoPage
307    #    #
308    # Called to make the form jump to a specific page    # Called to make the form jump to a specific page
# Line 298  class GFInstance(GFEventAware): Line 331  class GFInstance(GFEventAware):
331    #    #
332    # Called when a scrollbar is pressed. it should detect the type of scroll and call the right thing    # Called when a scrollbar is pressed. it should detect the type of scroll and call the right thing
333    def scroll (self, event):    def scroll (self, event):
334      (ev, page)= event.data      (ev, page, block, scrollbarIndex, currPos, tumbSize)= event.data
335      # print "->", ev, page      #print "->", ev, page, block.name
336      if ev==0:      if ev==0:
337        self.prevRecord (event)        event.data = -1-(block.getCurrentRecordNumber()-scrollbarIndex)
338          self.jumpRecords (event,block)
339      elif ev==1:      elif ev==1:
340        event.data= -page+1        event.data = -page-(block.getCurrentRecordNumber()-scrollbarIndex-1)
341        self.jumpRecords (event)        self.jumpRecords (event,block)
342      elif ev==2:      elif ev==2:
343        # free scroll        # free scroll
344        # dunno how to handle...        # dunno how to handle...
345        pass        distance = currPos - scrollbarIndex
346          if distance > 0:
347            event.data = distance+(page-(block.getCurrentRecordNumber()-scrollbarIndex))
348            self.jumpRecords (event,block)
349          elif distance < 0:
350            event.data = distance-(block.getCurrentRecordNumber()-scrollbarIndex)
351            self.jumpRecords (event,block)
352      elif ev==3:      elif ev==3:
353        event.data= page-1        event.data = page+(page-(block.getCurrentRecordNumber()-scrollbarIndex)-2)
354        self.jumpRecords (event)        self.jumpRecords (event,block)
355      elif ev==4:      elif ev==4:
356        self.nextRecord (event)        event.data = 1+(page-(block.getCurrentRecordNumber()-scrollbarIndex)-1)
357          self.jumpRecords (event,block)
358    
359    
360    #    #
# Line 322  class GFInstance(GFEventAware): Line 363  class GFInstance(GFEventAware):
363    # Called enever an event source has requested that the    # Called enever an event source has requested that the
364    # form advance to the next record in memory    # form advance to the next record in memory
365    #    #
366    def prevRecord(self, event):    def prevRecord(self, event, block=None):
367      if not self._form.endEditing():      if not self._form.endEditing():
368        return        return
369      self._form.changeFocus (self._form._currentEntry)      self._form.changeFocus (self._form._currentEntry)
370      message = self._form.prevRecord()      if block:
371          message = self._form.prevRecord(block)
372        else:
373          message = self._form.prevRecord()
374      if message:      if message:
375        messageBox = GFMsgBox(self,message)        messageBox = GFMsgBox(self,message)
376        messageBox.show()        messageBox.show()
# Line 339  class GFInstance(GFEventAware): Line 383  class GFInstance(GFEventAware):
383    # Called whenever an event source has requested that the    # Called whenever an event source has requested that the
384    # form advance to the next record in memory    # form advance to the next record in memory
385    #    #
386    def nextRecord(self, event):    def nextRecord(self, event, block=None):
387      if not self._form.endEditing():      if not self._form.endEditing():
388        return        return
389      self._form.changeFocus (self._form._currentEntry)      self._form.changeFocus (self._form._currentEntry)
390      message = self._form.nextRecord()      if block:
391          message = self._form.nextRecord(block)
392        else:
393          message = self._form.nextRecord()
394      if message:      if message:
395        messageBox = GFMsgBox(self,message)        messageBox = GFMsgBox(self,message)
396        messageBox.show()        messageBox.show()
# Line 405  class GFInstance(GFEventAware): Line 452  class GFInstance(GFEventAware):
452    
453      self._entryUpdated()      self._entryUpdated()
454    
455    def jumpRecords(self,event):    def jumpRecords(self,event,block=None):
456      if not self._form.endEditing():      if not self._form.endEditing():
457        return        return
458    
# Line 416  class GFInstance(GFEventAware): Line 463  class GFInstance(GFEventAware):
463      else:      else:
464        method = self._form.prevRecord        method = self._form.prevRecord
465      for jumps in range(abs(int(count))):      for jumps in range(abs(int(count))):
466        method()        if block:
467            method(block)
468          else:
469            method()
470    
471      self._entryUpdated()      self._entryUpdated()
472    

Legend:
Removed from v.1.8.2.9  
changed lines
  Added in v.1.8.2.10

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