[gnue] r10261 - in trunk/gnue-forms: . src/GFObjects

[email protected] Fri, 3 Dec 2010 04:18:29 -0600 (CST)
Newsgroups gmane.comp.cms.gnue.cvs
Message-ID <[email protected]>
Author: reinhard
Date: 2010-12-03 04:18:29 -0600 (Fri, 03 Dec 2010)
New Revision: 10261

Modified:
   trunk/gnue-forms/
   trunk/gnue-forms/src/GFObjects/GFBlock.py
Log:
Consistently return indication of success or failure for record navigatio=
n
methods.



Property changes on: trunk/gnue-forms
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2010-12-03 09:21:01.371999979 +0100
committer: Reinhard M=C3=BCller <[email protected]>
properties:=20
	branch-nick: forms

   + timestamp: 2010-12-03 11:13:18.730999947 +0100
committer: Reinhard M=C3=BCller <[email protected]>
properties:=20
	branch-nick: forms

Name: bzr:file-ids
   - src/uidrivers/wx/widgets/form.py	10053@3a364389-8fce-0310-8f11-cc363=
fde16c7:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2Fform.py

   + src/GFObjects/GFBlock.py	1459@3a364389-8fce-0310-8f11-cc363fde16c7:t=
runk%2Fgnue-forms:src%2FGFObjects%2FGFBlock.py

Name: bzr:revision-id:v4
   - 3116 [email protected]
3117 [email protected]
3118 [email protected]
3119 [email protected]
3120 [email protected]
3121 [email protected]
3122 [email protected]
3123 [email protected]
3124 [email protected]
3125 [email protected]
3126 [email protected]
3127 [email protected]
3128 [email protected]
3129 [email protected]
3130 [email protected]
3131 [email protected]
3132 [email protected]
3133 [email protected]
3134 [email protected]
3135 [email protected]
3136 [email protected]
3137 [email protected]
3138 [email protected]
3139 [email protected]
3140 [email protected]
3141 [email protected]
3142 [email protected]
3143 [email protected]
3144 [email protected]
3145 [email protected]
3146 [email protected]
3147 [email protected]
3148 [email protected]
3149 [email protected]
3150 [email protected]
3151 [email protected]
3152 [email protected]
3153 [email protected]
3154 [email protected]
3155 [email protected]
3156 [email protected]
3157 [email protected]
3158 [email protected]
3159 [email protected]
3160 [email protected]
3161 [email protected]
3162 [email protected]
3163 [email protected]
3164 [email protected]
3165 [email protected]
3166 [email protected]
3167 [email protected]

   + 3116 [email protected]
3117 [email protected]
3118 [email protected]
3119 [email protected]
3120 [email protected]
3121 [email protected]
3122 [email protected]
3123 [email protected]
3124 [email protected]
3125 [email protected]
3126 [email protected]
3127 [email protected]
3128 [email protected]
3129 [email protected]
3130 [email protected]
3131 [email protected]
3132 [email protected]
3133 [email protected]
3134 [email protected]
3135 [email protected]
3136 [email protected]
3137 [email protected]
3138 [email protected]
3139 [email protected]
3140 [email protected]
3141 [email protected]
3142 [email protected]
3143 [email protected]
3144 [email protected]
3145 [email protected]
3146 [email protected]
3147 [email protected]
3148 [email protected]
3149 [email protected]
3150 [email protected]
3151 [email protected]
3152 [email protected]
3153 [email protected]
3154 [email protected]
3155 [email protected]
3156 [email protected]
3157 [email protected]
3158 [email protected]
3159 [email protected]
3160 [email protected]
3161 [email protected]
3162 [email protected]
3163 [email protected]
3164 [email protected]
3165 [email protected]
3166 [email protected]
3167 [email protected]
3168 [email protected]

Name: bzr:text-parents
   - src/uidrivers/wx/widgets/form.py	svn-v3-single1-dHJ1bmsvZ251ZS1mb3Jt=
cw..:3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:10148

   + src/GFObjects/GFBlock.py	[email protected]=
-4conpgzutzq33iza


Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/gnue-forms/src/GFObjects/GFBlock.py	2010-12-03 10:18:25 UTC (re=
v 10260)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py	2010-12-03 10:18:29 UTC (re=
v 10261)
@@ -708,34 +708,41 @@
=20
     def first_record(self):
         """
-        Move the record pointer to the first record of the block.
+        Move to the first record.
+
+        @returns: True if the operation was successful (even if the firs=
t
+            record was active before already).  False if the block is un=
bound,
+            in query mode, or has no records at all.
         """
=20
         if self._dataSourceLink.type =3D=3D 'unbound':
-            return
+            return False
=20
         if self.mode =3D=3D 'query':
-            return
+            return False
=20
         if self.__resultset is None:
-            return
+            return False
=20
         if self.__resultset.isFirstRecord():
-            return
+            return True
=20
         self._focus_out()
=20
-        self.__resultset.firstRecord()
+        record =3D self.__resultset.firstRecord()
=20
         self._focus_in()
=20
+        return (record is not None)
+
     # ------------------------------------------------------------------=
-------
=20
     def prev_record(self):
         """
-        Move the record pointer to the previous record in the block.
+        Move to the previous record.
=20
-        @returns: True if the record pointer was moved, False if it was =
already
+        @returns: True if the operation was successful.  False if the bl=
ock is
+            unbound, in query mode, has no records at all, or already wa=
s at
             the first record.
         """
=20
@@ -753,7 +760,7 @@
=20
         self._focus_out()
=20
-        self.__resultset.prevRecord()
+        record self.__resultset.prevRecord()
=20
         self._focus_in()
=20
@@ -763,13 +770,14 @@
=20
     def next_record(self):
         """
-        Move the record pointer to the next record in the block.
+        Move to the previous record.
=20
-        If the record is already the last one, a new record will be crea=
ted if
-        the "autoCreate" attribute of the block is set.
+        If the block is already at the last record and has the "autoCrea=
te"
+        attribute set, a new record will be inserted.
=20
-        @returns: True if the record pointer was moved, False if it was =
already
-            the last record and no new record was inserted.
+        @returns: True if the operation was successful.  False if the bl=
ock is
+            unbound, in query mode, has no records at all, or already wa=
s at
+            the last record and could not insert a new record.
         """
=20
         if self._dataSourceLink.type =3D=3D 'unbound':
@@ -800,83 +808,102 @@
=20
     def last_record(self):
         """
-        Move the record pointer to the last record of the block.
+        Move to the last record.
+
+        @returns: True if the operation was successful (even if the last
+            record was active before already).  False if the block is un=
bound,
+            in query mode, or has no records at all.
         """
=20
         if self._dataSourceLink.type =3D=3D 'unbound':
-            return
+            return False
=20
         if self.mode =3D=3D 'query':
-            return
+            return False
=20
         if self.__resultset is None:
-            return
+            return False
=20
         if self.__resultset.isLastRecord():
-            return
+            return True
=20
         self._focus_out()
=20
-        self.__resultset.lastRecord()
+        record =3D self.__resultset.lastRecord()
=20
         self._focus_in()
=20
+        return (record is not None)
+
     # ------------------------------------------------------------------=
-------
=20
     def goto_record(self, record_number):
         """
-        Move the record pointer to a specific record number in the block=
.
+        Move to a specific record.
=20
-        @param record_number: Record number to jump to. If this is a neg=
ative
-            value, move relative to the last record.
+        @param record_number: Zero based record number to move to.  Nega=
tive
+            numbers count from the last record.
+        @returns: True if the operation was successful (even if the requ=
ested
+            record was active before already).  False if the block is un=
bound,
+            in query mode, has no records at all, or if the requested re=
cord
+            number exceeds the total number of records in the block.
         """
=20
         if self._dataSourceLink.type =3D=3D 'unbound':
-            return
+            return False
=20
         if self.mode =3D=3D 'query':
-            return
+            return False
=20
         if self.__resultset is None:
-            return
+            return False
=20
         # If record_number is negative, move relative to last record
         if record_number < 0:
             record_number +=3D self.__resultset.getRecordCount()
         if record_number < 0:
-            record_number =3D 0
+            return False
+        if record_number >=3D self.__resultset.getRecordCount():
+            return False
=20
         if record_number =3D=3D self.__resultset.getRecordNumber():
-            return
+            return True
=20
         self._focus_out()
=20
-        if not self.__resultset.setRecord(record_number):
-            self.__resultset.lastRecord()
+        self.__resultset.setRecord(record_number):
=20
         self._focus_in()
=20
+        return True
+
     # ------------------------------------------------------------------=
-------
=20
     def jump_records(self, count):
         """
-        Move the record pointer by a given adjustment relative to the cu=
rrent
-        record.
+        Move by a given number of records.
=20
-        @param count: the number of records to move from the current rec=
ord.
+        An attempt to move outside the available records will result in =
a
+        successful move to the first/last record.
+
+        @param count: Number of records to move from the current record.
+            Negative numbers move backwards, positive numbers forwards.
+        @returns: True if the operation was successful (even if count is=
 zero),
+            False if the block is unbound, in query mode, or has no reco=
rds at
+            all.
         """
=20
         if count =3D=3D 0:
-            return
+            return True
=20
         if self._dataSourceLink.type =3D=3D 'unbound':
-            return
+            return False
=20
         if self.mode =3D=3D 'query':
-            return
+            return False
=20
         if self.__resultset is None:
-            return
+            return False
=20
         if self.__resultset.getRecordNumber() =3D=3D -1:
             if count > 0:
@@ -889,7 +916,7 @@
         record_number =3D max(record_number, 0)
         record_number =3D min(record_number, self.__resultset.getRecordC=
ount())
=20
-        self.goto_record(record_number)
+        return self.goto_record(record_number)
=20
     # ------------------------------------------------------------------=
-------
=20
@@ -898,13 +925,13 @@
         Search for (and jump to) the first record matching a set of fiel=
d
         values.
=20
-        @param params: search conditions in the notation C{fieldname=3Dv=
alue}
+        @param params: Search conditions in the notation C{fieldname=3Dv=
alue}
             where the fieldname is the name of a GFField.
         @returns: True if a record was found, False otherwise.
         """
=20
         if self._dataSourceLink.type =3D=3D 'unbound':
-            return True
+            return False
=20
         if self.mode =3D=3D 'query':
             return False
@@ -920,11 +947,11 @@
=20
         self._focus_out()
=20
-        result =3D (self.__resultset.findRecord(cond) is not None)
+        record =3D self.__resultset.findRecord(cond)
=20
         self._focus_in()
=20
-        return result
+        return (record is not None)
=20
=20
     # ------------------------------------------------------------------=
-------