[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r8827 - trunk/gnue-forms/src
From: |
reinhard |
Subject: |
[gnue] r8827 - trunk/gnue-forms/src |
Date: |
Tue, 17 Oct 2006 13:19:38 -0500 (CDT) |
Author: reinhard
Date: 2006-10-17 13:19:37 -0500 (Tue, 17 Oct 2006)
New Revision: 8827
Modified:
trunk/gnue-forms/src/GFForm.py
trunk/gnue-forms/src/GFInstance.py
Log:
Moved focus movement functions from GFInstance to GFForm.
Modified: trunk/gnue-forms/src/GFForm.py
===================================================================
--- trunk/gnue-forms/src/GFForm.py 2006-10-17 17:15:34 UTC (rev 8826)
+++ trunk/gnue-forms/src/GFForm.py 2006-10-17 18:19:37 UTC (rev 8827)
@@ -155,6 +155,14 @@
'function': self.__trigger_message_box,
'global': True},
+ # Focus movement
+ 'next_entry': {'function': self.next_entry},
+ 'previous_entry': {'function': self.previous_entry},
+ 'next_block': {'function': self.next_block},
+ 'previous_block': {'function': self.previous_block},
+ 'next_page': {'function': self.next_page},
+ 'previous_page': {'function': self.previous_page},
+
# Record navigation
'first_record': {'function': self.first_record},
'prev_record': {'function': self.prev_record},
@@ -657,7 +665,7 @@
# =========================================================================
# -------------------------------------------------------------------------
- # Move the focus to the next entry
+ # Next/previous entry
# -------------------------------------------------------------------------
def next_entry(self, reverse=False):
@@ -666,6 +674,20 @@
to the next data entry object.
@param reverse: boolean, step focus in reverse direction?
"""
+
+ origEntry = self._currentEntry
+
+ if reverse:
+ self._currentEntry.processTrigger('ON-PREV-ENTRY',
+ ignoreAbort = False)
+ else:
+ self._currentEntry.processTrigger('ON-NEXT-ENTRY',
+ ignoreAbort = False)
+
+ # If the trigger changed focus, no need in us doing it too...
+ if self._currentEntry != origEntry:
+ return
+
currentBlock = self._currentBlock
mode = self.getCurrentMode()
@@ -764,63 +786,76 @@
else:
self.changeFocus(nextEntry)
-
# -------------------------------------------------------------------------
- # Move the focus to the previous entry
- # -------------------------------------------------------------------------
def previous_entry(self):
"""
Called whenever an event source has requested that the focus change
to the previous data entry object.
"""
+
self.next_entry(reverse=True)
# ------------------------------------------------------------------------
- # Move the focus to the next block
+ # Next/previous block
# -------------------------------------------------------------------------
- def nextBlock(self):
+ def next_block(self):
"""
Change focus to the next data entry block.
@return: None
"""
- try:
- nextBlock =
self._logic._blockList[self._logic._blockList.index(self._currentBlock) + 1]
- except IndexError:
- nextBlock = self._logic._blockList[0]
- self.findAndChangeFocus(nextBlock)
+ blocks = self._logic._blockList
+ current_index = blocks.index(self._currentBlock)
+ if current_index == len(blocks) - 1:
+ next_index = 0
+ else:
+ next_index = current_index + 1
+ self.findAndChangeFocus(blocks[next_index])
# -------------------------------------------------------------------------
- # Convenience routine to find the previous block
- # -------------------------------------------------------------------------
- def findPreviousBlock(self):
+ def previous_block(self):
"""
- Finds the previous block.
- @return: the block found
+ Change focus to the previous data entry block.
+ @return: None
"""
- try:
- return
self._logic._blockList[self._logic._blockList.index(self._currentBlock) - 1]
- except IndexError:
- return self._logic._blockList[-1]
+ blocks = self._logic._blockList
+ self.findAndChangeFocus(blocks[blocks.index(self._currentBlock) - 1])
+
# -------------------------------------------------------------------------
- # Move the focus to the previous block
+ # Next/previous page
# -------------------------------------------------------------------------
- def previousBlock(self):
+ def next_page(self):
"""
- Change focus to the previous data entry block.
- @return: None
+ Called to make the form jump to the next page
"""
- self.findAndChangeFocus(self.findPreviousBlock())
+ pages = self._layout._pageList
+ current_index = pages.index(self._currentPage)
+ if current_index == len(pages) - 1:
+ next_index = 0
+ else:
+ next_index = current_index + 1
+ self.findAndChangeFocus(pages[next_index])
# -------------------------------------------------------------------------
+
+ def previous_page(self):
+ """
+ Called to make the form jump to the previous page
+ """
+
+ pages = self._layout._pageList
+ self.findAndChangeFocus(pages[pages.index(self._currentPage) - 1])
+
+
+ # -------------------------------------------------------------------------
# Move the focus to a new object
# -------------------------------------------------------------------------
Modified: trunk/gnue-forms/src/GFInstance.py
===================================================================
--- trunk/gnue-forms/src/GFInstance.py 2006-10-17 17:15:34 UTC (rev 8826)
+++ trunk/gnue-forms/src/GFInstance.py 2006-10-17 18:19:37 UTC (rev 8827)
@@ -86,24 +86,26 @@
# First, all events are passed to the focus widget
'__before__' : self.__beforeEvent,
- # Focus-related events
+ # events not related to menu, toolbar, or hotkeys
'requestFOCUS' : self.changeFocus,
- 'requestENTER' : self.nextEntry,
- 'requestNEXTENTRY' : self.nextEntry,
- 'requestPREVENTRY' : self.previousEntry,
- 'requestNEXTBLOCK' : self.nextBlock,
- 'requestPREVBLOCK' : self.previousBlock,
- 'requestNEXTPAGE' : self.nextPage,
- 'requestPREVPAGE' : self.previousPage,
'requestPAGE' : self.gotoPage,
+ 'requestJUMPRECORD' : self.__execute_jumpRecord,
+ # Focus-related events
+ 'requestENTER' : self.__execute_nextEntry,
+ 'requestNEXTENTRY' : self.__execute_nextEntry,
+ 'requestPREVENTRY' : self.__execute_previousEntry,
+ 'requestNEXTBLOCK' : self.__execute_nextBlock,
+ 'requestPREVBLOCK' : self.__execute_previousBlock,
+ 'requestNEXTPAGE' : self.__execute_nextPage,
+ 'requestPREVPAGE' : self.__execute_previousPage,
+
# Record navigation
'requestFIRSTRECORD' : self.__execute_firstRecord,
'requestPREVRECORD' : self.__execute_prevRecord,
'requestNEXTRECORD' : self.__execute_nextRecord,
'requestLASTRECORD' : self.__execute_lastRecord,
'requestJUMPPROMPT' : self.__execute_jumpPrompt,
- 'requestJUMPRECORD' : self.__execute_jumpRecord,
'requestJUMPROWSUP' : self.__execute_jumpRowsUp,
'requestJUMPROWSDOWN' : self.__execute_jumpRowsDown,
@@ -457,108 +459,49 @@
# ---------------------------------------------------------------------------
- # Move focus to the next entry
+ # Focus movement
# ---------------------------------------------------------------------------
- def nextEntry (self, event):
- """
- Called whenever an event source has requested that the focus change to the
- next data entry object
+ def __execute_nextEntry(self, event):
- @param event: The event currently being processed.
- """
+ event._form.next_entry()
- origEntry = event._form._currentEntry
- event._form._currentEntry.processTrigger ('ON-NEXT-ENTRY',
- ignoreAbort = False)
+ # ---------------------------------------------------------------------------
- # If the trigger changed focus, no need in us doing it too...
- if origEntry == event._form._currentEntry:
- event._form.next_entry()
+ def __execute_previousEntry(self, event):
+ event._form.previous_entry()
# ---------------------------------------------------------------------------
- # Move focus to the previous entry
- # ---------------------------------------------------------------------------
- def previousEntry (self, event):
- """
- Called whenever an event source has requested that the focus change to the
- next data entry object
+ def __execute_nextBlock(self,event):
- param event: The event that requested the previous entry.
- """
+ event._form.next_block()
- origEntry = event._form._currentEntry
- event._form._currentEntry.processTrigger ('ON-PREVIOUS-ENTRY',
- ignoreAbort = False)
-
- # If the trigger changed focus, no need in us doing it too...
- if origEntry == event._form._currentEntry:
- event._form.previous_entry()
-
-
# ---------------------------------------------------------------------------
- # Move focus to the next block
- # ---------------------------------------------------------------------------
- def nextBlock (self,event):
- """
- Called whenever an event source has requested that the focus change to the
- next data entry block
- """
+ def __execute_previousBlock(self, event):
- event._form.nextBlock()
+ event._form.previous_block()
-
# ---------------------------------------------------------------------------
- # Move focus to the previous block
- # ---------------------------------------------------------------------------
- def previousBlock (self, event):
- """
- Called whenever an event source has requested that the focus change to the
- next data entry block
- """
+ def __execute_nextPage(self, event):
- event._form.previousBlock()
+ event._form.next_page()
-
# ---------------------------------------------------------------------------
- # Jump to the next page
- # ---------------------------------------------------------------------------
- def nextPage (self, event):
- """
- Called to make the form jump to the next page
- """
+ def __execute_previousPage(self, event):
- currentIndex =
event._form._layout._pageList.index(event._form._currentPage)
- if currentIndex == len (event._form._layout._pageList) - 1:
- nextIndex = 0
- else:
- nextIndex = currentIndex + 1
- event._form.findAndChangeFocus (event._form._layout._pageList [nextIndex])
+ event._form.previous_page()
# ---------------------------------------------------------------------------
- # Jump to the previous page
- # ---------------------------------------------------------------------------
-
- def previousPage (self, event):
- """
- Called to make the form jump to the previous page
- """
-
- pageList = event._form._layout._pageList
- currentIndex = pageList.index (event._form._currentPage)
- event._form.findAndChangeFocus (pageList [currentIndex - 1])
-
- # ---------------------------------------------------------------------------
# Jump to a specific page
# ---------------------------------------------------------------------------
- def gotoPage (self, event):
+ def gotoPage(self, event):
"""
Jump to a specific page of the form
"""
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8827 - trunk/gnue-forms/src,
reinhard <=