* src/DisplayModels.py: use dirty flag to only draw when requested

* src/PageView.py: use dirty flag to only draw when requested
* src/PeopleView.py: use dirty flag to only draw when requested
* src/PeopleModel.py: provide simple caching
* src/ViewManager.py: control dirty flags


svn: r5803
This commit is contained in:
Don Allingham
2006-01-20 05:33:38 +00:00
parent 8c439b364e
commit c5fc889410
7 changed files with 92 additions and 26 deletions

View File

@ -112,8 +112,10 @@ class PeopleModel(gtk.GenericTreeModel):
self.sortnames = {}
self.marker_color_column = 11
self.tooltip_column = 12
self.prev_handle = None
self.prev_data = None
self.rebuild_data(data_filter)
def rebuild_data(self,data_filter=None,skip=None):
self.calculate_data(data_filter,skip)
self.assign_data()
@ -236,7 +238,10 @@ class PeopleModel(gtk.GenericTreeModel):
# return values for 'data' row, calling a function
# according to column_defs table
try:
return COLUMN_DEFS[col][COLUMN_DEF_LIST](self,self.db.get_raw_person_data(str(node)),node)
if node != self.prev_handle:
self.prev_data = self.db.get_raw_person_data(str(node))
self.prev_handle = node
return COLUMN_DEFS[col][COLUMN_DEF_LIST](self,self.prev_data,node)
except:
print "".join(traceback.format_exception(*sys.exc_info()))
return u'error'