Author: reinhard Date: 2010-12-02 16:24:56 -0600 (Thu, 02 Dec 2010) New Revision: 10255
Modified: trunk/gnue-common/ trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py Log: When moving out of a freshly inserted record, the empty record should be discarded. Fixed this for cases when the record pointer was moved to "no record". Property changes on: trunk/gnue-common ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2010-11-30 15:23:56.974999905 +0100 committer: Reinhard Müller <reinhard.muel...@bytewise.at> properties: branch-nick: common + timestamp: 2010-12-02 00:52:01.973999977 +0100 committer: Reinhard Müller <reinhard.muel...@bytewise.at> properties: branch-nick: common Name: bzr:file-ids - src/datasources/drivers/Base/Behavior.py 7...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:src%2Fdatasources%2Fdrivers%2FBase%2FBehavior.py + src/datasources/drivers/Base/ResultSet.py 4...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:src%2Fdatasources%2Fdrivers%2FBase%2FResultSet.py Name: bzr:revision-id:v4 - 3116 reinhard.muel...@bytewise.at-20100426083315-ccfwx2pihuvqn60z 3117 reinhard.muel...@bytewise.at-20100503114756-unpxm52de0towufo 3118 reinhard.muel...@bytewise.at-20100503115129-uvondrz5bvkqubyv 3119 reinhard.muel...@bytewise.at-20100505081835-9peco6k7a2le0mvg 3120 reinhard.muel...@bytewise.at-20100505084742-wn5vtc4a129z8g28 3121 reinhard.muel...@bytewise.at-20100505092131-m2avvsci5w6aj0rv 3122 reinhard.muel...@bytewise.at-20100519151545-pybk8q2s234vzsf2 3123 reinhard.muel...@bytewise.at-20100525101023-xs7k6pkghh9t6fc3 3124 reinhard.muel...@bytewise.at-20100525114015-rj7eb0xdheqkcuql 3125 reinhard.muel...@bytewise.at-20100525145035-j177jbvu10me4mfp 3126 reinhard.muel...@bytewise.at-20100526111738-ic0wot9z1ulg2y1a 3127 reinhard.muel...@bytewise.at-20100612121357-1nf23tuj1tveh1lv 3128 reinhard.muel...@bytewise.at-20100929190642-6pp6cwlicgt2bhhs 3129 reinhard.muel...@bytewise.at-20100929190817-bje4kkvrjrpanut1 3130 reinhard.muel...@bytewise.at-20101016191602-kceb6hdjytt4im93 3131 reinhard.muel...@bytewise.at-20101020175112-o65lqy8lejjrvzaz 3132 reinhard.muel...@bytewise.at-20101020195535-gb2bt2h80mu5j5h4 3133 reinhard.muel...@bytewise.at-20101020203525-nvdwy7b9r84bngco 3134 reinhard.muel...@bytewise.at-20101028150844-49qu2auedxl5b5kv 3135 reinhard.muel...@bytewise.at-20101028152619-p6ytgkke9zw38o7a 3136 reinhard.muel...@bytewise.at-20101102085744-sfxbu24ep3nwxixc 3137 reinhard.muel...@bytewise.at-20101102085857-sgtswbhhj0baf9d7 3138 reinhard.muel...@bytewise.at-20101103071215-929sbj5boj2wcxuu 3139 reinhard.muel...@bytewise.at-20101114130053-ueyx4ilszsilw6hc 3140 reinhard.muel...@bytewise.at-20101114183532-h66yegryl7hcen0f 3141 reinhard.muel...@bytewise.at-20101130142356-cxfqmitx4trkjcja + 3116 reinhard.muel...@bytewise.at-20100426083315-ccfwx2pihuvqn60z 3117 reinhard.muel...@bytewise.at-20100503114756-unpxm52de0towufo 3118 reinhard.muel...@bytewise.at-20100503115129-uvondrz5bvkqubyv 3119 reinhard.muel...@bytewise.at-20100505081835-9peco6k7a2le0mvg 3120 reinhard.muel...@bytewise.at-20100505084742-wn5vtc4a129z8g28 3121 reinhard.muel...@bytewise.at-20100505092131-m2avvsci5w6aj0rv 3122 reinhard.muel...@bytewise.at-20100519151545-pybk8q2s234vzsf2 3123 reinhard.muel...@bytewise.at-20100525101023-xs7k6pkghh9t6fc3 3124 reinhard.muel...@bytewise.at-20100525114015-rj7eb0xdheqkcuql 3125 reinhard.muel...@bytewise.at-20100525145035-j177jbvu10me4mfp 3126 reinhard.muel...@bytewise.at-20100526111738-ic0wot9z1ulg2y1a 3127 reinhard.muel...@bytewise.at-20100612121357-1nf23tuj1tveh1lv 3128 reinhard.muel...@bytewise.at-20100929190642-6pp6cwlicgt2bhhs 3129 reinhard.muel...@bytewise.at-20100929190817-bje4kkvrjrpanut1 3130 reinhard.muel...@bytewise.at-20101016191602-kceb6hdjytt4im93 3131 reinhard.muel...@bytewise.at-20101020175112-o65lqy8lejjrvzaz 3132 reinhard.muel...@bytewise.at-20101020195535-gb2bt2h80mu5j5h4 3133 reinhard.muel...@bytewise.at-20101020203525-nvdwy7b9r84bngco 3134 reinhard.muel...@bytewise.at-20101028150844-49qu2auedxl5b5kv 3135 reinhard.muel...@bytewise.at-20101028152619-p6ytgkke9zw38o7a 3136 reinhard.muel...@bytewise.at-20101102085744-sfxbu24ep3nwxixc 3137 reinhard.muel...@bytewise.at-20101102085857-sgtswbhhj0baf9d7 3138 reinhard.muel...@bytewise.at-20101103071215-929sbj5boj2wcxuu 3139 reinhard.muel...@bytewise.at-20101114130053-ueyx4ilszsilw6hc 3140 reinhard.muel...@bytewise.at-20101114183532-h66yegryl7hcen0f 3141 reinhard.muel...@bytewise.at-20101130142356-cxfqmitx4trkjcja 3142 reinhard.muel...@bytewise.at-20101201235201-z7jjs7xhfmonjcni Name: bzr:text-parents - src/datasources/drivers/Base/Behavior.py svn-v3-single1-dHJ1bmsvZ251ZS1jb21tb24.:3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:9954 + src/datasources/drivers/Base/ResultSet.py reinhard.muel...@bytewise.at-20101028152619-p6ytgkke9zw38o7a Modified: trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py =================================================================== --- trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2010-12-02 20:47:51 UTC (rev 10254) +++ trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2010-12-02 22:24:56 UTC (rev 10255) @@ -925,24 +925,28 @@ else: self.current = self.__cached_records[self.__current_index] - # If the current record has *really* changed (this method can be called - # for non-changing records after requery or merge) to a new current - # record, bring all detail records in sync. + # The following lines are only executed if the current record has + # *really* changed (this method can be called for non-changing records + # after requery or merge) to a new current record. if self.current != old_current: + + # If the cursor moved out of an empty record, throw it away. + if old_current and old_current.isEmpty(): + if old_current in self.__cached_records: + index = self.__cached_records.index(old_current) + self.__remove_record(index) + + # Bring all detail records in sync. if self.current is not None: - if old_current and old_current.isEmpty(): - # If the cursor moved out of an empty record, throw it away - if old_current in self.__cached_records: - index = self.__cached_records.index(old_current) - self.__remove_record(index) self.current._activate() else: # Pointer moved to "no record": Create empty detail resultsets. for detail_ds in self.__details.keys(): detail_ds.clearResultSet() - if send_event and self.__eventController is not None: - self.__eventController.dispatchEvent('dsCursorMoved') + # Send event to update UI. + if send_event and self.__eventController is not None: + self.__eventController.dispatchEvent('dsCursorMoved') # ------------------------------------------------------------------------- @@ -1010,9 +1014,10 @@ if index <= self.__current_index: self.__current_index -= 1 - # ... but don't move below 0 unless there is *really* no record left - if self.__current_index < 0 and self.__record_count: - self.__current_index = 0 + # ... but don't move below 0 unless there is *really* no record + # left. + if self.__current_index < 0 and self.__record_count: + self.__current_index = 0 # ------------------------------------------------------------------------- _______________________________________________ commit-gnue mailing list commit-gnue@gnu.org http://lists.gnu.org/mailman/listinfo/commit-gnue