ChooseParents improvements

svn: r1262
This commit is contained in:
Don Allingham 2003-01-20 03:34:42 +00:00
parent 6e74cbc865
commit 03c75611d6
18 changed files with 4361 additions and 6700 deletions

View File

@ -38,7 +38,6 @@ from intl import gettext as _
# GTK/Gnome modules
#
#-------------------------------------------------------------------------
import gobject
import gtk.glade
#-------------------------------------------------------------------------
@ -51,11 +50,10 @@ import const
import Utils
import GrampsCfg
import ListModel
import Date
_titles = [(_('Name'),3,200),(_('ID'),1,50),(_('Birth Date'),4,50),('',0,50),('',0,0)]
#-------------------------------------------------------------------------
#
# ChooseParents
@ -83,7 +81,9 @@ class ChooseParents:
self.full_update = full_update
self.old_type = ""
self.type = ""
self.date = person.getBirth().getDateObj()
if self.family:
self.father = self.family.getFather()
self.mother = self.family.getMother()
@ -102,9 +102,10 @@ class ChooseParents:
self.mother_list = self.glade.get_widget("mother_list")
self.flabel = self.glade.get_widget("flabel")
self.mlabel = self.glade.get_widget("mlabel")
self.showall = self.glade.get_widget('showall')
self.fcombo.set_popdown_strings(const.familyRelations)
self.fmodel = ListModel.ListModel(self.father_list, _titles,
self.father_list_select_row)
self.mmodel = ListModel.ListModel(self.mother_list, _titles,
@ -132,6 +133,7 @@ class ChooseParents:
"on_save_parents_clicked" : self.save_parents_clicked,
"on_add_parent_clicked" : self.add_parent_clicked,
"on_prel_changed" : self.parent_relation_changed,
"on_showall_toggled" : self.showall_toggled,
"destroy_passed_object" : Utils.destroy_passed_object
})
@ -155,12 +157,18 @@ class ChooseParents:
else:
mid = None
compare = self.date.isValid() and not self.showall.get_active()
for key in self.db.getPersonKeys():
if pkey == key:
continue
if gender == const.unknown:
continue
p = self.db.getPerson(key)
if compare and self.not_likely(p):
continue
d = self.db.getPersonDisplay(key)
info = [d[0],d[1],d[3],d[5],d[6]]
if self.type == "Partners":
@ -178,12 +186,25 @@ class ChooseParents:
self.mlabel.set_label(_("Mother"))
self.flabel.set_label(_("Father"))
def not_likely(self,person):
"""
Rough attempt to eliminate a few non-realistic relationships. If the person
was born after the primary person, he or she can't be a parent.
"""
bdate = person.getBirth().getDateObj()
if bdate.isValid() and Date.compare_dates(self.date,bdate) < 1:
return 1
return 0
def parent_relation_changed(self,obj):
"""Called everytime the parent relationship information is changegd"""
self.old_type = self.type
self.type = const.save_frel(obj.get_text())
if self.old_type == "Partners" or self.type == "Partners":
self.redraw()
def showall_toggled(self,obj):
self.redraw()
def find_family(self,father,mother):
"""

File diff suppressed because it is too large Load Diff

View File

@ -81,7 +81,6 @@ revisionFile = "%s/revision.glade" % rootDir
srcselFile = "%s/srcsel.glade" % rootDir
findFile = "%s/find.glade" % rootDir
mergeFile = "%s/mergedata.glade" % rootDir
traceFile = "%s/trace.glade" % rootDir
filterFile = "%s/rule.glade" % rootDir
pluginsDir = "%s/plugins" % rootDir
@ -101,7 +100,7 @@ startup = 1
#-------------------------------------------------------------------------
progName = "GRAMPS"
version = "@VERSIONSTRING@"
copyright = "© 2001-2002 Donald N. Allingham"
copyright = "© 2001-2003 Donald N. Allingham"
authors = ["Donald N. Allingham", "David Hampton","Donald A. Peterson"]
comments = _("GRAMPS (Genealogical Research and Analysis "
"Management Programming System) is a personal "

View File

@ -11,6 +11,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -692,6 +693,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -1150,6 +1152,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -1506,6 +1509,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -2193,6 +2197,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -2443,6 +2448,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">

View File

@ -13,6 +13,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<signal name="delete_event" handler="on_delete_event"/>

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,7 @@
<property name="default_width">400</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -366,6 +367,7 @@
<property name="default_height">450</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -1291,6 +1293,7 @@
<property name="default_height">400</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">

View File

@ -13,6 +13,7 @@
<property name="default_width">550</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<signal name="delete_event" handler="on_delete_event"/>

File diff suppressed because it is too large Load Diff

View File

@ -14,6 +14,7 @@
<property name="default_height">450</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">

View File

@ -13,6 +13,7 @@
<property name="default_height">350</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -292,7 +293,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.xpm</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">

File diff suppressed because it is too large Load Diff

View File

@ -12,6 +12,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">

View File

@ -13,6 +13,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -199,6 +200,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -330,6 +332,7 @@
<property name="default_height">150</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">

View File

@ -13,6 +13,7 @@
<property name="default_height">400</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -395,6 +396,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -627,6 +629,7 @@
<property name="default_height">350</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -865,6 +868,7 @@
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">

View File

@ -12,6 +12,7 @@
<property name="default_width">450</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -663,6 +664,7 @@
<property name="default_height">300</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">

View File

@ -14,6 +14,7 @@
<property name="default_height">300</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@ -315,6 +316,7 @@
<property name="modal">True</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="icon">gramps.png</property>
<property name="has_separator">True</property>
<child internal-child="vbox">

View File

@ -1,371 +0,0 @@
<?xml version="1.0"?>
<GTK-Interface>
<project>
<name>Gramps</name>
<program_name>gramps</program_name>
<directory></directory>
<source_directory>src</source_directory>
<pixmaps_directory></pixmaps_directory>
<language>C</language>
<gnome_support>True</gnome_support>
<gettext_support>True</gettext_support>
</project>
<widget>
<class>GnomeDialog</class>
<name>report</name>
<title>Report Selection - GRAMPS</title>
<type>GTK_WINDOW_DIALOG</type>
<position>GTK_WIN_POS_NONE</position>
<modal>False</modal>
<allow_shrink>False</allow_shrink>
<allow_grow>True</allow_grow>
<auto_shrink>False</auto_shrink>
<auto_close>False</auto_close>
<hide_on_close>False</hide_on_close>
<widget>
<class>GtkVBox</class>
<child_name>GnomeDialog:vbox</child_name>
<name>vbox35</name>
<homogeneous>False</homogeneous>
<spacing>0</spacing>
<child>
<padding>4</padding>
<expand>True</expand>
<fill>True</fill>
</child>
<widget>
<class>GtkHButtonBox</class>
<child_name>GnomeDialog:action_area</child_name>
<name>hbuttonbox21</name>
<layout_style>GTK_BUTTONBOX_END</layout_style>
<spacing>8</spacing>
<child_min_width>85</child_min_width>
<child_min_height>27</child_min_height>
<child_ipad_x>7</child_ipad_x>
<child_ipad_y>0</child_ipad_y>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>True</fill>
<pack>GTK_PACK_END</pack>
</child>
<widget>
<class>GtkButton</class>
<name>button104</name>
<can_default>True</can_default>
<can_focus>True</can_focus>
<signal>
<name>clicked</name>
<handler>on_report_ok_clicked</handler>
<object>report</object>
<last_modification_time>Thu, 22 Mar 2001 21:28:02 GMT</last_modification_time>
</signal>
<stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
</widget>
<widget>
<class>GtkButton</class>
<name>button105</name>
<can_default>True</can_default>
<can_focus>True</can_focus>
<signal>
<name>clicked</name>
<handler>on_report_apply_clicked</handler>
<object>report</object>
<last_modification_time>Thu, 22 Mar 2001 21:28:11 GMT</last_modification_time>
</signal>
<stock_button>GNOME_STOCK_BUTTON_APPLY</stock_button>
</widget>
<widget>
<class>GtkButton</class>
<name>button106</name>
<can_default>True</can_default>
<can_focus>True</can_focus>
<signal>
<name>clicked</name>
<handler>destroy_passed_object</handler>
<object>report</object>
<last_modification_time>Sun, 11 Mar 2001 22:54:19 GMT</last_modification_time>
</signal>
<stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
</widget>
</widget>
<widget>
<class>GtkHPaned</class>
<name>hpaned2</name>
<handle_size>10</handle_size>
<gutter_size>6</gutter_size>
<position>0</position>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
<widget>
<class>GtkScrolledWindow</class>
<name>scrolledwindow1</name>
<width>200</width>
<hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy>
<vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy>
<hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy>
<vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy>
<child>
<shrink>False</shrink>
<resize>False</resize>
</child>
<widget>
<class>GtkCTree</class>
<name>tree</name>
<width>250</width>
<height>300</height>
<can_focus>True</can_focus>
<signal>
<name>tree_select_row</name>
<handler>on_tree_select_row</handler>
<last_modification_time>Mon, 08 Apr 2002 00:44:55 GMT</last_modification_time>
</signal>
<columns>1</columns>
<column_widths>80</column_widths>
<selection_mode>GTK_SELECTION_SINGLE</selection_mode>
<show_titles>False</show_titles>
<shadow_type>GTK_SHADOW_IN</shadow_type>
<widget>
<class>GtkLabel</class>
<child_name>CTree:title</child_name>
<name>label63</name>
<label></label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
</widget>
</widget>
</widget>
<widget>
<class>GtkVBox</class>
<name>vbox36</name>
<width>300</width>
<homogeneous>False</homogeneous>
<spacing>0</spacing>
<child>
<shrink>True</shrink>
<resize>True</resize>
</child>
<widget>
<class>GtkHBox</class>
<name>hbox2</name>
<homogeneous>False</homogeneous>
<spacing>0</spacing>
<child>
<padding>20</padding>
<expand>False</expand>
<fill>True</fill>
</child>
<widget>
<class>GnomePixmap</class>
<name>image</name>
<filename>gramps.png</filename>
<child>
<padding>10</padding>
<expand>False</expand>
<fill>True</fill>
</child>
</widget>
<widget>
<class>GtkLabel</class>
<name>title</name>
<label>Report Selection</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>10</xpad>
<ypad>10</ypad>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
</widget>
</widget>
<widget>
<class>GtkHSeparator</class>
<name>hseparator19</name>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>True</fill>
</child>
</widget>
<widget>
<class>GtkLabel</class>
<name>label62</name>
<label></label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0.5</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>10</ypad>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>True</fill>
</child>
</widget>
<widget>
<class>GtkLabel</class>
<name>description</name>
<width>300</width>
<label>Select a report from those available on the left.</label>
<justify>GTK_JUSTIFY_LEFT</justify>
<wrap>True</wrap>
<xalign>0</xalign>
<yalign>0</yalign>
<xpad>10</xpad>
<ypad>20</ypad>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
</widget>
<widget>
<class>GtkHBox</class>
<name>hbox3</name>
<homogeneous>True</homogeneous>
<spacing>0</spacing>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>True</fill>
</child>
<widget>
<class>GtkLabel</class>
<name>report_label</name>
<visible>False</visible>
<label>Report Status</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>1</xalign>
<yalign>0.5</yalign>
<xpad>3</xpad>
<ypad>3</ypad>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
</widget>
<widget>
<class>GtkLabel</class>
<name>report_status</name>
<label></label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
<xalign>0</xalign>
<yalign>0.5</yalign>
<xpad>0</xpad>
<ypad>0</ypad>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
</widget>
</widget>
</widget>
</widget>
</widget>
</widget>
<widget>
<class>GnomeDialog</class>
<name>plugstat</name>
<title>Plugin Status - GRAMPS</title>
<type>GTK_WINDOW_DIALOG</type>
<position>GTK_WIN_POS_NONE</position>
<modal>False</modal>
<allow_shrink>False</allow_shrink>
<allow_grow>True</allow_grow>
<auto_shrink>False</auto_shrink>
<auto_close>False</auto_close>
<hide_on_close>False</hide_on_close>
<widget>
<class>GtkVBox</class>
<child_name>GnomeDialog:vbox</child_name>
<name>vbox37</name>
<width>450</width>
<height>350</height>
<homogeneous>False</homogeneous>
<spacing>8</spacing>
<child>
<padding>4</padding>
<expand>True</expand>
<fill>True</fill>
</child>
<widget>
<class>GtkHButtonBox</class>
<child_name>GnomeDialog:action_area</child_name>
<name>hbuttonbox22</name>
<layout_style>GTK_BUTTONBOX_END</layout_style>
<spacing>8</spacing>
<child_min_width>85</child_min_width>
<child_min_height>27</child_min_height>
<child_ipad_x>7</child_ipad_x>
<child_ipad_y>0</child_ipad_y>
<child>
<padding>0</padding>
<expand>False</expand>
<fill>True</fill>
<pack>GTK_PACK_END</pack>
</child>
<widget>
<class>GtkButton</class>
<name>button107</name>
<can_default>True</can_default>
<can_focus>True</can_focus>
<stock_button>GNOME_STOCK_BUTTON_CLOSE</stock_button>
</widget>
</widget>
<widget>
<class>GnomeLess</class>
<name>text</name>
<width>450</width>
<height>350</height>
<child>
<padding>0</padding>
<expand>True</expand>
<fill>True</fill>
</child>
</widget>
</widget>
</widget>
</GTK-Interface>