* src/DisplayTabs.py: backreference tabs

* src/EditEventRef.py: backreference tabs
* src/EditMedia.py: backreference tabs
* src/EditMediaRef.py: backreference tabs
* src/EditPlace.py: backreference tabs
* src/EditSource.py: backreference tabs
* src/EventEdit.py: backreference tabs
* src/gramps.glade: notebook tab fixes


svn: r5987
This commit is contained in:
Don Allingham
2006-02-24 22:00:20 +00:00
parent 7d7e150749
commit d95c1d7e17
9 changed files with 98 additions and 784 deletions

@@ -652,10 +652,10 @@ class PersonEventEmbedList(EventEmbedList):
#-------------------------------------------------------------------------
#
# SourceBackRefList
# BackRefList
#
#-------------------------------------------------------------------------
class SourceBackRefList(EmbeddedList):
class BackRefList(EmbeddedList):
_HANDLE_COL = 3
@@ -665,18 +665,21 @@ class SourceBackRefList(EmbeddedList):
(_('Name'),2, 250),
]
def __init__(self,dbstate,uistate,track,obj):
def __init__(self,dbstate,uistate,track,obj,refmodel):
self.obj = obj
EmbeddedList.__init__(self, dbstate, uistate, track,
_('References'), SourceBackRefModel)
_('References'), refmodel)
self.model.connect('row-inserted',self.update_label)
def update_label(self,*obj):
if not self.model.empty:
self._set_label()
def close(self):
self.model.close()
def _set_label(self):
self.tab_image.show()
self.label.set_text("<b>%s</b>" % self.tab_name)
self.label.set_use_markup(True)
def is_empty(self):
return self.model.empty
def create_buttons(self,share=False):
self.edit_btn = SimpleButton(gtk.STOCK_EDIT, self.edit_button_clicked)
@@ -693,30 +696,54 @@ class SourceBackRefList(EmbeddedList):
else:
self.edit_btn.set_sensitive(False)
def get_icon_name(self):
return 'gramps-source'
def get_data(self):
return self.obj
def column_order(self):
return ((1,0),(1,1),(1,2))
def add_button_clicked(self,obj):
pass
def del_button_clicked(self,obj):
ref = self.get_selected()
if ref:
ref_list = self.obj.get_event_ref_list()
ref_list.remove(ref)
self.rebuild()
def edit_button_clicked(self,obj):
ref = self.get_selected()
if ref:
print ref
class SourceBackRefList(BackRefList):
def __init__(self,dbstate,uistate,track,obj):
BackRefList.__init__(self, dbstate, uistate, track, obj,
BackRefModel)
def get_icon_name(self):
return 'gramps-source'
class EventBackRefList(BackRefList):
def __init__(self,dbstate,uistate,track,obj):
BackRefList.__init__(self, dbstate, uistate, track, obj,
BackRefModel)
def get_icon_name(self):
return 'gramps-event'
class MediaBackRefList(BackRefList):
def __init__(self,dbstate,uistate,track,obj):
BackRefList.__init__(self, dbstate, uistate, track, obj,
BackRefModel)
def get_icon_name(self):
return 'gramps-media'
class PlaceBackRefList(BackRefList):
def __init__(self,dbstate,uistate,track,obj):
BackRefList.__init__(self, dbstate, uistate, track, obj,
BackRefModel)
def get_icon_name(self):
return 'gramps-place'
#-------------------------------------------------------------------------
#
# DataEmbedList
@@ -1210,7 +1237,6 @@ class GalleryTab(ButtonTab):
obj, ref, self.edit_callback)
def edit_callback(self, name):
print "Callback"
self.changed = True
self.rebuild()
@@ -1479,7 +1505,10 @@ class EventRefModel(gtk.ListStore):
if t == RelLib.EventRef.CUSTOM:
return v
else:
return Utils.event_roles.get(t,"error %d" % t)
try:
return Utils.event_roles[t]
except:
return Utils.family_event_roles.get(t,"error %d" % t)
def column_date(self,event_ref):
event = self.db.get_event_from_handle(event_ref.ref)
@@ -1653,23 +1682,26 @@ class RepoRefModel(gtk.ListStore):
#-------------------------------------------------------------------------
#
# SourceBackRefModel
# BackRefModel
#
#-------------------------------------------------------------------------
class SourceBackRefModel(gtk.ListStore):
class BackRefModel(gtk.ListStore):
def __init__(self,sref_list,db):
gtk.ListStore.__init__(self,str,str,str,str)
self.db = db
self.sref_list = sref_list
self.idle = 0
self.empty = True
self.idle = gobject.idle_add(self.load_model().next)
def close(self):
gobject.source_remove(self.idle)
def load_model(self):
self.empty = True
for ref in self.sref_list:
self.empty = False
dtype = ref[0]
if dtype == 'Person':
p = self.db.get_person_from_handle(ref[1])
@@ -1714,3 +1746,4 @@ class SourceBackRefModel(gtk.ListStore):
yield True
yield False