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, |
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 |
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 |
# |
# |
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() |
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() |
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 |
|
|
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 |
|
|