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 navigation methods. Property changes on: trunk/gnue-forms ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2010-12-03 09:21:01.371999979 +0100 committer: Reinhard Müller <[email protected]> properties: branch-nick: forms + timestamp: 2010-12-03 11:13:18.730999947 +0100 committer: Reinhard Müller <[email protected]> properties: branch-nick: forms Name: bzr:file-ids - src/uidrivers/wx/widgets/form.py 10...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2Fform.py + src/GFObjects/GFBlock.py 1...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%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-dHJ1bmsvZ251ZS1mb3Jtcw..:3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:10148 + src/GFObjects/GFBlock.py [email protected] Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py =================================================================== --- trunk/gnue-forms/src/GFObjects/GFBlock.py 2010-12-03 10:18:25 UTC (rev 10260) +++ trunk/gnue-forms/src/GFObjects/GFBlock.py 2010-12-03 10:18:29 UTC (rev 10261) @@ -708,34 +708,41 @@ 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 first + record was active before already). False if the block is unbound, + in query mode, or has no records at all. """ if self._dataSourceLink.type == 'unbound': - return + return False if self.mode == 'query': - return + return False if self.__resultset is None: - return + return False if self.__resultset.isFirstRecord(): - return + return True self._focus_out() - self.__resultset.firstRecord() + record = self.__resultset.firstRecord() self._focus_in() + return (record is not None) + # ------------------------------------------------------------------------- def prev_record(self): """ - Move the record pointer to the previous record in the block. + Move to the previous record. - @returns: True if the record pointer was moved, False if it was already + @returns: True if the operation was successful. False if the block is + unbound, in query mode, has no records at all, or already was at the first record. """ @@ -753,7 +760,7 @@ self._focus_out() - self.__resultset.prevRecord() + record self.__resultset.prevRecord() self._focus_in() @@ -763,13 +770,14 @@ def next_record(self): """ - Move the record pointer to the next record in the block. + Move to the previous record. - If the record is already the last one, a new record will be created if - the "autoCreate" attribute of the block is set. + If the block is already at the last record and has the "autoCreate" + attribute set, a new record will be inserted. - @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 block is + unbound, in query mode, has no records at all, or already was at + the last record and could not insert a new record. """ if self._dataSourceLink.type == 'unbound': @@ -800,83 +808,102 @@ 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 unbound, + in query mode, or has no records at all. """ if self._dataSourceLink.type == 'unbound': - return + return False if self.mode == 'query': - return + return False if self.__resultset is None: - return + return False if self.__resultset.isLastRecord(): - return + return True self._focus_out() - self.__resultset.lastRecord() + record = self.__resultset.lastRecord() self._focus_in() + return (record is not None) + # ------------------------------------------------------------------------- def goto_record(self, record_number): """ - Move the record pointer to a specific record number in the block. + Move to a specific record. - @param record_number: Record number to jump to. If this is a negative - value, move relative to the last record. + @param record_number: Zero based record number to move to. Negative + numbers count from the last record. + @returns: True if the operation was successful (even if the requested + record was active before already). False if the block is unbound, + in query mode, has no records at all, or if the requested record + number exceeds the total number of records in the block. """ if self._dataSourceLink.type == 'unbound': - return + return False if self.mode == 'query': - return + return False if self.__resultset is None: - return + return False # If record_number is negative, move relative to last record if record_number < 0: record_number += self.__resultset.getRecordCount() if record_number < 0: - record_number = 0 + return False + if record_number >= self.__resultset.getRecordCount(): + return False if record_number == self.__resultset.getRecordNumber(): - return + return True self._focus_out() - if not self.__resultset.setRecord(record_number): - self.__resultset.lastRecord() + self.__resultset.setRecord(record_number): self._focus_in() + return True + # ------------------------------------------------------------------------- def jump_records(self, count): """ - Move the record pointer by a given adjustment relative to the current - record. + Move by a given number of records. - @param count: the number of records to move from the current record. + 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 records at + all. """ if count == 0: - return + return True if self._dataSourceLink.type == 'unbound': - return + return False if self.mode == 'query': - return + return False if self.__resultset is None: - return + return False if self.__resultset.getRecordNumber() == -1: if count > 0: @@ -889,7 +916,7 @@ record_number = max(record_number, 0) record_number = min(record_number, self.__resultset.getRecordCount()) - self.goto_record(record_number) + return self.goto_record(record_number) # ------------------------------------------------------------------------- @@ -898,13 +925,13 @@ Search for (and jump to) the first record matching a set of field values. - @param params: search conditions in the notation C{fieldname=value} + @param params: Search conditions in the notation C{fieldname=value} where the fieldname is the name of a GFField. @returns: True if a record was found, False otherwise. """ if self._dataSourceLink.type == 'unbound': - return True + return False if self.mode == 'query': return False @@ -920,11 +947,11 @@ self._focus_out() - result = (self.__resultset.findRecord(cond) is not None) + record = self.__resultset.findRecord(cond) self._focus_in() - return result + return (record is not None) # ------------------------------------------------------------------------- _______________________________________________ commit-gnue mailing list [email protected] http://lists.gnu.org/mailman/listinfo/commit-gnue
