2006-04-18 Don Allingham <don@gramps-project.org>

* src/Editors/_EditFamily.py: button messages
	* src/DisplayTabs.py: remove property button stuff



svn: r6357
This commit is contained in:
Don Allingham 2006-04-18 23:22:21 +00:00
parent 300debc524
commit 249b1ba53d
3 changed files with 33 additions and 89 deletions

View File

@ -1,3 +1,7 @@
2006-04-18 Don Allingham <don@gramps-project.org>
* src/Editors/_EditFamily.py: button messages
* src/DisplayTabs.py: remove property button stuff
2006-04-18 Alex Roitman <shura@gramps-project.org> 2006-04-18 Alex Roitman <shura@gramps-project.org>
* src/DisplayTabs.py (BackRefList.create_buttons): Allow an * src/DisplayTabs.py (BackRefList.create_buttons): Allow an
additional argument to keep the caller happy. additional argument to keep the caller happy.

View File

@ -121,7 +121,6 @@ class GrampsTab(gtk.HBox):
# build the interface # build the interface
self.share_btn = None self.share_btn = None
self.prop_btn = None
self.build_interface() self.build_interface()
def get_selected(self): def get_selected(self):
@ -208,11 +207,9 @@ class ButtonTab(GrampsTab):
'del' : _('Remove'), 'del' : _('Remove'),
'edit' : _('Edit'), 'edit' : _('Edit'),
'share' : _('Share'), 'share' : _('Share'),
'prop' : _('Properties'),
} }
def __init__(self, dbstate, uistate, track, name, share_button=False, def __init__(self, dbstate, uistate, track, name, share_button=False):
prop_button=False):
""" """
Similar to the base class, except after Build Similar to the base class, except after Build
@param dbstate: The database state. Contains a reference to @param dbstate: The database state. Contains a reference to
@ -231,9 +228,9 @@ class ButtonTab(GrampsTab):
""" """
GrampsTab.__init__(self,dbstate, uistate, track, name) GrampsTab.__init__(self,dbstate, uistate, track, name)
self.tooltips = gtk.Tooltips() self.tooltips = gtk.Tooltips()
self.create_buttons(share_button, prop_button) self.create_buttons(share_button)
def create_buttons(self, share_button=False, prop_button=False): def create_buttons(self, share_button=False):
""" """
Creates a button box consisting of three buttons, one for Add, Creates a button box consisting of three buttons, one for Add,
one for Edit, and one for Delete. This button box is then appended one for Edit, and one for Delete. This button box is then appended
@ -253,13 +250,6 @@ class ButtonTab(GrampsTab):
else: else:
self.share_btn = None self.share_btn = None
if prop_button:
self.prop_btn = SimpleButton(gtk.STOCK_PROPERTIES,
self.prop_button_clicked)
self.tooltips.set_tip(self.prop_btn, self._MSG['prop'])
else:
self.prop_btn = None
vbox = gtk.VBox() vbox = gtk.VBox()
vbox.set_spacing(6) vbox.set_spacing(6)
vbox.pack_start(self.add_btn, False) vbox.pack_start(self.add_btn, False)
@ -267,8 +257,6 @@ class ButtonTab(GrampsTab):
vbox.pack_start(self.share_btn, False) vbox.pack_start(self.share_btn, False)
vbox.pack_start(self.edit_btn, False) vbox.pack_start(self.edit_btn, False)
vbox.pack_start(self.del_btn, False) vbox.pack_start(self.del_btn, False)
if prop_button:
vbox.pack_start(self.prop_btn, False)
vbox.show_all() vbox.show_all()
self.pack_start(vbox, False) self.pack_start(vbox, False)
@ -294,13 +282,6 @@ class ButtonTab(GrampsTab):
""" """
print "Uncaught Share clicked" print "Uncaught Share clicked"
def prop_button_clicked(self, obj):
"""
Function called with the Add button is clicked. This function
should be overridden by the derived class.
"""
print "Uncaught Properties clicked"
def del_button_clicked(self, obj): def del_button_clicked(self, obj):
""" """
Function called with the Delete button is clicked. This function Function called with the Delete button is clicked. This function
@ -325,13 +306,9 @@ class ButtonTab(GrampsTab):
if self.get_selected(): if self.get_selected():
self.edit_btn.set_sensitive(True) self.edit_btn.set_sensitive(True)
self.del_btn.set_sensitive(True) self.del_btn.set_sensitive(True)
if self.prop_btn:
self.prop_btn.set_sensitive(True)
else: else:
self.edit_btn.set_sensitive(False) self.edit_btn.set_sensitive(False)
self.del_btn.set_sensitive(False) self.del_btn.set_sensitive(False)
if self.prop_btn:
self.prop_btn.set_sensitive(False)
class EmbeddedList(ButtonTab): class EmbeddedList(ButtonTab):
""" """
@ -345,13 +322,13 @@ class EmbeddedList(ButtonTab):
_DND_EXTRA = None _DND_EXTRA = None
def __init__(self, dbstate, uistate, track, name, build_model, def __init__(self, dbstate, uistate, track, name, build_model,
share=False, properties=False): share=False):
""" """
Creates a new list, using the passed build_model to Creates a new list, using the passed build_model to
populate the list. populate the list.
""" """
ButtonTab.__init__(self, dbstate, uistate, track, name, share, ButtonTab.__init__(self, dbstate, uistate, track, name, share)
properties)
self.changed = False self.changed = False
self.build_model = build_model self.build_model = build_model
@ -396,10 +373,6 @@ class EmbeddedList(ButtonTab):
(True, gtk.STOCK_REMOVE, self.del_button_clicked), (True, gtk.STOCK_REMOVE, self.del_button_clicked),
] ]
if self.prop_btn:
itemlist.append((True, gtk.STOCK_PROPERTIES,
self.prop_button_clicked))
menu = gtk.Menu() menu = gtk.Menu()
for (image, title, func) in itemlist: for (image, title, func) in itemlist:
if image: if image:
@ -829,7 +802,7 @@ class BackRefList(EmbeddedList):
def is_empty(self): def is_empty(self):
return self.model.empty return self.model.empty
def create_buttons(self, share=False, prop_button=False): def create_buttons(self, share=False):
self.edit_btn = SimpleButton(gtk.STOCK_EDIT, self.edit_button_clicked) self.edit_btn = SimpleButton(gtk.STOCK_EDIT, self.edit_button_clicked)
vbox = gtk.VBox() vbox = gtk.VBox()
@ -1722,6 +1695,13 @@ class SourceEmbedList(EmbeddedList):
_DND_TYPE = DdTargets.SOURCEREF _DND_TYPE = DdTargets.SOURCEREF
_DND_EXTRA = DdTargets.SOURCE_LINK _DND_EXTRA = DdTargets.SOURCE_LINK
_MSG = {
'add' : _('Create and add a new source'),
'del' : _('Remove the existing source'),
'edit' : _('Edit the selected source'),
'share' : _('Add an existing source'),
}
_column_names = [ _column_names = [
(_('ID'), 0, 75), (_('ID'), 0, 75),
(_('Title'), 1, 200), (_('Title'), 1, 200),

View File

@ -90,6 +90,13 @@ class ChildEmbedList(EmbeddedList):
_HANDLE_COL = 10 _HANDLE_COL = 10
_DND_TYPE = DdTargets.PERSON_LINK _DND_TYPE = DdTargets.PERSON_LINK
_MSG = {
'add' : _('Create a new person and add the child to the family'),
'del' : _('Remove the child from the family'),
'edit' : _('Edit the child/family relationship'),
'share' : _('Add an existing person as a child of the family'),
}
_column_names = [ _column_names = [
(_('#'),0) , (_('#'),0) ,
(_('ID'),1) , (_('ID'),1) ,
@ -109,7 +116,7 @@ class ChildEmbedList(EmbeddedList):
""" """
self.family = family self.family = family
EmbeddedList.__init__(self, dbstate, uistate, track, EmbeddedList.__init__(self, dbstate, uistate, track,
_('Children'), ChildModel, True, True) _('Children'), ChildModel, True)
def find_index(self,obj): def find_index(self,obj):
""" """
@ -205,17 +212,6 @@ class ChildEmbedList(EmbeddedList):
self.family.add_child_ref(ref) self.family.add_child_ref(ref)
self.rebuild() self.rebuild()
def prop_button_clicked(self,obj):
handle = self.get_selected()
if handle:
from Editors import EditChildRef
for ref in self.family.get_child_ref_list():
if ref.ref == handle:
EditChildRef(self.dbstate, self.uistate, self.track,
ref, self.child_ref_edited)
break
def child_ref_edited(self, person): def child_ref_edited(self, person):
self.rebuild() self.rebuild()
@ -237,43 +233,6 @@ class ChildEmbedList(EmbeddedList):
self.family.add_child_ref(ref) self.family.add_child_ref(ref)
self.rebuild() self.rebuild()
# def add_button_clicked(self,obj):
# # we could workout the death years of the parents here and
# # set a suitable filter_spec on the PersonSelector
# # we might also be able to set a filter that only includes
# # people that are not already listed as children in another
# # family.
# selector = PersonSelector(self.dbstate,self.uistate,self.track)
# # this need the window handle of the main EditFamily window
# # to make the PersonSelector transient to it. I am not sure
# # want the best way is to get that handle from here.
# #selector.set_transient_for(self.window)
# # Connect this to the method used to add a new child.
# #selector.connect('add-object',self.on_add_child)
# selector.connect('add-object',self.on_change_child)
# def on_change_child(self, selector_window, obj):
# if obj.__class__ == RelLib.Person:
# try:
# person = obj
# self.family.add_child_handle(person.get_handle())
# self.rebuild()
# except:
# log.warn(
# "Failed to update child: \n"
# "obj returned from selector was: %s\n"
# % (repr(obj),))
# raise
# else:
# log.warn(
# "Object selector returned obj.__class__ = %s, it should "
# "have been of type %s." % (obj.__class__.__name__,
# RelLib.Person.__name__))
# selector_window.close()
def run(self,skip): def run(self,skip):
SelectPerson(self.dbstate.db, "Select Child", SelectPerson(self.dbstate.db, "Select Child",
skip=[ x for x in skip if x]) skip=[ x for x in skip if x])
@ -287,12 +246,13 @@ class ChildEmbedList(EmbeddedList):
def edit_button_clicked(self,obj): def edit_button_clicked(self,obj):
handle = self.get_selected() handle = self.get_selected()
if handle: if handle:
from _EditPerson import EditPerson from Editors import EditChildRef
try:
person = self.dbstate.db.get_person_from_handle(handle) for ref in self.family.get_child_ref_list():
EditPerson(self.dbstate,self.uistate,self.track,person) if ref.ref == handle:
except Errors.WindowActiveError: EditChildRef(self.dbstate, self.uistate, self.track,
pass ref, self.child_ref_edited)
break
def north_american(self): def north_american(self):
father_handle = self.family.get_father_handle() father_handle = self.family.get_father_handle()