2006-05-26 Don Allingham <don@gramps-project.org>
* src/DataViews/_RelationView.py: build skip list for SelectFamily so that * a person cannot be his own parent * src/Editors/_EditFamily.py: don't allow a person to be his own parent * src/Selectors/_BaseSelector.py: Add skipping of handles * src/DisplayModels/_BaseModel.py: Add skipping of handles * src/DisplayModels/_MediaModel.py: Add skipping of handles * src/DisplayModels/_RepositoryModel.py: Add skipping of handles * src/DisplayModels/_SourceModel.py: Add skipping of handles * src/DisplayModels/_EventModel.py: Add skipping of handles * src/DisplayModels/_FamilyModel.py: Add skipping of handles * src/DisplayModels/_PlaceModel.py: Add skipping of handles svn: r6790
This commit is contained in:
@@ -25,7 +25,11 @@
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import locale
|
||||
|
||||
try:
|
||||
set()
|
||||
except:
|
||||
from sets import Set as set
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GNOME/GTK modules
|
||||
@@ -48,7 +52,7 @@ from Filters import SearchFilter
|
||||
class BaseModel(gtk.GenericTreeModel):
|
||||
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING,
|
||||
tooltip_column=None, search=None):
|
||||
tooltip_column=None, search=None, skip=set()):
|
||||
gtk.GenericTreeModel.__init__(self)
|
||||
self.prev_handle = None
|
||||
self.prev_data = None
|
||||
@@ -56,7 +60,8 @@ class BaseModel(gtk.GenericTreeModel):
|
||||
self.db = db
|
||||
self.sort_func = self.smap[scol]
|
||||
self.sort_col = scol
|
||||
|
||||
self.skip = skip
|
||||
|
||||
if search:
|
||||
col = search[0]
|
||||
text = search[1]
|
||||
@@ -95,14 +100,15 @@ class BaseModel(gtk.GenericTreeModel):
|
||||
if self.db.is_open():
|
||||
if self.search:
|
||||
self.datalist = [h for h in self.sort_keys()\
|
||||
if self.search.match(h)]
|
||||
if self.search.match(h) and h not in self.skip]
|
||||
else:
|
||||
self.datalist = self.sort_keys()
|
||||
self.datalist = [h for h in self.sort_keys() if h not in self.skip]
|
||||
i = 0
|
||||
self.indexlist = {}
|
||||
for key in self.datalist:
|
||||
self.indexlist[key] = i
|
||||
i += 1
|
||||
if key not in self.skip:
|
||||
self.indexlist[key] = i
|
||||
i += 1
|
||||
else:
|
||||
self.datalist = []
|
||||
self.indexlist = {}
|
||||
|
||||
@@ -27,6 +27,10 @@
|
||||
import time
|
||||
import logging
|
||||
log = logging.getLogger(".")
|
||||
try:
|
||||
set()
|
||||
except:
|
||||
from sets import Set as set
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@@ -54,7 +58,8 @@ from _BaseModel import BaseModel
|
||||
#-------------------------------------------------------------------------
|
||||
class EventModel(BaseModel):
|
||||
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None):
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None,
|
||||
skip=set()):
|
||||
self.gen_cursor = db.get_event_cursor
|
||||
self.map = db.get_raw_event_data
|
||||
|
||||
@@ -81,7 +86,7 @@ class EventModel(BaseModel):
|
||||
self.column_tooltip,
|
||||
]
|
||||
BaseModel.__init__(self, db, scol, order, tooltip_column=8,
|
||||
search=search)
|
||||
search=search, skip=skip)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
@@ -28,6 +28,11 @@ import time
|
||||
import logging
|
||||
log = logging.getLogger(".")
|
||||
|
||||
try:
|
||||
set()
|
||||
except:
|
||||
from sets import Set as set
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GNOME/GTK modules
|
||||
@@ -55,7 +60,8 @@ from _BaseModel import BaseModel
|
||||
#-------------------------------------------------------------------------
|
||||
class FamilyModel(BaseModel):
|
||||
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None):
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None,
|
||||
skip=set()):
|
||||
self.gen_cursor = db.get_family_cursor
|
||||
self.map = db.get_raw_family_data
|
||||
self.fmap = [
|
||||
@@ -77,7 +83,7 @@ class FamilyModel(BaseModel):
|
||||
self.column_tooltip
|
||||
]
|
||||
BaseModel.__init__(self, db, scol, order, tooltip_column=6,
|
||||
search=search)
|
||||
search=search, skip=skip)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
@@ -29,6 +29,11 @@ from gettext import gettext as _
|
||||
import logging
|
||||
log = logging.getLogger(".")
|
||||
|
||||
try:
|
||||
set()
|
||||
except:
|
||||
from sets import Set as set
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GNOME/GTK modules
|
||||
@@ -55,7 +60,8 @@ from _BaseModel import BaseModel
|
||||
#-------------------------------------------------------------------------
|
||||
class MediaModel(BaseModel):
|
||||
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None):
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None,
|
||||
skip=set()):
|
||||
self.gen_cursor = db.get_media_cursor
|
||||
self.map = db.get_raw_object_data
|
||||
|
||||
@@ -79,7 +85,7 @@ class MediaModel(BaseModel):
|
||||
self.column_handle,
|
||||
]
|
||||
BaseModel.__init__(self, db, scol, order, tooltip_column=7,
|
||||
search=search)
|
||||
search=search, skip=skip)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
@@ -28,6 +28,11 @@ import time
|
||||
import logging
|
||||
log = logging.getLogger(".")
|
||||
|
||||
try:
|
||||
set()
|
||||
except:
|
||||
from sets import Set as set
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GNOME/GTK modules
|
||||
@@ -52,7 +57,8 @@ from _BaseModel import BaseModel
|
||||
#-------------------------------------------------------------------------
|
||||
class PlaceModel(BaseModel):
|
||||
|
||||
def __init__(self,db,scol=0,order=gtk.SORT_ASCENDING,search=None):
|
||||
def __init__(self,db,scol=0,order=gtk.SORT_ASCENDING,search=None,
|
||||
skip=set()):
|
||||
self.gen_cursor = db.get_place_cursor
|
||||
self.map = db.get_raw_place_data
|
||||
self.fmap = [
|
||||
@@ -85,7 +91,7 @@ class PlaceModel(BaseModel):
|
||||
self.column_handle,
|
||||
]
|
||||
BaseModel.__init__(self, db, scol, order, tooltip_column=12,
|
||||
search=search)
|
||||
search=search, skip=skip)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
@@ -28,6 +28,11 @@ import time
|
||||
import logging
|
||||
log = logging.getLogger(".")
|
||||
|
||||
try:
|
||||
set()
|
||||
except:
|
||||
from sets import Set as set
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GNOME/GTK modules
|
||||
@@ -53,7 +58,8 @@ from _BaseModel import BaseModel
|
||||
#-------------------------------------------------------------------------
|
||||
class RepositoryModel(BaseModel):
|
||||
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None):
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None,
|
||||
skip=set()):
|
||||
self.gen_cursor = db.get_repository_cursor
|
||||
self.get_handles = db.get_repository_handles
|
||||
self.map = db.get_raw_repository_data
|
||||
@@ -91,7 +97,7 @@ class RepositoryModel(BaseModel):
|
||||
]
|
||||
|
||||
BaseModel.__init__(self, db, scol, order, tooltip_column=12,
|
||||
search=search)
|
||||
search=search, skip=skip)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
@@ -28,6 +28,11 @@ import time
|
||||
import logging
|
||||
log = logging.getLogger(".")
|
||||
|
||||
try:
|
||||
set()
|
||||
except:
|
||||
from sets import Set as set
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GNOME/GTK modules
|
||||
@@ -52,7 +57,8 @@ from _BaseModel import BaseModel
|
||||
#-------------------------------------------------------------------------
|
||||
class SourceModel(BaseModel):
|
||||
|
||||
def __init__(self,db,scol=0,order=gtk.SORT_ASCENDING,search=None):
|
||||
def __init__(self,db,scol=0,order=gtk.SORT_ASCENDING,search=None,
|
||||
skip=set()):
|
||||
self.map = db.get_raw_source_data
|
||||
self.gen_cursor = db.get_source_cursor
|
||||
self.fmap = [
|
||||
@@ -73,7 +79,8 @@ class SourceModel(BaseModel):
|
||||
self.column_pubinfo,
|
||||
self.sort_change,
|
||||
]
|
||||
BaseModel.__init__(self,db,scol,order,tooltip_column=7,search=search)
|
||||
BaseModel.__init__(self,db,scol,order,tooltip_column=7,search=search,
|
||||
skip=skip)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
Reference in New Issue
Block a user