commit-gnue
[Top][All Lists]
Advanced

[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
     """





reply via email to

[Prev in Thread] Current Thread [Next in Thread]