From 3f12ec95636b326b9eca645766f0a5716d17a228 Mon Sep 17 00:00:00 2001 From: Don Allingham Date: Wed, 2 Mar 2005 20:48:58 +0000 Subject: [PATCH] * src/AddSpouse.py: use ComboBox instead of ComboBoxEntry for handling child/parent relationships * src/ChooseParents.py: use ComboBox instead of ComboBoxEntry for handling child/parent relationships * src/FamilyView.py: use ModifyParents instead of EditRel * src/SelectChild.py: use ComboBox instead of ComboBoxEntry for handling child/parent relationships. Remove EditRel class * src/gramps.glade: use ComboBox instead of ComboBoxEntry for handling child/parent relationships, delete editrel svn: r4109 --- gramps2/ChangeLog | 11 + gramps2/src/AddSpouse.py | 1 - gramps2/src/ChooseParents.py | 250 ++--- gramps2/src/FamilyView.py | 6 +- gramps2/src/SelectChild.py | 63 +- gramps2/src/gramps.glade | 2004 ++-------------------------------- 6 files changed, 253 insertions(+), 2082 deletions(-) diff --git a/gramps2/ChangeLog b/gramps2/ChangeLog index 774298462..03d98eccc 100644 --- a/gramps2/ChangeLog +++ b/gramps2/ChangeLog @@ -1,3 +1,14 @@ +2005-03-02 Don Allingham + * src/AddSpouse.py: use ComboBox instead of ComboBoxEntry for + handling child/parent relationships + * src/ChooseParents.py: use ComboBox instead of ComboBoxEntry for + handling child/parent relationships + * src/FamilyView.py: use ModifyParents instead of EditRel + * src/SelectChild.py: use ComboBox instead of ComboBoxEntry for + handling child/parent relationships. Remove EditRel class + * src/gramps.glade: use ComboBox instead of ComboBoxEntry for + handling child/parent relationships, delete editrel + 2005-03-02 Alex Roitman * src/DbPrompter.py (ImportDbPrompter.chooser): Explicitly import XML and GEDCOM. diff --git a/gramps2/src/AddSpouse.py b/gramps2/src/AddSpouse.py index aa12a63e8..129545c58 100644 --- a/gramps2/src/AddSpouse.py +++ b/gramps2/src/AddSpouse.py @@ -136,7 +136,6 @@ class AddSpouse: "on_spouse_help_clicked" : self.on_spouse_help_clicked, "on_show_toggled" : self.on_show_toggled, "on_new_spouse_clicked" : self.new_spouse_clicked, - "on_rel_type_changed" : self.relation_type_changed, "destroy_passed_object" : Utils.destroy_passed_object }) diff --git a/gramps2/src/ChooseParents.py b/gramps2/src/ChooseParents.py index b06015d3c..0dd001f79 100644 --- a/gramps2/src/ChooseParents.py +++ b/gramps2/src/ChooseParents.py @@ -54,6 +54,7 @@ import const import Utils import PeopleModel import NameDisplay +import GenericFilter from QuestionDialog import ErrorDialog #------------------------------------------------------------------------- @@ -92,8 +93,11 @@ class ChooseParents: self.renderer = gtk.CellRendererText() # set default filters - self.father_filter = self.likely_father_filter - self.mother_filter = self.likely_mother_filter + self.father_filter = GenericFilter.GenericFilter() + self.father_filter.add_rule(GenericFilter.IsMale([])) + + self.mother_filter = GenericFilter.GenericFilter() + self.mother_filter.add_rule(GenericFilter.IsFemale([])) birth_event = self.db.get_event_from_handle(self.person.get_birth_handle()) if birth_event: @@ -122,8 +126,8 @@ class ChooseParents: Utils.set_titles(self.top,self.glade.get_widget('title'), self.title_text,_('Choose Parents')) - self.mother_rel = self.glade.get_widget("mrel") - self.father_rel = self.glade.get_widget("frel") + self.mcombo = self.glade.get_widget("mcombo") + self.fcombo = self.glade.get_widget("fcombo") self.prel = self.glade.get_widget("prel_combo") self.title = self.glade.get_widget("chooseTitle") self.father_list = self.glade.get_widget("father_list") @@ -132,6 +136,7 @@ class ChooseParents: self.mlabel = self.glade.get_widget("mlabel") self.showallf = self.glade.get_widget('showallf') self.showallm = self.glade.get_widget('showallm') + self.add_itself_to_menu() self.build_father_list() self.build_mother_list() @@ -139,15 +144,15 @@ class ChooseParents: if gtk.gdk.screen_height() > 700: self.father_list.set_size_request(-1,150) self.mother_list.set_size_request(-1,150) - + for (f,mr,fr) in self.person.get_parent_family_handle_list(): if f == self.family: - self.mother_rel.set_text(_(mr)) - self.father_rel.set_text(_(fr)) + mrel = mr + frel = fr break else: - self.mother_rel.set_text(_("Birth")) - self.father_rel.set_text(_("Birth")) + mrel = "Birth" + frel = "Birth" if self.family: self.type = self.family.get_relationship() @@ -158,18 +163,44 @@ class ChooseParents: self.redrawm() self.glade.signal_autoconnect({ - "on_save_parents_clicked" : self.save_parents_clicked, "on_add_parent_clicked" : self.add_parent_clicked, "on_prel_changed" : self.parent_relation_changed, - "on_showallf_toggled" : self.showallf_toggled, - "on_showallm_toggled" : self.showallm_toggled, - "destroy_passed_object" : self.close, + #"on_showallf_toggled" : self.showallf_toggled, + #"on_showallm_toggled" : self.showallm_toggled, + #"destroy_passed_object" : self.close, "on_help_familyDialog_clicked" : self.on_help_clicked, "on_familyDialog_delete_event" : self.on_delete_event, }) - self.add_itself_to_menu() - self.top.show() + values = const.child_relations.get_values() + self.keys = [] + for value in values: + self.keys.append(const.child_relations.find_key(value)) + self.keys.sort() + + self.build_list(self.mcombo,mr) + self.build_list(self.fcombo,fr) + + self.val = self.top.run() + if self.val == gtk.RESPONSE_OK: + self.save_parents_clicked(None) + self.close(None) + + def build_list(self,opt_menu,sel): + cell = gtk.CellRendererText() + opt_menu.pack_start(cell,True) + opt_menu.add_attribute(cell,'text',0) + + store = gtk.ListStore(str) + sel_index = 0 + index = 0 + for val in self.keys: + if _(sel) == val: + sel_index = index + index += 1 + store.append(row=[val]) + opt_menu.set_model(store) + opt_menu.set_active(sel_index) def build_father_list(self): self.father_selection = self.father_list.get_selection() @@ -202,14 +233,14 @@ class ChooseParents: tree.append_column(column) def on_delete_event(self,obj,b): - self.close_child_windows() self.remove_itself_from_menu() + self.close_child_windows() def close(self,obj): - self.close_child_windows() self.remove_itself_from_menu() + self.close_child_windows() self.top.destroy() - + def close_child_windows(self): for child_window in self.child_windows.values(): child_window.close(None) @@ -246,88 +277,9 @@ class ChooseParents: def all_females_filter(self,person): return (person.get_gender() == RelLib.Person.FEMALE) - def likely_father_filter(self,person): - if person.get_gender() != RelLib.Person.MALE: - return 0 - if self.exclude.has_key(person.get_handle()): - return 0 - return self.likely_filter(person) - - def likely_mother_filter(self,person): - if person.get_gender() != RelLib.Person.FEMALE: - return 0 - if self.exclude.has_key(person.get_handle()): - return 0 - return self.likely_filter(person) - - def likely_filter(self,person): - if person.get_handle() == self.person.get_handle(): - return 0 - birth_event = self.db.get_event_from_handle(person.get_birth_handle()) - if birth_event: - pbday = birth_event.get_date_object() - else: - pbday = None - - death_event = self.db.get_event_from_handle(person.get_death_handle()) - if death_event: - pdday = death_event.get_date_object() - else: - pdday = None - - if self.bday and self.bday.get_year_valid(): - if pbday and pbday.get_year_valid(): - # reject if parents birthdate + 10 > child birthdate - if pbday.get_year()+10 > self.bday.get_high_year(): - return 0 - - # reject if parents birthdate + 90 < child birthdate - if pbday.get_high_year()+90 < self.bday.get_year(): - return 0 - - if pdday and pdday.get_year_valid(): - # reject if parents birthdate + 10 > child deathdate - if self.dday and pbday.get_year()+10 > self.dday.get_high_year(): - return 0 - - if self.dday and self.dday.get_year_valid(): - if pbday and pbday.get_year_valid(): - # reject if parents deathday + 3 < childs birth date - if pdday and self.bday and pdday.get_high_year()+3 < self.bday.get_year(): - return 0 - - if pdday and pdday.get_year_valid(): - # reject if parents deathday + 150 < childs death date - if pdday.get_high_year() + 150 < self.dday.get_year(): - return 0 - return 1 - - def build_exclude_list(self): - self.exclude = { self.person.get_handle() : 1 } - for family_handle in self.person.get_family_handle_list(): - fam = self.db.get_family_from_handle(family_handle) - for handle in [fam.get_father_handle(), fam.get_mother_handle()] + \ - fam.get_child_handle_list(): - if handle: - self.exclude[handle] = 1 - def redrawf(self): """Redraws the potential father list""" - self.build_exclude_list() - self.father_nsort = PeopleModel.PeopleModel(self.db) - - cursor = self.db.get_person_cursor() - data = cursor.first() - while data: - person = RelLib.Person() - person.unserialize(data[1]) - visible = self.father_filter(person) - if visible: - self.father_nsort.set_visible(data[0],visible) - data = cursor.next() - cursor.close() - - self.father_model = gtk.TreeModelSort(self.father_nsort) + self.father_model = PeopleModel.PeopleModel(self.db,self.father_filter) self.father_list.set_model(self.father_model) if self.type == RelLib.Family.CIVIL_UNION: @@ -337,21 +289,7 @@ class ChooseParents: def redrawm(self): """Redraws the potential mother list""" - self.mother_nsort = PeopleModel.PeopleModel(self.db) - self.build_exclude_list() - - cursor = self.db.get_person_cursor() - data = cursor.first() - while data: - person = RelLib.Person() - person.unserialize(data[1]) - visible = self.mother_filter(person) - if visible: - self.mother_nsort.set_visible(data[0],visible) - data = cursor.next() - cursor.close() - - self.mother_model = gtk.TreeModelSort(self.mother_nsort) + self.mother_model = PeopleModel.PeopleModel(self.db,self.mother_filter) self.mother_list.set_model(self.mother_model) if self.type == RelLib.Family.CIVIL_UNION: @@ -492,14 +430,14 @@ class ChooseParents: of the main perosn. """ try: - mother_rel = const.child_relations.find_value(self.mother_rel.get_text()) + mother_rel = self.keys[self.mcombo.get_active()] except KeyError: - mother_rel = const.child_relations.find_value("Birth") + mother_rel = "Birth" try: - father_rel = const.child_relations.find_value(self.father_rel.get_text()) + father_rel = self.keys[self.fcombo.get_active()] except KeyError: - father_rel = const.child_relations.find_value("Birth") + father_rel = "Birth" trans = self.db.transaction_begin() if self.father or self.mother: @@ -548,7 +486,6 @@ class ChooseParents: self.db.commit_family(self.family,trans) self.family_update(None) self.db.transaction_commit(trans,_("Choose Parents")) - self.close(obj) def add_new_parent(self,epo,val): """Adds a new person to either the father list or the mother list, @@ -604,11 +541,11 @@ class ChooseParents: if mother_rel == fam[1] and father_rel == fam[2]: return if mother_rel != fam[1] or father_rel != fam[2]: - self.person.remove_parent_family_handle(family.get_handle()) - self.person.add_parent_family_handle(family.get_handle(),mother_rel,father_rel) + self.person.remove_parent_family_handle(family_handle) + self.person.add_parent_family_handle(family_handle,mother_rel,father_rel) break else: - self.person.add_parent_family_handle(family.get_handle(),mother_rel,father_rel) + self.person.add_parent_family_handle(family_handle,mother_rel,father_rel) trans = self.db.transaction_begin() self.db.commit_person(self.person,trans) @@ -620,7 +557,8 @@ class ChooseParents: self.db.transaction_commit(trans,_("Choose Parents")) class ModifyParents: - def __init__(self,db,person,family_handle,family_update,full_update,parent_window=None): + def __init__(self, db, person, family_handle, family_update, + full_update, parent_window=None): """ Creates a ChoosePerson dialog box. @@ -661,9 +599,6 @@ class ModifyParents: self.orig_mrel = _(mr) self.orig_frel = _(fr) - self.mother_rel.set_text(self.orig_mrel) - self.father_rel.set_text(self.orig_frel) - self.glade.signal_autoconnect({ "on_parents_help_clicked" : self.on_help_clicked, }) @@ -682,35 +617,61 @@ class ModifyParents: fname = NameDisplay.displayer.display(self.father) self.glade.get_widget("fname").set_text(fname) else: - self.father_rel.set_sensitive(0) + self.father_rel.set_sensitive(False) if self.mother: mname = NameDisplay.displayer.display(self.mother) self.glade.get_widget("mname").set_text(mname) else: - self.mother_rel.set_sensitive(0) + self.mother_rel.set_sensitive(False) self.pref = self.glade.get_widget('preferred') if len(self.person.get_parent_family_handle_list()) > 1: self.glade.get_widget('pref_label').show() self.pref.show() if self.family == self.person.get_parent_family_handle_list()[0]: - self.pref.set_active(1) + self.pref.set_active(True) else: - self.pref.set_active(0) + self.pref.set_active(False) if parent_window: self.top.set_transient_for(parent_window) - self.glade.get_widget('fcombo').set_sensitive(False) - self.glade.get_widget('mcombo').set_sensitive(False) - self.glade.get_widget('ok').set_sensitive(False) - + self.fcombo = self.glade.get_widget('fcombo') + self.mcombo = self.glade.get_widget('mcombo') + + if self.db.readonly: + self.fcombo.set_sensitive(False) + self.mcombo.set_sensitive(False) + self.glade.get_widget('ok').set_sensitive(False) + + values = const.child_relations.get_values() + self.keys = [] + for value in values: + self.keys.append(const.child_relations.find_key(value)) + self.keys.sort() + + self.build_list(self.mcombo,self.orig_mrel) + self.build_list(self.fcombo,self.orig_frel) + self.val = self.top.run() if self.val == gtk.RESPONSE_OK: self.save_parents_clicked() self.top.destroy() + def build_list(self,opt_menu,sel): + cell = gtk.CellRendererText() + + store = gtk.ListStore(str) + sel_index = 0 + index = 0 + for val in self.keys: + if _(sel) == val: + sel_index = index + index += 1 + store.append(row=[val]) + opt_menu.set_model(store) + opt_menu.set_active(sel_index) def on_help_clicked(self,obj): """Display the relevant portion of GRAMPS manual""" @@ -722,14 +683,16 @@ class ModifyParents: Called with the OK button nis pressed. Saves the selected people as parents of the main perosn. """ - mother_rel = const.child_relations.find_value(self.mother_rel.get_text()) - father_rel = const.child_relations.find_value(self.father_rel.get_text()) - mod = 0 + mother_rel = self.keys[self.mcombo.get_active()] + father_rel = self.keys[self.fcombo.get_active()] + mod = False + + fhandle = self.family.get_handle() if mother_rel != self.orig_mrel or father_rel != self.orig_frel: - self.person.remove_parent_family_handle(self.family.get_handle()) - self.person.add_parent_family_handle(self.family.get_handle(),mother_rel,father_rel) - mod = 1 + self.person.remove_parent_family_handle(fhandle) + self.person.add_parent_family_handle(fhandle,mother_rel,father_rel) + mod = True if len(self.person.get_parent_family_handle_list()): make_pref = self.pref.get_active() @@ -737,15 +700,16 @@ class ModifyParents: plist = self.person.get_parent_family_handle_list() if make_pref: if self.family != plist[0]: - self.person.set_main_parent_family_handle(self.family.get_handle()) - mod = 1 + self.person.set_main_parent_family_handle(fhandle) + mod = True else: if self.family == plist[0]: self.person.set_main_parent_family_handle(plist[0]) - mod = 1 + mod = True if mod: trans = self.db.transaction_begin() self.db.commit_person(self.person,trans) self.db.transaction_commit(trans,_("Modify Parents")) - self.family_update(None) + if self.family_update: + self.family_update(None) diff --git a/gramps2/src/FamilyView.py b/gramps2/src/FamilyView.py index 29b8476dc..e340e89d0 100644 --- a/gramps2/src/FamilyView.py +++ b/gramps2/src/FamilyView.py @@ -546,11 +546,13 @@ class FamilyView: def child_rel(self,obj): handle = obj.get_data('o') person = self.parent.db.get_person_from_handle(handle) - SelectChild.EditRel(self.parent.db,person,self.family,self.load_family) + ChooseParents.ModifyParents(self.parent.db, person, self.family.get_handle(), + None,self.load_family) def child_rel_by_id(self,handle): person = self.parent.db.get_person_from_handle(handle) - SelectChild.EditRel(self.parent.db,person,self.family,self.load_family) + ChooseParents.ModifyParents(self.parent.db, person, self.family.get_handle(), + None,self.load_family) def spouse_changed(self,obj): if self.in_drag: diff --git a/gramps2/src/SelectChild.py b/gramps2/src/SelectChild.py index e2a7ca0d2..63b3bbcb1 100644 --- a/gramps2/src/SelectChild.py +++ b/gramps2/src/SelectChild.py @@ -87,39 +87,26 @@ class SelectChild: self.add_child = self.xml.get_widget("childlist") - if (self.family): + self.mrel = self.xml.get_widget("mrel_combo") + self.frel = self.xml.get_widget("frel_combo") + + values = const.child_relations.get_values() + self.keys = [] + for value in values: + self.keys.append(const.child_relations.find_key(value)) + self.keys.sort() + + self.build_list(self.mrel,"Birth") + self.build_list(self.frel,"Birth") + + if self.family: father = self.db.get_person_from_handle(self.family.get_father_handle()) mother = self.db.get_person_from_handle(self.family.get_mother_handle()) - - if father != None: - fname = NameDisplay.displayer.display(father) - label = _("Relationship to %(father)s") % { - 'father' : fname - } - self.xml.get_widget("flabel").set_text(label) - - if mother != None: - mname = NameDisplay.displayer.display(mother) - label = _("Relationship to %(mother)s") % { - 'mother' : mname - } - self.xml.get_widget("mlabel").set_text(label) else: - fname = NameDisplay.displayer.display(self.person) - label = _("Relationship to %s") % fname - if self.person.get_gender() == RelLib.Person.MALE: - self.xml.get_widget("flabel").set_text(label) - self.xml.get_widget("mrel_combo").set_sensitive(0) + self.mrel.set_sensitive(False) else: - self.xml.get_widget("mlabel").set_text(label) - self.xml.get_widget("frel_combo").set_sensitive(0) - - self.mrel = self.xml.get_widget("mrel") - self.frel = self.xml.get_widget("frel") - self.mrel.set_text(_("Birth")) - - self.frel.set_text(_("Birth")) + self.frel.set_sensitive(False) self.refmodel = PeopleModel.PeopleModel(self.db) @@ -129,6 +116,22 @@ class SelectChild: self.add_columns(self.add_child) self.top.show() + def build_list(self,opt_menu,sel): + cell = gtk.CellRendererText() + opt_menu.pack_start(cell,True) + opt_menu.add_attribute(cell,'text',0) + + store = gtk.ListStore(str) + sel_index = 0 + index = 0 + for val in self.keys: + if _(sel) == val: + sel_index = index + index += 1 + store.append(row=[val]) + opt_menu.set_model(store) + opt_menu.set_active(sel_index) + def add_columns(self,tree): column = gtk.TreeViewColumn(_('Name'), self.renderer,text=0) column.set_resizable(True) @@ -317,13 +320,13 @@ class SelectChild: self.family.add_child_handle(select_child.get_handle()) - mrel = const.child_relations.find_value(self.mrel.get_text()) + mrel = self.keys[self.mrel.get_active()] mother = self.db.get_person_from_handle(self.family.get_mother_handle()) if mother and mother.get_gender() != RelLib.Person.FEMALE: if mrel == "Birth": mrel = "Unknown" - frel = const.child_relations.find_value(self.frel.get_text()) + frel = self.keys[self.frel.get_active()] father = self.db.get_person_from_handle(self.family.get_father_handle()) if father and father.get_gender() !=RelLib.Person.MALE: if frel == "Birth": diff --git a/gramps2/src/gramps.glade b/gramps2/src/gramps.glade index 8135f2644..51609251d 100644 --- a/gramps2/src/gramps.glade +++ b/gramps2/src/gramps.glade @@ -3949,7 +3949,7 @@ 6 True - 2 + 1 2 False 6 @@ -3983,35 +3983,6 @@ - - - True - Relationship definition - - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 5 - 5 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 1 - 2 - 1 - 2 - fill - - - - True @@ -4206,14 +4177,10 @@ Other 0.5 0 0 - frel PANGO_ELLIPSIZE_NONE -1 False 0 - - - 1 @@ -4238,14 +4205,10 @@ Other 0.5 0 0 - mrel PANGO_ELLIPSIZE_NONE -1 False 0 - - - 1 @@ -4550,448 +4513,6 @@ Other - - - True - True - False - True - True - False - - - - True - True - True - True - 0 - - True - * - False - - - - - - True - GTK_SELECTION_BROWSE - - - - True - - - - True - Birth - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Adopted - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Stepchild - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Foster - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - None - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Unknown - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - - 2 - 3 - 8 - 9 - - - - - - - True - True - False - True - True - False - - - - True - True - True - True - 0 - - True - * - False - - - - - - True - GTK_SELECTION_BROWSE - - - - True - - - - True - Birth - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Adopted - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Stepchild - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Foster - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - None - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Unknown - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - - 2 - 3 - 7 - 8 - - - - True @@ -5013,6 +4534,38 @@ Other fill + + + + True + False + True + + + 2 + 3 + 7 + 8 + fill + fill + + + + + + True + False + True + + + 2 + 3 + 8 + 9 + fill + fill + + 0 @@ -5277,413 +4830,6 @@ Other 6 12 - - - True - True - 0 - - - - True - True - False - True - True - False - - - - True - True - True - True - 0 - - True - * - False - - - - - - True - GTK_SELECTION_BROWSE - - - - True - - - - True - Birth - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Adopted - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Stepchild - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - None - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Unknown - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - - 0 - False - True - - - - - 1 - 2 - 0 - 1 - 5 - fill - fill - - - - - - True - True - False - True - True - False - - - - True - True - True - True - 0 - - True - * - False - - - - - - True - GTK_SELECTION_BROWSE - - - - True - - - - True - Birth - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Adopted - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Stepchild - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - None - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Unknown - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - - 1 - 2 - 1 - 2 - 5 - 5 - - - - True @@ -5725,7 +4871,6 @@ Other 0.5 0 0 - frel PANGO_ELLIPSIZE_NONE -1 False @@ -5740,6 +4885,37 @@ Other + + + + True + False + True + + + 1 + 2 + 1 + 2 + fill + + + + + + True + False + True + + + 1 + 2 + 0 + 1 + fill + fill + + 0 @@ -7062,14 +6238,10 @@ Other 0.5 0 0 - frel PANGO_ELLIPSIZE_NONE -1 False 0 - - - 1 @@ -7081,227 +6253,6 @@ Other - - - True - True - False - True - True - False - - - - True - True - True - True - 0 - - True - * - False - - - - - - True - GTK_SELECTION_BROWSE - - - - True - - - - True - Birth - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Adopted - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Stepchild - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Foster - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - None - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Unknown - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - - 2 - 3 - 2 - 3 - - - - True @@ -7343,14 +6294,12 @@ Other 0.5 0 0 - mrel PANGO_ELLIPSIZE_NONE -1 False 0 Relationship: - @@ -7363,227 +6312,6 @@ Other - - - True - True - False - True - True - False - - - - True - True - True - True - 0 - - True - * - False - - - - - - True - GTK_SELECTION_BROWSE - - - - True - - - - True - Birth - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Adopted - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Stepchild - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Foster - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - None - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Unknown - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - - 2 - 3 - 6 - 7 - - - - True @@ -7716,6 +6444,40 @@ Other + + + + True + + False + True + + + 2 + 3 + 2 + 3 + fill + fill + + + + + + True + + False + True + + + 2 + 3 + 6 + 7 + fill + fill + + 0 @@ -7933,576 +6695,6 @@ Other - - - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - True - True - False - gramps.png - True - False - False - GDK_WINDOW_TYPE_HINT_DIALOG - GDK_GRAVITY_NORTH_WEST - True - False - - - - True - False - 6 - - - - True - GTK_BUTTONBOX_END - - - - True - True - True - gtk-cancel - True - GTK_RELIEF_NORMAL - True - 0 - - - - - - - True - True - True - True - gtk-ok - True - GTK_RELIEF_NORMAL - True - 0 - - - - - - - True - True - True - gtk-help - True - GTK_RELIEF_NORMAL - True - -11 - - - - - - 0 - False - True - GTK_PACK_END - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 6 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 6 - False - False - - - - - - 6 - True - 4 - 2 - False - 6 - 12 - - - - True - True - False - True - True - False - - - - True - True - True - True - 0 - - True - * - False - - - - - - True - GTK_SELECTION_BROWSE - - - - True - - - - True - Birth - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Adopted - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Stepchild - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - None - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Unknown - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - - 1 - 2 - 3 - 4 - - - - - - - True - True - False - True - True - False - - - - True - True - True - True - 0 - - True - * - False - - - - - - True - GTK_SELECTION_BROWSE - - - - True - - - - True - Birth - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Adopted - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Stepchild - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - None - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - Unknown - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - - 1 - 2 - 1 - 2 - - - - - - - True - - True - True - GTK_JUSTIFY_CENTER - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 2 - 0 - 1 - fill - - - - - - - True - - True - True - GTK_JUSTIFY_CENTER - False - False - 0 - 0.5 - 0 - 0 - frel - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - 2 - 2 - 3 - fill - - - - - - 0 - False - True - - - - - - True