commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r10015 - trunk/gnue-forms/src/GFObjects


From: reinhard
Subject: [gnue] r10015 - trunk/gnue-forms/src/GFObjects
Date: Wed, 28 Oct 2009 06:46:40 -0500 (CDT)

Author: reinhard
Date: 2009-10-28 06:46:40 -0500 (Wed, 28 Oct 2009)
New Revision: 10015

Modified:
   trunk/gnue-forms/src/GFObjects/GFEntry.py
   trunk/gnue-forms/src/GFObjects/GFField.py
   trunk/gnue-forms/src/GFObjects/GFImage.py
   trunk/gnue-forms/src/GFObjects/GFObj.py
   trunk/gnue-forms/src/GFObjects/GFTabStop.py
Log:
Cleanup of "is_navigable" logic.


Modified: trunk/gnue-forms/src/GFObjects/GFEntry.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFEntry.py   2009-10-28 10:38:57 UTC (rev 
10014)
+++ trunk/gnue-forms/src/GFObjects/GFEntry.py   2009-10-28 11:46:40 UTC (rev 
10015)
@@ -106,16 +106,6 @@
 
 
     # -------------------------------------------------------------------------
-    # Implementation of virtual methods
-    # -------------------------------------------------------------------------
-
-    def _is_navigable_(self, mode):
-
-        return self.navigable and self._block.navigable \
-                and self._block.get_record_count() > 0 and not self.hidden
-
-
-    # -------------------------------------------------------------------------
     # Indicate whether this widget makes use of the separate label column
     # -------------------------------------------------------------------------
 

Modified: trunk/gnue-forms/src/GFObjects/GFField.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFField.py   2009-10-28 10:38:57 UTC (rev 
10014)
+++ trunk/gnue-forms/src/GFObjects/GFField.py   2009-10-28 11:46:40 UTC (rev 
10015)
@@ -247,7 +247,7 @@
     # Determine wether a field is editable or not
     # -------------------------------------------------------------------------
 
-    def is_editable(self, offset):
+    def is_editable(self, offset=0):
 
         if self._block.mode == 'query':
             return self._block.queryable

Modified: trunk/gnue-forms/src/GFObjects/GFImage.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFImage.py   2009-10-28 10:38:57 UTC (rev 
10014)
+++ trunk/gnue-forms/src/GFObjects/GFImage.py   2009-10-28 11:46:40 UTC (rev 
10015)
@@ -64,9 +64,3 @@
 
         if not hasattr(self, 'Char__height'):
             self.Char__height = int(gConfigForms('widgetHeight'))
-
-    # -------------------------------------------------------------------------
-
-    def _is_navigable_(self, mode):
-
-        return False

Modified: trunk/gnue-forms/src/GFObjects/GFObj.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFObj.py     2009-10-28 10:38:57 UTC (rev 
10014)
+++ trunk/gnue-forms/src/GFObjects/GFObj.py     2009-10-28 11:46:40 UTC (rev 
10015)
@@ -76,7 +76,6 @@
         GObj.__init__(self, parent, object_type)
 
         self.hidden = False
-        self.readonly = False
         self.name = "%s%x" % (("%s" % self.__class__).split('.')[-1][:-2], 
id(self))
 
         self._visibleIndex = 0
@@ -91,22 +90,6 @@
 
 
     # -------------------------------------------------------------------------
-    # Check wether an object is navigable or not
-    # -------------------------------------------------------------------------
-
-    def is_navigable(self, mode='edit'):
-        """
-        Return wether the object is currently navigable or not.
-
-        @param mode: current state of the object. Can be 'edit', 'query' or
-            'new'
-        @returns: True or False
-        """
-
-        return self._is_navigable_(mode)
-
-
-    # -------------------------------------------------------------------------
     # Phase 1 initialization
     # -------------------------------------------------------------------------
 
@@ -195,24 +178,6 @@
 
 
     # -------------------------------------------------------------------------
-    # Virtual methods to be implemented by descendants
-    # -------------------------------------------------------------------------
-
-    def _is_navigable_(self, mode):
-        """
-        Return wether the object is currently navigable or not.
-
-        Descendants can overwrite this method to return either True or False. 
If
-        this method is not overwritten it returns False.
-
-        @param mode: current state of the object. Can be 'edit', 'query' or
-          'new'
-        """
-
-        return False
-
-
-    # -------------------------------------------------------------------------
     # Phase 1 initialization
     # -------------------------------------------------------------------------
 

Modified: trunk/gnue-forms/src/GFObjects/GFTabStop.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFTabStop.py 2009-10-28 10:38:57 UTC (rev 
10014)
+++ trunk/gnue-forms/src/GFObjects/GFTabStop.py 2009-10-28 11:46:40 UTC (rev 
10015)
@@ -47,7 +47,7 @@
     # Attributes
     # -------------------------------------------------------------------------
   
-    navigable = None
+    navigable = False
 
     # -------------------------------------------------------------------------
     # Class variables
@@ -106,26 +106,6 @@
 
 
     # -------------------------------------------------------------------------
-
-    def _is_navigable_ (self, mode):
-        """
-        In general an object is navigable if it is not hidden and it's
-        navigable xml-attribute is set. If mode is 'query' it additionally
-        depends wether an object is 'queryable' or not. If mode is 'edit' or
-        'new' only objects are navigable which are not 'readonly'.
-        """
-
-        if self.hidden:
-            return False
-
-        else:
-            if mode == 'query':
-                return self.navigable and self._navigableInQuery_
-            else:
-                return self.navigable and (not self.readonly)
-
-
-    # -------------------------------------------------------------------------
     # UI events (called from UIEntry/UIButton)
     # -------------------------------------------------------------------------
 
@@ -359,7 +339,39 @@
             self.uiWidget._ui_set_editable_(index,
                     self._field.is_editable(offset))
 
+
     # -------------------------------------------------------------------------
+    # Find out whether this control is navigable
+    # -------------------------------------------------------------------------
+
+    def is_navigable(self, mode):
+        """
+        Return True if the user should be able to tab to this control, False
+        otherwise.
+        """
+
+        # Hidden control: not navigable.
+        if self.hidden:
+            return False
+
+        # Current row not enabled (i.e. no records in this block): not
+        # navigable.
+        if not self.__current_row_enabled:
+            return False
+
+        # Attached field is not editable in current mode: not navigable.
+        if isinstance(self, GFFieldBound) and not self._field.is_editable():
+            return False
+
+        # Control not navigable in query mode.
+        if mode == 'query' and not self._navigableInQuery_:
+            return False
+
+        # Normal case: user setting.
+        return self.navigable
+
+
+    # -------------------------------------------------------------------------
     # Change the focus to this object
     # -------------------------------------------------------------------------
 





reply via email to

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