* src/docgen/PdfDoc.py: handle page break
* src/plugins/BookReport.py: move book report to its own category, handle page break properly * src/plugins/FtmStyleAncestors.py: handle book improvements * src/plugins/FtmStyleDescendants.py: handle book improvements * src/plugins/IndivSummary.py: handle book improvements, rename document styles svn: r1774
This commit is contained in:
parent
ac1e5fff81
commit
2f5bcae451
@ -158,6 +158,9 @@ class PdfDoc(TextDoc.TextDoc):
|
|||||||
except:
|
except:
|
||||||
raise Errors.ReportError(_("Could not create %s") % self.filename)
|
raise Errors.ReportError(_("Could not create %s") % self.filename)
|
||||||
|
|
||||||
|
def page_break(self):
|
||||||
|
self.end_page()
|
||||||
|
|
||||||
def end_page(self):
|
def end_page(self):
|
||||||
self.story.append(PageBreak())
|
self.story.append(PageBreak())
|
||||||
|
|
||||||
@ -285,6 +288,7 @@ class PdfDoc(TextDoc.TextDoc):
|
|||||||
act_height = y_cm
|
act_height = y_cm
|
||||||
act_width = x_cm/ratio
|
act_width = x_cm/ratio
|
||||||
|
|
||||||
|
self.story.append(Spacer(1,0.5*cm))
|
||||||
self.story.append(Image(name,act_width*cm,act_height*cm))
|
self.story.append(Image(name,act_width*cm,act_height*cm))
|
||||||
self.story.append(Spacer(1,0.5*cm))
|
self.story.append(Spacer(1,0.5*cm))
|
||||||
self.image = 1
|
self.image = 1
|
||||||
|
@ -829,17 +829,17 @@ class BookReportDialog(Report.ReportDialog):
|
|||||||
|
|
||||||
# FIXME:
|
# FIXME:
|
||||||
# dirty hack to use the style of the first item for the whole book
|
# dirty hack to use the style of the first item for the whole book
|
||||||
|
|
||||||
|
self.default_style = TextDoc.StyleSheet()
|
||||||
for item in self.book.get_item_list():
|
for item in self.book.get_item_list():
|
||||||
name = item.get_name()
|
name = item.get_name()
|
||||||
item = BookItem(name)
|
item = BookItem(name)
|
||||||
style_file = item.get_style_file()
|
style_file = item.get_style_file()
|
||||||
make_default_style = item.get_make_default_style()
|
make_default_style = item.get_make_default_style()
|
||||||
self.default_style = TextDoc.StyleSheet()
|
|
||||||
make_default_style(self.default_style)
|
make_default_style(self.default_style)
|
||||||
style_list = TextDoc.StyleSheetList(style_file,self.default_style)
|
style_list = TextDoc.StyleSheetList(style_file,self.default_style)
|
||||||
style_name = item.get_style_name()
|
style_name = item.get_style_name()
|
||||||
self.selected_style = style_list.get_style_sheet(style_name)
|
self.selected_style = style_list.get_style_sheet(style_name)
|
||||||
return
|
|
||||||
|
|
||||||
def setup_style_frame(self): pass
|
def setup_style_frame(self): pass
|
||||||
def setup_report_options_frame(self): pass
|
def setup_report_options_frame(self): pass
|
||||||
@ -873,21 +873,22 @@ class BookReportDialog(Report.ReportDialog):
|
|||||||
def make_report(self):
|
def make_report(self):
|
||||||
"""The actual book report. Start it out, then go through the item list
|
"""The actual book report. Start it out, then go through the item list
|
||||||
and call each item's write_book_item method."""
|
and call each item's write_book_item method."""
|
||||||
self.doc.start_paragraph("Title")
|
|
||||||
title = _("Book Report")
|
rptlist = []
|
||||||
self.doc.write_text(title)
|
|
||||||
self.doc.end_paragraph()
|
newpage = 0
|
||||||
first = 1
|
|
||||||
for item in self.book.get_item_list():
|
for item in self.book.get_item_list():
|
||||||
write_book_item = item.get_write_item()
|
write_book_item = item.get_write_item()
|
||||||
options = item.get_options()
|
options = item.get_options()
|
||||||
if write_book_item:
|
if write_book_item:
|
||||||
if first:
|
obj = write_book_item(self.database,self.person,
|
||||||
first = 0
|
self.doc,options,newpage)
|
||||||
newpage = not first
|
obj.setup()
|
||||||
write_book_item(self.database,self.person,
|
rptlist.append(obj)
|
||||||
self.doc,options,newpage)
|
newpage = 1
|
||||||
|
|
||||||
|
for item in rptlist:
|
||||||
|
item.write_report()
|
||||||
self.doc.close()
|
self.doc.close()
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
@ -998,7 +999,7 @@ from Plugins import register_report
|
|||||||
register_report(
|
register_report(
|
||||||
report,
|
report,
|
||||||
_("Book Report"),
|
_("Book Report"),
|
||||||
category=_("Text Reports"),
|
category=_("Books"),
|
||||||
status=(_("Unstable")),
|
status=(_("Unstable")),
|
||||||
description=_("Creates a book containg several reports."),
|
description=_("Creates a book containg several reports."),
|
||||||
xpm=get_xpm_image(),
|
xpm=get_xpm_image(),
|
||||||
|
@ -53,16 +53,18 @@ class FtmAncestorReport(Report.Report):
|
|||||||
self.max_generations = max
|
self.max_generations = max
|
||||||
self.pgbrk = pgbrk
|
self.pgbrk = pgbrk
|
||||||
self.doc = doc
|
self.doc = doc
|
||||||
|
self.newpage = newpage
|
||||||
if output:
|
if output:
|
||||||
self.standalone = 1
|
self.standalone = 1
|
||||||
self.doc.open(output)
|
self.doc.open(output)
|
||||||
else:
|
else:
|
||||||
self.standalone = 0
|
self.standalone = 0
|
||||||
if newpage:
|
|
||||||
self.doc.page_break()
|
|
||||||
self.sref_map = {}
|
self.sref_map = {}
|
||||||
self.sref_index = 1
|
self.sref_index = 1
|
||||||
|
|
||||||
|
def setup(self):
|
||||||
|
pass
|
||||||
|
|
||||||
def apply_filter(self,person,index,generation=1):
|
def apply_filter(self,person,index,generation=1):
|
||||||
if person == None or generation > self.max_generations:
|
if person == None or generation > self.max_generations:
|
||||||
return
|
return
|
||||||
@ -75,6 +77,9 @@ class FtmAncestorReport(Report.Report):
|
|||||||
|
|
||||||
def write_report(self):
|
def write_report(self):
|
||||||
|
|
||||||
|
if self.newpage:
|
||||||
|
self.doc.page_break()
|
||||||
|
|
||||||
self.apply_filter(self.start,1)
|
self.apply_filter(self.start,1)
|
||||||
|
|
||||||
name = self.start.getPrimaryName().getRegularName()
|
name = self.start.getPrimaryName().getRegularName()
|
||||||
@ -911,9 +916,7 @@ def write_book_item(database,person,doc,options,newpage=0):
|
|||||||
person = database.getPerson(options[0])
|
person = database.getPerson(options[0])
|
||||||
max_gen = int(options[1])
|
max_gen = int(options[1])
|
||||||
pg_brk = int(options[2])
|
pg_brk = int(options[2])
|
||||||
MyReport = FtmAncestorReport(database, person,
|
return FtmAncestorReport(database, person, max_gen, pg_brk, doc, None, newpage )
|
||||||
max_gen, pg_brk, doc, None, newpage )
|
|
||||||
MyReport.write_report()
|
|
||||||
except Errors.ReportError, msg:
|
except Errors.ReportError, msg:
|
||||||
(m1,m2) = msg.messages()
|
(m1,m2) = msg.messages()
|
||||||
ErrorDialog(m1,m2)
|
ErrorDialog(m1,m2)
|
||||||
|
@ -61,13 +61,12 @@ class FtmDescendantReport(Report.Report):
|
|||||||
self.pgbrk = pgbrk
|
self.pgbrk = pgbrk
|
||||||
self.doc = doc
|
self.doc = doc
|
||||||
self.setup()
|
self.setup()
|
||||||
|
self.newpage = newpage
|
||||||
if output:
|
if output:
|
||||||
self.standalone = 1
|
self.standalone = 1
|
||||||
self.doc.open(output)
|
self.doc.open(output)
|
||||||
else:
|
else:
|
||||||
self.standalone = 0
|
self.standalone = 0
|
||||||
if newpage:
|
|
||||||
self.doc.page_break()
|
|
||||||
self.sref_map = {}
|
self.sref_map = {}
|
||||||
self.sref_index = 1
|
self.sref_index = 1
|
||||||
|
|
||||||
@ -102,6 +101,10 @@ class FtmDescendantReport(Report.Report):
|
|||||||
|
|
||||||
|
|
||||||
def write_report(self):
|
def write_report(self):
|
||||||
|
|
||||||
|
if self.newpage:
|
||||||
|
self.doc.page_break()
|
||||||
|
|
||||||
self.apply_filter(self.start,1)
|
self.apply_filter(self.start,1)
|
||||||
|
|
||||||
name = self.start.getPrimaryName().getRegularName()
|
name = self.start.getPrimaryName().getRegularName()
|
||||||
@ -1317,9 +1320,8 @@ def write_book_item(database,person,doc,options,newpage=0):
|
|||||||
person = database.getPerson(options[0])
|
person = database.getPerson(options[0])
|
||||||
max_gen = int(options[1])
|
max_gen = int(options[1])
|
||||||
pg_brk = int(options[2])
|
pg_brk = int(options[2])
|
||||||
MyReport = FtmDescendantReport(database, person,
|
return FtmDescendantReport(database, person, max_gen,
|
||||||
max_gen, pg_brk, doc, None, newpage )
|
pg_brk, doc, None, newpage )
|
||||||
MyReport.write_report()
|
|
||||||
except Errors.ReportError, msg:
|
except Errors.ReportError, msg:
|
||||||
(m1,m2) = msg.messages()
|
(m1,m2) = msg.messages()
|
||||||
ErrorDialog(m1,m2)
|
ErrorDialog(m1,m2)
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
#
|
#
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
import os
|
import os
|
||||||
import string
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -49,14 +48,26 @@ import Errors
|
|||||||
from QuestionDialog import ErrorDialog
|
from QuestionDialog import ErrorDialog
|
||||||
from intl import gettext as _
|
from intl import gettext as _
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Set up sane defaults for the book_item
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
|
_person_id = ""
|
||||||
|
_max_gen = 0
|
||||||
|
_pg_brk = 0
|
||||||
|
_options = [ _person_id, _max_gen, _pg_brk ]
|
||||||
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# IndivSummary
|
# IndivSummary
|
||||||
#
|
#
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
class IndivSummary:
|
class IndivSummary(Report.Report):
|
||||||
|
|
||||||
def __init__(self,database,person,output,document):
|
def __init__(self,database,person,output,document,newpage):
|
||||||
self.d = document
|
self.d = document
|
||||||
|
|
||||||
c = database.getResearcher().getName()
|
c = database.getResearcher().getName()
|
||||||
@ -65,6 +76,12 @@ class IndivSummary:
|
|||||||
self.database = database
|
self.database = database
|
||||||
self.person = person
|
self.person = person
|
||||||
self.output = output
|
self.output = output
|
||||||
|
if output:
|
||||||
|
self.standalone = 1
|
||||||
|
self.d.open(output)
|
||||||
|
else:
|
||||||
|
self.standalone = 0
|
||||||
|
self.newpage = newpage
|
||||||
|
|
||||||
def setup(self):
|
def setup(self):
|
||||||
tbl = TextDoc.TableStyle()
|
tbl = TextDoc.TableStyle()
|
||||||
@ -72,24 +89,23 @@ class IndivSummary:
|
|||||||
tbl.set_columns(2)
|
tbl.set_columns(2)
|
||||||
tbl.set_column_width(0,20)
|
tbl.set_column_width(0,20)
|
||||||
tbl.set_column_width(1,80)
|
tbl.set_column_width(1,80)
|
||||||
self.d.add_table_style("IndTable",tbl)
|
self.d.add_table_style("IVS-IndTable",tbl)
|
||||||
|
|
||||||
cell = TextDoc.TableCellStyle()
|
cell = TextDoc.TableCellStyle()
|
||||||
cell.set_top_border(1)
|
cell.set_top_border(1)
|
||||||
cell.set_bottom_border(1)
|
cell.set_bottom_border(1)
|
||||||
self.d.add_cell_style("TableHead",cell)
|
self.d.add_cell_style("IVS-TableHead",cell)
|
||||||
|
|
||||||
cell = TextDoc.TableCellStyle()
|
cell = TextDoc.TableCellStyle()
|
||||||
self.d.add_cell_style("NormalCell",cell)
|
self.d.add_cell_style("IVS-NormalCell",cell)
|
||||||
|
|
||||||
cell = TextDoc.TableCellStyle()
|
cell = TextDoc.TableCellStyle()
|
||||||
cell.set_longlist(1)
|
cell.set_longlist(1)
|
||||||
self.d.add_cell_style("ListCell",cell)
|
self.d.add_cell_style("IVS-ListCell",cell)
|
||||||
|
|
||||||
self.d.open(self.output)
|
|
||||||
|
|
||||||
def end(self):
|
def end(self):
|
||||||
self.d.close()
|
if self.standalone:
|
||||||
|
self.d.close()
|
||||||
|
|
||||||
def write_fact(self,event):
|
def write_fact(self,event):
|
||||||
if event == None:
|
if event == None:
|
||||||
@ -110,14 +126,14 @@ class IndivSummary:
|
|||||||
val = date + " in " + place + ". " + description
|
val = date + " in " + place + ". " + description
|
||||||
|
|
||||||
self.d.start_row()
|
self.d.start_row()
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.write_text(name)
|
self.d.write_text(name)
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
|
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.write_text(val)
|
self.d.write_text(val)
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
@ -130,12 +146,12 @@ class IndivSummary:
|
|||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
def write_families(self):
|
def write_families(self):
|
||||||
|
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.start_table("three","IndTable")
|
self.d.start_table("three","IVS-IndTable")
|
||||||
self.d.start_row()
|
self.d.start_row()
|
||||||
self.d.start_cell("TableHead",2)
|
self.d.start_cell("IVS-TableHead",2)
|
||||||
self.d.start_paragraph("TableTitle")
|
self.d.start_paragraph("IVS-TableTitle")
|
||||||
self.d.write_text(_("Marriages/Children"))
|
self.d.write_text(_("Marriages/Children"))
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
@ -147,8 +163,8 @@ class IndivSummary:
|
|||||||
else:
|
else:
|
||||||
spouse = family.getFather()
|
spouse = family.getFather()
|
||||||
self.d.start_row()
|
self.d.start_row()
|
||||||
self.d.start_cell("NormalCell",2)
|
self.d.start_cell("IVS-NormalCell",2)
|
||||||
self.d.start_paragraph("Spouse")
|
self.d.start_paragraph("IVS-Spouse")
|
||||||
if spouse:
|
if spouse:
|
||||||
self.d.write_text(spouse.getPrimaryName().getRegularName())
|
self.d.write_text(spouse.getPrimaryName().getRegularName())
|
||||||
else:
|
else:
|
||||||
@ -163,14 +179,14 @@ class IndivSummary:
|
|||||||
child_list = family.getChildList()
|
child_list = family.getChildList()
|
||||||
if len(child_list) > 0:
|
if len(child_list) > 0:
|
||||||
self.d.start_row()
|
self.d.start_row()
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.write_text(_("Children"))
|
self.d.write_text(_("Children"))
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
|
|
||||||
self.d.start_cell("ListCell")
|
self.d.start_cell("IVS-ListCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
|
|
||||||
first = 1
|
first = 1
|
||||||
for child in family.getChildList():
|
for child in family.getChildList():
|
||||||
@ -185,49 +201,53 @@ class IndivSummary:
|
|||||||
self.d.end_table()
|
self.d.end_table()
|
||||||
|
|
||||||
def write_report(self):
|
def write_report(self):
|
||||||
|
|
||||||
|
if self.newpage:
|
||||||
|
self.d.page_break()
|
||||||
|
|
||||||
photo_list = self.person.getPhotoList()
|
photo_list = self.person.getPhotoList()
|
||||||
|
|
||||||
name = self.person.getPrimaryName().getRegularName()
|
name = self.person.getPrimaryName().getRegularName()
|
||||||
self.d.start_paragraph("Title")
|
self.d.start_paragraph("IVS-Title")
|
||||||
self.d.write_text(_("Summary of %s") % name)
|
self.d.write_text(_("Summary of %s") % name)
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
|
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
|
|
||||||
if len(photo_list) > 0:
|
if len(photo_list) > 0:
|
||||||
object = photo_list[0].getReference()
|
object = photo_list[0].getReference()
|
||||||
if object.getMimeType()[0:5] == "image":
|
if object.getMimeType()[0:5] == "image":
|
||||||
file = object.getPath()
|
file = object.getPath()
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.add_photo(file,"row",4.0,4.0)
|
self.d.add_photo(file,"row",4.0,4.0)
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
|
|
||||||
self.d.start_table("one","IndTable")
|
self.d.start_table("one","IVS-IndTable")
|
||||||
|
|
||||||
self.d.start_row()
|
self.d.start_row()
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.write_text("%s:" % _("Name"))
|
self.d.write_text("%s:" % _("Name"))
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
|
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.write_text(self.person.getPrimaryName().getRegularName())
|
self.d.write_text(self.person.getPrimaryName().getRegularName())
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
self.d.end_row()
|
self.d.end_row()
|
||||||
|
|
||||||
self.d.start_row()
|
self.d.start_row()
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.write_text("%s:" % _("Gender"))
|
self.d.write_text("%s:" % _("Gender"))
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
|
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
if self.person.getGender() == RelLib.Person.male:
|
if self.person.getGender() == RelLib.Person.male:
|
||||||
self.d.write_text(_("Male"))
|
self.d.write_text(_("Male"))
|
||||||
else:
|
else:
|
||||||
@ -253,41 +273,41 @@ class IndivSummary:
|
|||||||
mother = ""
|
mother = ""
|
||||||
|
|
||||||
self.d.start_row()
|
self.d.start_row()
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.write_text("%s:" % _("Father"))
|
self.d.write_text("%s:" % _("Father"))
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
|
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.write_text(father)
|
self.d.write_text(father)
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
self.d.end_row()
|
self.d.end_row()
|
||||||
|
|
||||||
self.d.start_row()
|
self.d.start_row()
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.write_text("%s:" % _("Mother"))
|
self.d.write_text("%s:" % _("Mother"))
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
|
|
||||||
self.d.start_cell("NormalCell")
|
self.d.start_cell("IVS-NormalCell")
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.write_text(mother)
|
self.d.write_text(mother)
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
self.d.end_row()
|
self.d.end_row()
|
||||||
self.d.end_table()
|
self.d.end_table()
|
||||||
|
|
||||||
self.d.start_paragraph("Normal")
|
self.d.start_paragraph("IVS-Normal")
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
|
|
||||||
self.d.start_table("two","IndTable")
|
self.d.start_table("two","IVS-IndTable")
|
||||||
self.d.start_row()
|
self.d.start_row()
|
||||||
self.d.start_cell("TableHead",2)
|
self.d.start_cell("IVS-TableHead",2)
|
||||||
self.d.start_paragraph("TableTitle")
|
self.d.start_paragraph("IVS-TableTitle")
|
||||||
self.d.write_text(_("Individual Facts"))
|
self.d.write_text(_("Individual Facts"))
|
||||||
self.d.end_paragraph()
|
self.d.end_paragraph()
|
||||||
self.d.end_cell()
|
self.d.end_cell()
|
||||||
@ -335,41 +355,7 @@ class IndivSummaryDialog(Report.TextReportDialog):
|
|||||||
|
|
||||||
def make_default_style(self):
|
def make_default_style(self):
|
||||||
"""Make the default output style for the Individual Summary Report."""
|
"""Make the default output style for the Individual Summary Report."""
|
||||||
font = TextDoc.FontStyle()
|
_make_default_style(self.default_style)
|
||||||
font.set_bold(1)
|
|
||||||
font.set_type_face(TextDoc.FONT_SANS_SERIF)
|
|
||||||
font.set_size(16)
|
|
||||||
p = TextDoc.ParagraphStyle()
|
|
||||||
p.set_alignment(TextDoc.PARA_ALIGN_CENTER)
|
|
||||||
p.set_font(font)
|
|
||||||
p.set_description(_("The style used for the title of the page."))
|
|
||||||
self.default_style.add_style("Title",p)
|
|
||||||
|
|
||||||
font = TextDoc.FontStyle()
|
|
||||||
font.set_bold(1)
|
|
||||||
font.set_type_face(TextDoc.FONT_SANS_SERIF)
|
|
||||||
font.set_size(12)
|
|
||||||
font.set_italic(1)
|
|
||||||
p = TextDoc.ParagraphStyle()
|
|
||||||
p.set_font(font)
|
|
||||||
p.set_description(_("The style used for category labels."))
|
|
||||||
self.default_style.add_style("TableTitle",p)
|
|
||||||
|
|
||||||
font = TextDoc.FontStyle()
|
|
||||||
font.set_bold(1)
|
|
||||||
font.set_type_face(TextDoc.FONT_SANS_SERIF)
|
|
||||||
font.set_size(12)
|
|
||||||
p = TextDoc.ParagraphStyle()
|
|
||||||
p.set_font(font)
|
|
||||||
p.set_description(_("The style used for the spouse's name."))
|
|
||||||
self.default_style.add_style("Spouse",p)
|
|
||||||
|
|
||||||
font = TextDoc.FontStyle()
|
|
||||||
font.set_size(12)
|
|
||||||
p = TextDoc.ParagraphStyle()
|
|
||||||
p.set_font(font)
|
|
||||||
p.set_description(_('The basic style used for the text display.'))
|
|
||||||
self.default_style.add_style("Normal",p)
|
|
||||||
|
|
||||||
def setup_report_options(self):
|
def setup_report_options(self):
|
||||||
"""The 'Report Options' frame is not used in this dialog."""
|
"""The 'Report Options' frame is not used in this dialog."""
|
||||||
@ -493,10 +479,141 @@ def get_xpm_image():
|
|||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
#
|
# Book Item Options dialog
|
||||||
#
|
#
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
from Plugins import register_report
|
class IndivSummaryBareReportDialog(Report.BareReportDialog):
|
||||||
|
|
||||||
|
def __init__(self,database,person,opt,stl):
|
||||||
|
|
||||||
|
self.options = opt
|
||||||
|
self.db = database
|
||||||
|
if self.options[0]:
|
||||||
|
self.person = self.db.getPerson(self.options[0])
|
||||||
|
else:
|
||||||
|
self.person = person
|
||||||
|
Report.BareReportDialog.__init__(self,database,self.person)
|
||||||
|
|
||||||
|
def make_default_style(self):
|
||||||
|
_make_default_style(self.default_style)
|
||||||
|
|
||||||
|
self.max_gen = int(self.options[1])
|
||||||
|
self.pg_brk = int(self.options[2])
|
||||||
|
self.style_name = stl
|
||||||
|
self.new_person = None
|
||||||
|
|
||||||
|
self.generations_spinbox.set_value(self.max_gen)
|
||||||
|
self.pagebreak_checkbox.set_active(self.pg_brk)
|
||||||
|
|
||||||
|
self.window.run()
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Customization hooks
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
def get_title(self):
|
||||||
|
"""The window title for this dialog"""
|
||||||
|
return "%s - GRAMPS Book" % (_("Individual Summary"))
|
||||||
|
|
||||||
|
def get_header(self, name):
|
||||||
|
"""The header line at the top of the dialog contents"""
|
||||||
|
return _("Individual Summary Report for GRAMPS Book")
|
||||||
|
|
||||||
|
def get_stylesheet_savefile(self):
|
||||||
|
"""Where to save styles for this report."""
|
||||||
|
return "individual_summary.xml"
|
||||||
|
|
||||||
|
def on_cancel(self, obj):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def on_ok_clicked(self, obj):
|
||||||
|
"""The user is satisfied with the dialog choices. Parse all options
|
||||||
|
and close the window."""
|
||||||
|
|
||||||
|
# Preparation
|
||||||
|
self.parse_style_frame()
|
||||||
|
self.parse_report_options_frame()
|
||||||
|
|
||||||
|
if self.new_person:
|
||||||
|
self.person = self.new_person
|
||||||
|
self.options = [ self.person.getId(), self.max_gen, self.pg_brk ]
|
||||||
|
self.style_name = self.selected_style.get_name()
|
||||||
|
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Function to write Book Item
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
def write_book_item(database,person,doc,options,newpage=0):
|
||||||
|
"""Write the FTM Style Descendant Report options set.
|
||||||
|
All user dialog has already been handled and the output file opened."""
|
||||||
|
try:
|
||||||
|
if options[0]:
|
||||||
|
person = database.getPerson(options[0])
|
||||||
|
max_gen = int(options[1])
|
||||||
|
pg_brk = int(options[2])
|
||||||
|
return IndivSummary(database, person, None, doc, newpage)
|
||||||
|
except Errors.ReportError, msg:
|
||||||
|
(m1,m2) = msg.messages()
|
||||||
|
ErrorDialog(m1,m2)
|
||||||
|
except Errors.FilterError, msg:
|
||||||
|
(m1,m2) = msg.messages()
|
||||||
|
ErrorDialog(m1,m2)
|
||||||
|
except:
|
||||||
|
import DisplayTrace
|
||||||
|
DisplayTrace.DisplayTrace()
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Makes the default styles
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
def _make_default_style(default_style):
|
||||||
|
"""Make the default output style for the Individual Summary Report."""
|
||||||
|
font = TextDoc.FontStyle()
|
||||||
|
font.set_bold(1)
|
||||||
|
font.set_type_face(TextDoc.FONT_SANS_SERIF)
|
||||||
|
font.set_size(16)
|
||||||
|
p = TextDoc.ParagraphStyle()
|
||||||
|
p.set_alignment(TextDoc.PARA_ALIGN_CENTER)
|
||||||
|
p.set_font(font)
|
||||||
|
p.set_description(_("The style used for the title of the page."))
|
||||||
|
default_style.add_style("IVS-Title",p)
|
||||||
|
|
||||||
|
font = TextDoc.FontStyle()
|
||||||
|
font.set_bold(1)
|
||||||
|
font.set_type_face(TextDoc.FONT_SANS_SERIF)
|
||||||
|
font.set_size(12)
|
||||||
|
font.set_italic(1)
|
||||||
|
p = TextDoc.ParagraphStyle()
|
||||||
|
p.set_font(font)
|
||||||
|
p.set_description(_("The style used for category labels."))
|
||||||
|
default_style.add_style("IVS-TableTitle",p)
|
||||||
|
|
||||||
|
font = TextDoc.FontStyle()
|
||||||
|
font.set_bold(1)
|
||||||
|
font.set_type_face(TextDoc.FONT_SANS_SERIF)
|
||||||
|
font.set_size(12)
|
||||||
|
p = TextDoc.ParagraphStyle()
|
||||||
|
p.set_font(font)
|
||||||
|
p.set_description(_("The style used for the spouse's name."))
|
||||||
|
default_style.add_style("IVS-Spouse",p)
|
||||||
|
|
||||||
|
font = TextDoc.FontStyle()
|
||||||
|
font.set_size(12)
|
||||||
|
p = TextDoc.ParagraphStyle()
|
||||||
|
p.set_font(font)
|
||||||
|
p.set_description(_('The basic style used for the text display.'))
|
||||||
|
default_style.add_style("IVS-Normal",p)
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Register plugins
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
from Plugins import register_report, register_book_item
|
||||||
|
|
||||||
register_report(
|
register_report(
|
||||||
report,
|
report,
|
||||||
@ -510,7 +627,16 @@ register_report(
|
|||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
register_book_item(
|
||||||
|
_("Individual Summary"),
|
||||||
|
_("Text"),
|
||||||
|
IndivSummaryBareReportDialog,
|
||||||
|
write_book_item,
|
||||||
|
_options,
|
||||||
|
"default" ,
|
||||||
|
"individual_summary.xml",
|
||||||
|
_make_default_style
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user