* src/plugings/FamiyGroup.py: options for "Recursive", "Generation
Number", "Parent Events", "Parent Addresses", "Parent Alternate Names", "Parent Notes". svn: r5830
This commit is contained in:
parent
8eddbe7462
commit
d3753628c9
@ -1,3 +1,8 @@
|
|||||||
|
2006-01-25 Brian Matherly <pez4brian@users.sourceforge.net>
|
||||||
|
* src/plugings/FamiyGroup.py: options for "Recursive", "Generation
|
||||||
|
Number", "Parent Events", "Parent Addresses", "Parent Alternate
|
||||||
|
Names", "Parent Notes".
|
||||||
|
|
||||||
2006-01-16 Alex Roitman <shura@gramps-project.org>
|
2006-01-16 Alex Roitman <shura@gramps-project.org>
|
||||||
* src/GenericFilter.py
|
* src/GenericFilter.py
|
||||||
(IsLessThanNthGenerationAncestorOfBookmarked): Typo.
|
(IsLessThanNthGenerationAncestorOfBookmarked): Typo.
|
||||||
|
@ -46,7 +46,7 @@ import Report
|
|||||||
import BaseDoc
|
import BaseDoc
|
||||||
import ReportOptions
|
import ReportOptions
|
||||||
from DateHandler import displayer as _dd
|
from DateHandler import displayer as _dd
|
||||||
|
import const
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# FamilyGroup
|
# FamilyGroup
|
||||||
@ -71,7 +71,7 @@ class FamilyGroup(Report.Report):
|
|||||||
"""
|
"""
|
||||||
Report.Report.__init__(self,database,person,options_class)
|
Report.Report.__init__(self,database,person,options_class)
|
||||||
|
|
||||||
self.family = None
|
self.family_handle = None
|
||||||
|
|
||||||
spouse_id = options_class.handler.options_dict['spouse_id']
|
spouse_id = options_class.handler.options_dict['spouse_id']
|
||||||
if spouse_id:
|
if spouse_id:
|
||||||
@ -85,9 +85,18 @@ class FamilyGroup(Report.Report):
|
|||||||
this_spouse = database.get_person_from_handle(this_spouse_handle)
|
this_spouse = database.get_person_from_handle(this_spouse_handle)
|
||||||
this_spouse_id = this_spouse.get_gramps_id()
|
this_spouse_id = this_spouse.get_gramps_id()
|
||||||
if spouse_id == this_spouse_id:
|
if spouse_id == this_spouse_id:
|
||||||
self.family = family
|
self.family_handle = family_handle
|
||||||
break
|
break
|
||||||
|
|
||||||
|
self.recursive = options_class.handler.options_dict['recursive']
|
||||||
|
self.missingInfo = options_class.handler.options_dict['missinginfo']
|
||||||
|
self.generations = options_class.handler.options_dict['generations']
|
||||||
|
self.incParEvents = options_class.handler.options_dict['incParEvents']
|
||||||
|
self.incParAddr = options_class.handler.options_dict['incParAddr']
|
||||||
|
self.incParNotes = options_class.handler.options_dict['incParNotes']
|
||||||
|
self.incParNames = options_class.handler.options_dict['incParNames']
|
||||||
|
self.incRelDates = options_class.handler.options_dict['incRelDates']
|
||||||
|
|
||||||
def define_table_styles(self):
|
def define_table_styles(self):
|
||||||
"""
|
"""
|
||||||
Define the table styles used by the report.
|
Define the table styles used by the report.
|
||||||
@ -151,18 +160,58 @@ class FamilyGroup(Report.Report):
|
|||||||
table.set_column_width(3,40)
|
table.set_column_width(3,40)
|
||||||
self.doc.add_table_style('FGR-ChildTable',table)
|
self.doc.add_table_style('FGR-ChildTable',table)
|
||||||
|
|
||||||
|
def dump_parent_event(self,name,event):
|
||||||
|
place = ""
|
||||||
|
date = ""
|
||||||
|
if event:
|
||||||
|
date = event.get_date()
|
||||||
|
place_handle = event.get_place_handle()
|
||||||
|
if place_handle:
|
||||||
|
place = self.database.get_place_from_handle(place_handle).get_title()
|
||||||
|
self.doc.start_row()
|
||||||
|
self.doc.start_cell("FGR-TextContents")
|
||||||
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
|
self.doc.write_text(name)
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.start_cell("FGR-TextContents")
|
||||||
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
|
self.doc.write_text(date)
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.start_cell("FGR-TextContentsEnd")
|
||||||
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
|
self.doc.write_text(place)
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.end_row()
|
||||||
|
|
||||||
|
def dump_parent_line(self,name,text):
|
||||||
|
self.doc.start_row()
|
||||||
|
self.doc.start_cell("FGR-TextContents")
|
||||||
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
|
self.doc.write_text(name)
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.start_cell("FGR-TextContentsEnd",2)
|
||||||
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
|
self.doc.write_text(text)
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.end_row()
|
||||||
|
|
||||||
def dump_parent(self,person_handle):
|
def dump_parent(self,person_handle):
|
||||||
|
|
||||||
if not person_handle:
|
if not person_handle:
|
||||||
return
|
return
|
||||||
|
|
||||||
person = self.database.get_person_from_handle(person_handle)
|
person = self.database.get_person_from_handle(person_handle)
|
||||||
|
|
||||||
if person.get_gender() == RelLib.Person.MALE:
|
if person.get_gender() == RelLib.Person.MALE:
|
||||||
the_id = _("Husband")
|
the_id = _("Husband")
|
||||||
else:
|
else:
|
||||||
the_id = _("Wife")
|
the_id = _("Wife")
|
||||||
|
|
||||||
self.doc.start_table(the_id,'FGR-ParentTable')
|
self.doc.start_table(the_id,'FGR-ParentTable')
|
||||||
self.doc.start_row()
|
self.doc.start_row()
|
||||||
self.doc.start_cell('FGR-ParentHead',3)
|
self.doc.start_cell('FGR-ParentHead',3)
|
||||||
@ -172,62 +221,20 @@ class FamilyGroup(Report.Report):
|
|||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
self.doc.end_cell()
|
self.doc.end_cell()
|
||||||
self.doc.end_row()
|
self.doc.end_row()
|
||||||
|
|
||||||
birth_handle = person.get_birth_handle()
|
birth_handle = person.get_birth_handle()
|
||||||
bdate = ""
|
birth = None
|
||||||
bplace = ""
|
|
||||||
if birth_handle:
|
if birth_handle:
|
||||||
birth = self.database.get_event_from_handle(birth_handle)
|
birth = self.database.get_event_from_handle(birth_handle)
|
||||||
bdate = birth.get_date()
|
if birth or self.missingInfo:
|
||||||
bplace_handle = birth.get_place_handle()
|
self.dump_parent_event(_("Birth"),birth)
|
||||||
if bplace_handle:
|
|
||||||
bplace = self.database.get_place_from_handle(bplace_handle).get_title()
|
|
||||||
|
|
||||||
death_handle = person.get_death_handle()
|
death_handle = person.get_death_handle()
|
||||||
ddate = ""
|
death = None
|
||||||
dplace = ""
|
|
||||||
if death_handle:
|
if death_handle:
|
||||||
death = self.database.get_event_from_handle(death_handle)
|
death = self.database.get_event_from_handle(death_handle)
|
||||||
ddate = death.get_date()
|
if death or self.missingInfo:
|
||||||
dplace_handle = death.get_place_handle()
|
self.dump_parent_event(_("Death"),death)
|
||||||
if dplace_handle:
|
|
||||||
dplace = self.database.get_place_from_handle(dplace_handle).get_title()
|
|
||||||
|
|
||||||
self.doc.start_row()
|
|
||||||
self.doc.start_cell("FGR-TextContents")
|
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.write_text(_("Birth"))
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.start_cell("FGR-TextContents")
|
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.write_text(bdate)
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.start_cell("FGR-TextContentsEnd")
|
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.write_text(bplace)
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.end_row()
|
|
||||||
|
|
||||||
self.doc.start_row()
|
|
||||||
self.doc.start_cell("FGR-TextContents")
|
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.write_text(_("Death"))
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.start_cell("FGR-TextContents")
|
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.write_text(ddate)
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.start_cell("FGR-TextContentsEnd")
|
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.write_text(dplace)
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.end_row()
|
|
||||||
|
|
||||||
family_handle = person.get_main_parents_family_handle()
|
family_handle = person.get_main_parents_family_handle()
|
||||||
father_name = ""
|
father_name = ""
|
||||||
@ -236,36 +243,81 @@ class FamilyGroup(Report.Report):
|
|||||||
family = self.database.get_family_from_handle(family_handle)
|
family = self.database.get_family_from_handle(family_handle)
|
||||||
father_handle = family.get_father_handle()
|
father_handle = family.get_father_handle()
|
||||||
if father_handle:
|
if father_handle:
|
||||||
father_name = self.database.get_person_from_handle(father_handle).get_primary_name().get_regular_name()
|
father = self.database.get_person_from_handle(father_handle)
|
||||||
|
father_name = father.get_primary_name().get_regular_name()
|
||||||
|
if self.incRelDates:
|
||||||
|
birth_handle = father.get_birth_handle()
|
||||||
|
birth = " "
|
||||||
|
if birth_handle:
|
||||||
|
birth = self.database.get_event_from_handle(birth_handle).get_date()
|
||||||
|
death_handle = father.get_death_handle()
|
||||||
|
death = " "
|
||||||
|
if death_handle:
|
||||||
|
death = self.database.get_event_from_handle(death_handle).get_date()
|
||||||
|
if birth_handle or death_handle:
|
||||||
|
father_name = "%s (%s - %s)" % (father_name,birth,death)
|
||||||
mother_handle = family.get_mother_handle()
|
mother_handle = family.get_mother_handle()
|
||||||
if mother_handle:
|
if mother_handle:
|
||||||
mother_name = self.database.get_person_from_handle(mother_handle).get_primary_name().get_regular_name()
|
mother = self.database.get_person_from_handle(mother_handle)
|
||||||
|
mother_name = mother.get_primary_name().get_regular_name()
|
||||||
|
if self.incRelDates:
|
||||||
|
birth_handle = mother.get_birth_handle()
|
||||||
|
birth = " "
|
||||||
|
if birth_handle:
|
||||||
|
birth = self.database.get_event_from_handle(birth_handle).get_date()
|
||||||
|
death_handle = mother.get_death_handle()
|
||||||
|
death = " "
|
||||||
|
if death_handle:
|
||||||
|
death = self.database.get_event_from_handle(death_handle).get_date()
|
||||||
|
if birth_handle or death_handle:
|
||||||
|
mother_name = "%s (%s - %s)" % (mother_name,birth,death)
|
||||||
|
|
||||||
self.doc.start_row()
|
if self.missingInfo or father_name != "":
|
||||||
self.doc.start_cell("FGR-TextContents")
|
self.dump_parent_line(_("Father"),father_name)
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.write_text(_("Father"))
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.start_cell("FGR-TextContentsEnd",2)
|
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.write_text(father_name)
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.end_row()
|
|
||||||
|
|
||||||
self.doc.start_row()
|
if self.missingInfo or mother_name != "":
|
||||||
self.doc.start_cell("FGR-TextContents")
|
self.dump_parent_line(_("Mother"),mother_name)
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.write_text(_("Mother"))
|
if self.incParEvents:
|
||||||
self.doc.end_paragraph()
|
for event_handle in person.get_event_list():
|
||||||
self.doc.end_cell()
|
event = self.database.get_event_from_handle(event_handle)
|
||||||
self.doc.start_cell("FGR-TextContentsEnd",2)
|
evtName = event.get_name()
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
if (evtName != "Death") and (evtName != "Birth"):
|
||||||
self.doc.write_text(mother_name)
|
self.dump_parent_event(evtName,event)
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
if self.incParAddr:
|
||||||
self.doc.end_row()
|
addrlist = person.get_address_list()[:]
|
||||||
|
for addr in addrlist:
|
||||||
|
location = "%s %s %s %s" % (addr.get_street(),addr.get_city(),
|
||||||
|
addr.get_state(),addr.get_country())
|
||||||
|
date = addr.get_date()
|
||||||
|
|
||||||
|
self.doc.start_row()
|
||||||
|
self.doc.start_cell("FGR-TextContents")
|
||||||
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
|
self.doc.write_text(_("Address"))
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.start_cell("FGR-TextContents")
|
||||||
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
|
self.doc.write_text(date)
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.start_cell("FGR-TextContentsEnd")
|
||||||
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
|
self.doc.write_text(location)
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.end_row()
|
||||||
|
|
||||||
|
if self.incParNotes and (person.get_note() != ""):
|
||||||
|
self.dump_parent_line(_("Notes"),person.get_note())
|
||||||
|
|
||||||
|
if self.incParNames:
|
||||||
|
for alt_name in person.get_alternate_names():
|
||||||
|
type = const.NameTypesMap.find_value(alt_name.get_type())
|
||||||
|
name = alt_name.get_regular_name()
|
||||||
|
self.dump_parent_line(type,name)
|
||||||
|
|
||||||
self.doc.end_table()
|
self.doc.end_table()
|
||||||
|
|
||||||
@ -330,11 +382,15 @@ class FamilyGroup(Report.Report):
|
|||||||
death = self.database.get_event_from_handle(death_handle)
|
death = self.database.get_event_from_handle(death_handle)
|
||||||
else:
|
else:
|
||||||
death = None
|
death = None
|
||||||
self.dump_child_event('FGR-TextChild1',_('Birth'),birth)
|
|
||||||
if families == 0:
|
if self.missingInfo or birth != None:
|
||||||
self.dump_child_event('FGR-TextChild2',_('Death'),death)
|
self.dump_child_event('FGR-TextChild1',_('Birth'),birth)
|
||||||
else:
|
|
||||||
self.dump_child_event('FGR-TextChild1',_('Death'),death)
|
if self.missingInfo or death != None:
|
||||||
|
if families == 0:
|
||||||
|
self.dump_child_event('FGR-TextChild2',_('Death'),death)
|
||||||
|
else:
|
||||||
|
self.dump_child_event('FGR-TextChild1',_('Death'),death)
|
||||||
|
|
||||||
index = 1
|
index = 1
|
||||||
for family_handle in person.get_family_handle_list():
|
for family_handle in person.get_family_handle_list():
|
||||||
@ -352,59 +408,93 @@ class FamilyGroup(Report.Report):
|
|||||||
spouse_id = family.get_mother_handle()
|
spouse_id = family.get_mother_handle()
|
||||||
else:
|
else:
|
||||||
spouse_id = family.get_father_handle()
|
spouse_id = family.get_father_handle()
|
||||||
self.doc.start_row()
|
|
||||||
self.doc.start_cell('FGR-TextChild1')
|
if self.missingInfo or spouse_id:
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.start_cell('FGR-TextContents')
|
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
self.doc.write_text(_("Spouse"))
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.start_cell('FGR-TextContentsEnd',2)
|
|
||||||
self.doc.start_paragraph('FGR-Normal')
|
|
||||||
if spouse_id:
|
|
||||||
spouse = self.database.get_person_from_handle(spouse_id)
|
|
||||||
self.doc.write_text(spouse.get_primary_name().get_regular_name())
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.end_cell()
|
|
||||||
self.doc.end_row()
|
|
||||||
|
|
||||||
if index == families:
|
|
||||||
self.dump_child_event('FGR-TextChild2',_("Married"),m)
|
|
||||||
else:
|
|
||||||
self.dump_child_event('FGR-TextChild1',_("Married"),m)
|
|
||||||
|
|
||||||
|
|
||||||
def write_report(self):
|
|
||||||
self.doc.start_paragraph('FGR-Title')
|
|
||||||
self.doc.write_text(_("Family Group Report"))
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
|
|
||||||
if self.family:
|
|
||||||
self.dump_parent(self.family.get_father_handle())
|
|
||||||
self.doc.start_paragraph("FGR-blank")
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.dump_parent(self.family.get_mother_handle())
|
|
||||||
|
|
||||||
length = len(self.family.get_child_handle_list())
|
|
||||||
if length > 0:
|
|
||||||
self.doc.start_paragraph("FGR-blank")
|
|
||||||
self.doc.end_paragraph()
|
|
||||||
self.doc.start_table('FGR-Children','FGR-ChildTable')
|
|
||||||
self.doc.start_row()
|
self.doc.start_row()
|
||||||
self.doc.start_cell('FGR-ParentHead',4)
|
self.doc.start_cell('FGR-TextChild1')
|
||||||
self.doc.start_paragraph('FGR-ParentName')
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
self.doc.write_text(_("Children"))
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.start_cell('FGR-TextContents')
|
||||||
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
|
self.doc.write_text(_("Spouse"))
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.start_cell('FGR-TextContentsEnd',2)
|
||||||
|
self.doc.start_paragraph('FGR-Normal')
|
||||||
|
if spouse_id:
|
||||||
|
spouse = self.database.get_person_from_handle(spouse_id)
|
||||||
|
spouse_name = spouse.get_primary_name().get_regular_name()
|
||||||
|
if self.incRelDates:
|
||||||
|
birth_handle = spouse.get_birth_handle()
|
||||||
|
birth = " "
|
||||||
|
if birth_handle:
|
||||||
|
birth = self.database.get_event_from_handle(birth_handle).get_date()
|
||||||
|
death_handle = spouse.get_death_handle()
|
||||||
|
death = " "
|
||||||
|
if death_handle:
|
||||||
|
death = self.database.get_event_from_handle(death_handle).get_date()
|
||||||
|
if birth_handle or death_handle:
|
||||||
|
spouse_name = "%s (%s - %s)" % (spouse_name,birth,death)
|
||||||
|
self.doc.write_text(spouse_name)
|
||||||
self.doc.end_paragraph()
|
self.doc.end_paragraph()
|
||||||
self.doc.end_cell()
|
self.doc.end_cell()
|
||||||
self.doc.end_row()
|
self.doc.end_row()
|
||||||
index = 1
|
|
||||||
for child_handle in self.family.get_child_handle_list():
|
if self.missingInfo or m:
|
||||||
self.dump_child(index,child_handle)
|
if index == families:
|
||||||
index = index + 1
|
self.dump_child_event('FGR-TextChild2',_("Married"),m)
|
||||||
self.doc.end_table()
|
else:
|
||||||
|
self.dump_child_event('FGR-TextChild1',_("Married"),m)
|
||||||
|
|
||||||
|
def dump_family(self,family_handle,generation):
|
||||||
|
self.doc.start_paragraph('FGR-Title')
|
||||||
|
if self.recursive and self.generations:
|
||||||
|
self.doc.write_text(_("Family Group Report - Generation %d") % generation)
|
||||||
|
else:
|
||||||
|
self.doc.write_text(_("Family Group Report") )
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
|
family = self.database.get_family_from_handle(family_handle)
|
||||||
|
|
||||||
|
self.dump_parent(family.get_father_handle())
|
||||||
|
self.doc.start_paragraph("FGR-blank")
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.dump_parent(family.get_mother_handle())
|
||||||
|
|
||||||
|
length = len(family.get_child_handle_list())
|
||||||
|
if length > 0:
|
||||||
|
self.doc.start_paragraph("FGR-blank")
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.start_table('FGR-Children','FGR-ChildTable')
|
||||||
|
self.doc.start_row()
|
||||||
|
self.doc.start_cell('FGR-ParentHead',4)
|
||||||
|
self.doc.start_paragraph('FGR-ParentName')
|
||||||
|
self.doc.write_text(_("Children"))
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
self.doc.end_cell()
|
||||||
|
self.doc.end_row()
|
||||||
|
index = 1
|
||||||
|
for child_handle in family.get_child_handle_list():
|
||||||
|
self.dump_child(index,child_handle)
|
||||||
|
index = index + 1
|
||||||
|
self.doc.end_table()
|
||||||
|
|
||||||
|
if self.recursive:
|
||||||
|
for child_handle in family.get_child_handle_list():
|
||||||
|
child = self.database.get_person_from_handle(child_handle)
|
||||||
|
for child_family_handle in child.get_family_handle_list():
|
||||||
|
if child_family_handle != family_handle:
|
||||||
|
self.doc.page_break()
|
||||||
|
self.dump_family(child_family_handle,(generation+1))
|
||||||
|
|
||||||
|
def write_report(self):
|
||||||
|
if self.family_handle:
|
||||||
|
self.dump_family(self.family_handle,1)
|
||||||
|
else:
|
||||||
|
self.doc.start_paragraph('FGR-Title')
|
||||||
|
self.doc.write_text(_("Family Group Report"))
|
||||||
|
self.doc.end_paragraph()
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -424,6 +514,14 @@ class FamilyGroupOptions(ReportOptions.ReportOptions):
|
|||||||
# Options specific for this report
|
# Options specific for this report
|
||||||
self.options_dict = {
|
self.options_dict = {
|
||||||
'spouse_id' : '',
|
'spouse_id' : '',
|
||||||
|
'recursive' : 0,
|
||||||
|
'missinginfo' : 1,
|
||||||
|
'generations' : 1,
|
||||||
|
'incParEvents' : 0,
|
||||||
|
'incParAddr' : 0,
|
||||||
|
'incParNotes' : 0,
|
||||||
|
'incParNames' : 0,
|
||||||
|
'incRelDates' : 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
self.options_help = {
|
self.options_help = {
|
||||||
@ -432,6 +530,37 @@ class FamilyGroupOptions(ReportOptions.ReportOptions):
|
|||||||
#[item[0] for item in self.get_spouses(None,None)],
|
#[item[0] for item in self.get_spouses(None,None)],
|
||||||
#False
|
#False
|
||||||
),
|
),
|
||||||
|
'recursive' : ("=0/1","Create reports for all decendants of this family.",
|
||||||
|
["Do not create reports for decendants","Create reports for decendants"],
|
||||||
|
False),
|
||||||
|
|
||||||
|
'missinginfo' : ("=0/1","Whether to include fields for missing information.",
|
||||||
|
["Do not include missing info","Include missing info"],
|
||||||
|
True),
|
||||||
|
|
||||||
|
'generations' : ("=0/1","Whether to include the generation on each report (recursive only).",
|
||||||
|
["Do not include the generation","Include the generation"],
|
||||||
|
True),
|
||||||
|
|
||||||
|
'incParEvents' : ("=0/1","Whether to include events for parents.",
|
||||||
|
["Do not include parental events","Include parental events"],
|
||||||
|
True),
|
||||||
|
|
||||||
|
'incParAddr' : ("=0/1","Whether to include addresses for parents.",
|
||||||
|
["Do not include parental addresses","Include parental addresses"],
|
||||||
|
True),
|
||||||
|
|
||||||
|
'incParNotes' : ("=0/1","Whether to include notes for parents.",
|
||||||
|
["Do not include parental notes","Include parental notes"],
|
||||||
|
True),
|
||||||
|
|
||||||
|
'incParNames' : ("=0/1","Whether to include alternate names for parents.",
|
||||||
|
["Do not include parental names","Include parental names"],
|
||||||
|
True),
|
||||||
|
|
||||||
|
'incRelDates' : ("=0/1","Whether to include dates for relatives.",
|
||||||
|
["Do not include dates of relatives","Include dates of relatives"],
|
||||||
|
True),
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_spouses(self,database,person):
|
def get_spouses(self,database,person):
|
||||||
@ -476,8 +605,48 @@ class FamilyGroupOptions(ReportOptions.ReportOptions):
|
|||||||
spouse_index = index
|
spouse_index = index
|
||||||
index = index + 1
|
index = index + 1
|
||||||
self.spouse_menu.set_active(spouse_index)
|
self.spouse_menu.set_active(spouse_index)
|
||||||
|
|
||||||
|
# Recursive
|
||||||
|
self.recursive_option = gtk.CheckButton(_(""))
|
||||||
|
self.recursive_option.set_active(self.options_dict['recursive'])
|
||||||
|
|
||||||
|
# Missing Info
|
||||||
|
self.missing_info_option = gtk.CheckButton(_("Print fields for missing information"))
|
||||||
|
self.missing_info_option.set_active(self.options_dict['missinginfo'])
|
||||||
|
|
||||||
|
# Generations
|
||||||
|
self.include_generations_option = gtk.CheckButton(_("Generation numbers (recursive only)"))
|
||||||
|
self.include_generations_option.set_active(self.options_dict['generations'])
|
||||||
|
|
||||||
|
# Parental Events
|
||||||
|
self.include_par_events_option = gtk.CheckButton(_("Parent Events"))
|
||||||
|
self.include_par_events_option.set_active(self.options_dict['incParEvents'])
|
||||||
|
|
||||||
|
# Parental Addresses
|
||||||
|
self.include_par_addr_option = gtk.CheckButton(_("Parent Addresses"))
|
||||||
|
self.include_par_addr_option.set_active(self.options_dict['incParAddr'])
|
||||||
|
|
||||||
|
# Parental Notes
|
||||||
|
self.include_par_notes_option = gtk.CheckButton(_("Parent Notes"))
|
||||||
|
self.include_par_notes_option.set_active(self.options_dict['incParNotes'])
|
||||||
|
|
||||||
|
# Parental Names
|
||||||
|
self.include_par_names_option = gtk.CheckButton(_("Alternate Parent Names"))
|
||||||
|
self.include_par_names_option.set_active(self.options_dict['incParNames'])
|
||||||
|
|
||||||
|
# Relatives Dates
|
||||||
|
self.include_rel_dates_option = gtk.CheckButton(_("Dates of Relatives (father, mother, spouse)"))
|
||||||
|
self.include_rel_dates_option.set_active(self.options_dict['incRelDates'])
|
||||||
|
|
||||||
dialog.add_option(_("Spouse"),self.spouse_menu)
|
dialog.add_option(_("Spouse"),self.spouse_menu)
|
||||||
|
dialog.add_option(_("Recursive"),self.recursive_option)
|
||||||
|
dialog.add_frame_option(_('Include'),'',self.include_generations_option)
|
||||||
|
dialog.add_frame_option(_('Include'),'',self.include_par_events_option)
|
||||||
|
dialog.add_frame_option(_('Include'),'',self.include_par_addr_option)
|
||||||
|
dialog.add_frame_option(_('Include'),'',self.include_par_notes_option)
|
||||||
|
dialog.add_frame_option(_('Include'),'',self.include_par_names_option)
|
||||||
|
dialog.add_frame_option(_('Include'),'',self.include_rel_dates_option)
|
||||||
|
dialog.add_frame_option(_('Missing Information'),'',self.missing_info_option)
|
||||||
|
|
||||||
def parse_user_options(self,dialog):
|
def parse_user_options(self,dialog):
|
||||||
"""
|
"""
|
||||||
@ -487,6 +656,15 @@ class FamilyGroupOptions(ReportOptions.ReportOptions):
|
|||||||
spouse_index = self.spouse_menu.get_active()
|
spouse_index = self.spouse_menu.get_active()
|
||||||
if spouses:
|
if spouses:
|
||||||
self.options_dict['spouse_id'] = spouses[spouse_index][0]
|
self.options_dict['spouse_id'] = spouses[spouse_index][0]
|
||||||
|
|
||||||
|
self.options_dict['recursive'] = int(self.recursive_option.get_active())
|
||||||
|
self.options_dict['missinginfo'] = int(self.missing_info_option.get_active())
|
||||||
|
self.options_dict['generations'] = int(self.include_generations_option.get_active())
|
||||||
|
self.options_dict['incParEvents'] = int(self.include_par_events_option.get_active())
|
||||||
|
self.options_dict['incParAddr'] = int(self.include_par_addr_option.get_active())
|
||||||
|
self.options_dict['incParNotes'] = int(self.include_par_notes_option.get_active())
|
||||||
|
self.options_dict['incParNames'] = int(self.include_par_names_option.get_active())
|
||||||
|
self.options_dict['incRelDates'] = int(self.include_rel_dates_option.get_active())
|
||||||
|
|
||||||
def make_default_style(self,default_style):
|
def make_default_style(self,default_style):
|
||||||
"""Make default output style for the Family Group Report."""
|
"""Make default output style for the Family Group Report."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user