* PeopleModel.py: simplify model interface

* EditPerson.py: get_family_from_handle fixes
* EditSource.py: get_family_from_handle fixes
* GraphLayout.py: get_family_from_handle fixes
* ImageSelect.py: get_family_from_handle fixes
* MediaView.py: get_family_from_handle fixes
* MergeData.py: get_family_from_handle fixes
* PlaceView.py: get_family_from_handle fixes
* ReadXML.py: get_family_from_handle fixes
* RelLib.py: get_family_from_handle fixes
* Relationship.py: get_family_from_handle fixes
* SelectChild.py: get_family_from_handle fixes
* SourceView.py: get_family_from_handle fixes
* SubstKeywords.py: get_family_from_handle fixes
* WriteXML.py: get_family_from_handle fixes
* gramps_main.py: get_family_from_handle fixes
* plugins/AncestorChart.py: get_family_from_handle fixes
* plugins/AncestorChart2.py: get_family_from_handle fixes
* plugins/AncestorReport.py: get_family_from_handle fixes
* plugins/Ancestors.py: get_family_from_handle fixes
* plugins/Check.py: get_family_from_handle fixes
* plugins/CountAncestors.py: get_family_from_handle fixes
* plugins/Desbrowser.py: get_family_from_handle fixes
* plugins/DescendReport.py: get_family_from_handle fixes
* plugins/DetAncestralReport.py: get_family_from_handle fixes
* plugins/DetDescendantReport.py: get_family_from_handle fixes
* plugins/FamilyGroup.py: get_family_from_handle fixes
* plugins/FanChart.py: get_family_from_handle fixes
* plugins/FtmStyleAncestors.py: get_family_from_handle fixes
* plugins/FtmStyleDescendants.py: get_family_from_handle fixes
* plugins/GraphViz.py: get_family_from_handle fixes
* plugins/IndivComplete.py: get_family_from_handle fixes
* plugins/IndivSummary.py: get_family_from_handle fixes
* plugins/Merge.py: get_family_from_handle fixes
* plugins/RelGraph.py: get_family_from_handle fixes
* plugins/Verify.py: get_family_from_handle fixes
* plugins/WebPage.py: get_family_from_handle fixes
* plugins/WriteCD.py: get_family_from_handle fixes
* plugins/WritePkg.py: get_family_from_handle fixes
* plugins/rel_de.py: get_family_from_handle fixes
* plugins/rel_hu.py: get_family_from_handle fixes
* plugins/rel_ru.py: get_family_from_handle fixes


svn: r3443
This commit is contained in:
Don Allingham
2004-08-19 21:35:16 +00:00
parent b190a6ffc4
commit bfc08ca83a
44 changed files with 183 additions and 134 deletions

View File

@@ -90,7 +90,6 @@ class PeopleModel(gtk.GenericTreeModel):
maps = self.db.get_people_view_maps()
if maps[0] != None and len(maps[0]) != 0:
self.top_iter2path = maps[0]
self.top_path2iter = maps[1]
self.iter2path = maps[2]
self.path2iter = maps[3]
@@ -125,8 +124,7 @@ class PeopleModel(gtk.GenericTreeModel):
return 0
def rebuild_data(self):
self.top_iter2path = {}
self.top_path2iter = {}
self.top_path2iter = []
self.iter2path = {}
self.path2iter = {}
self.sname_sub = {}
@@ -146,12 +144,10 @@ class PeopleModel(gtk.GenericTreeModel):
else:
self.sname_sub[surname] = [person_handle]
sval = 0
name_list = self.db.get_surname_list()
for name in name_list:
if self.sname_sub.has_key(name):
self.top_iter2path[name] = (sval,)
self.top_path2iter[sval] = name
self.top_path2iter.append(name)
val = 0
entries = self.sname_sub[name]
entries.sort(self.byname)
@@ -160,11 +156,13 @@ class PeopleModel(gtk.GenericTreeModel):
self.iter2path[person_handle] = tpl
self.path2iter[tpl] = person_handle
val += 1
sval += 1
self.db.set_people_view_maps(self.get_maps())
print self.sname_sub
print self.top_path2iter
def get_maps(self):
return (self.top_iter2path,
return (None,
self.top_path2iter,
self.iter2path,
self.path2iter,
@@ -184,7 +182,6 @@ class PeopleModel(gtk.GenericTreeModel):
name_list = self.db.get_surname_list()
for name in name_list:
if self.sname_sub.has_key(name):
self.top_iter2path[name] = (sval,)
self.top_path2iter[sval] = name
if name == surname:
inscol = (sval,)
@@ -203,7 +200,7 @@ class PeopleModel(gtk.GenericTreeModel):
column = val
val += 1
col = self.top_iter2path[surname]
col = self.top_path2iter.index(surname)
mypath = (col[0],column)
if need:
self.row_inserted(inscol,self.get_iter(inscol))
@@ -224,11 +221,15 @@ class PeopleModel(gtk.GenericTreeModel):
def on_get_path(self, node):
'''returns the tree path (a tuple of indices at the various
levels) for a particular node.'''
if self.top_iter2path.has_key(node):
return self.top_iter2path[node]
else:
try:
return (self.top_path2iter.index(node),)
except ValueError:
(surname,index) = self.iter2path[node]
return (self.top_iter2path[surname][0],index)
return (self.top_path2iter.index(surname),index)
except:
print self.top_path2iter
print node
def on_get_column_type(self,index):
"""The visibility column is a boolean, the weight column is an integer,
@@ -254,15 +255,15 @@ class PeopleModel(gtk.GenericTreeModel):
if col == COLUMN_INT_ID:
return iter
elif col == COLUMN_BOLD:
if self.top_iter2path.has_key(iter):
if self.sname_sub.has_key(iter):
return pango.WEIGHT_BOLD
else:
return pango.WEIGHT_NORMAL
elif col == COLUMN_VIEW:
if self.top_iter2path.has_key(iter):
if self.sname_sub.has_key(iter):
return self.top_visible.has_key(iter)
return self.visible.has_key(iter)
elif self.top_iter2path.has_key(iter):
elif self.sname_sub.has_key(iter):
if col == 0:
return iter
else:
@@ -285,10 +286,12 @@ class PeopleModel(gtk.GenericTreeModel):
def on_iter_next(self, node):
'''returns the next node at this level of the tree'''
if self.top_iter2path.has_key(node):
path = self.top_iter2path[node]
return self.top_path2iter.get(path[0]+1)
else:
try:
path = self.top_path2iter.index(node)
if path+1 == len(self.top_path2iter):
return None
return self.top_path2iter[path+1]
except:
(surname,val) = self.iter2path[node]
return self.path2iter.get((surname,val+1))
@@ -302,25 +305,26 @@ class PeopleModel(gtk.GenericTreeModel):
def on_iter_has_child(self, node):
'''returns true if this node has children'''
if node == None:
return len(self.top_iter2path)
return len(self.sname_sub)
if self.sname_sub.has_key(node) and len(self.sname_sub[node]) > 0:
return gtk.TRUE
return gtk.FALSE
def on_iter_n_children(self,node):
if node == None:
return len(self.top_iter2path)
if self.top_iter2path.has_key(node):
return len(self.sname_sub)
try:
return len(self.sname_sub[node])
return 0
except:
return 0
def on_iter_nth_child(self,node,n):
if node == None:
return self.top_path2iter.get(n)
path = self.top_iter2path.get(node)
if path:
return self.path2iter.get((node,n))
else:
try:
path = self.top_path2iter.index(node)
return self.path2iter[(node,n)]
except:
return None
def on_iter_parent(self, node):