Remove "get_generations()" from the report options base classes. It was
forcing some reports to have the "page break between generations" options even though they weren't using it. All reports now define all of their own options. svn: r8323
This commit is contained in:
parent
aa57b4b1a6
commit
4a6b730259
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
2007-03-27 Brian Matherly <brian@gramps-project.org>
|
||||
* src/ReportBase/_CommandLineReport.py
|
||||
* src/ReportBase/_BareReportDialog.py
|
||||
* src/ReportBase/_ReportOptions.py
|
||||
* src/plugins/DescendReport.py
|
||||
* src/plugins/DetDescendantReport.py
|
||||
* src/plugins/AncestorReport.py
|
||||
* src/plugins/DetAncestralReport.py
|
||||
Remove "get_generations()" from the report options base classes. It was
|
||||
forcing some reports to have the "page break between generations" options
|
||||
even though they weren't using it. All reports now define all of their own
|
||||
options.
|
||||
|
||||
2007-03-26 Brian Matherly <brian@gramps-project.org>
|
||||
* src/plugins/DetDescendantReport.py: fix for multiple notes.
|
||||
|
||||
|
@ -107,8 +107,6 @@ class BareReportDialog(ManagedWindow.ManagedWindow):
|
||||
self.pagecount_menu = None
|
||||
self.extra_menu = None
|
||||
self.extra_textbox = None
|
||||
self.pagebreak_checkbox = None
|
||||
self.generations_spinbox = None
|
||||
self.widgets = []
|
||||
self.frame_names = []
|
||||
self.frames = {}
|
||||
@ -116,8 +114,6 @@ class BareReportDialog(ManagedWindow.ManagedWindow):
|
||||
self.style_button = None
|
||||
|
||||
self.style_name = self.options.handler.get_default_stylesheet_name()
|
||||
(self.max_gen,self.page_breaks) = \
|
||||
self.options.handler.get_report_generations()
|
||||
|
||||
window = gtk.Dialog('GRAMPS')
|
||||
self.set_window(window,None,self.get_title())
|
||||
@ -195,12 +191,6 @@ class BareReportDialog(ManagedWindow.ManagedWindow):
|
||||
this function."""
|
||||
return "basic_report.xml"
|
||||
|
||||
def get_report_generations(self):
|
||||
"""Return the default number of generations to start the
|
||||
spinbox (zero to disable) and whether or not to include the
|
||||
'page break between generations' check box"""
|
||||
return (10, 1)
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# Functions related to extending the options
|
||||
@ -379,13 +369,7 @@ class BareReportDialog(ManagedWindow.ManagedWindow):
|
||||
(but not all) dialog boxes."""
|
||||
|
||||
row = 0
|
||||
max_rows = 0
|
||||
if self.max_gen:
|
||||
max_rows = max_rows + 2
|
||||
#if self.page_breaks:
|
||||
# max_rows = max_rows + 1
|
||||
|
||||
max_rows = max_rows + len(self.widgets)
|
||||
max_rows = len(self.widgets)
|
||||
|
||||
if max_rows == 0:
|
||||
return
|
||||
@ -401,29 +385,6 @@ class BareReportDialog(ManagedWindow.ManagedWindow):
|
||||
table.set_border_width(6)
|
||||
self.notebook.append_page(table,label)
|
||||
row += 1
|
||||
|
||||
# Set up the generations spin and page break checkbox
|
||||
if self.max_gen:
|
||||
self.generations_spinbox = gtk.SpinButton(digits=0)
|
||||
self.generations_spinbox.set_numeric(1)
|
||||
adjustment = gtk.Adjustment(self.max_gen,1,999,1,0)
|
||||
self.generations_spinbox.set_adjustment(adjustment)
|
||||
adjustment.value_changed()
|
||||
label = gtk.Label("%s:" % _("Generations"))
|
||||
label.set_alignment(0.0,0.5)
|
||||
table.attach(label, 1, 2, row, row+1,
|
||||
gtk.SHRINK|gtk.FILL, gtk.SHRINK|gtk.FILL)
|
||||
table.attach(self.generations_spinbox, 2, 3, row, row+1,
|
||||
gtk.EXPAND|gtk.FILL,gtk.SHRINK|gtk.FILL)
|
||||
row += 1
|
||||
|
||||
#if self.page_breaks:
|
||||
msg = _("Page break between generations")
|
||||
self.pagebreak_checkbox = gtk.CheckButton(msg)
|
||||
self.pagebreak_checkbox.set_active(self.page_breaks)
|
||||
table.attach(self.pagebreak_checkbox,2,3,row,row+1,
|
||||
yoptions=gtk.SHRINK)
|
||||
row += 1
|
||||
|
||||
# Setup requested widgets
|
||||
for (text,widget) in self.widgets:
|
||||
@ -506,20 +467,6 @@ class BareReportDialog(ManagedWindow.ManagedWindow):
|
||||
whether or not they are displayed on the screen. The subclass
|
||||
will know which ones it has enabled. This is for simplicity
|
||||
of programming."""
|
||||
|
||||
if self.generations_spinbox:
|
||||
self.max_gen = self.generations_spinbox.get_value_as_int()
|
||||
else:
|
||||
self.max_gen = 0
|
||||
|
||||
if self.pagebreak_checkbox and self.pagebreak_checkbox.get_active():
|
||||
self.pg_brk = 1
|
||||
else:
|
||||
self.pg_brk = 0
|
||||
|
||||
if self.max_gen or self.pg_brk:
|
||||
self.options.handler.set_report_generations(self.max_gen,self.pg_brk)
|
||||
|
||||
if self.extra_menu:
|
||||
self.report_menu = self.extra_menu.get_menu().get_active().get_data("d")
|
||||
else:
|
||||
|
@ -114,21 +114,10 @@ class CommandLineReport:
|
||||
self.options_help['id'].append(id_list)
|
||||
self.options_help['id'].append(False)
|
||||
|
||||
if self.options_dict.has_key('gen'):
|
||||
max_gen = self.options_dict['gen']
|
||||
page_breaks = self.options_dict['pagebbg']
|
||||
self.option_class.handler.set_report_generations(max_gen,
|
||||
page_breaks)
|
||||
|
||||
self.options_help['gen'].append("Whatever Number You Wish")
|
||||
self.options_help['pagebbg'].append([
|
||||
"No page break","Page break"])
|
||||
self.options_help['pagebbg'].append(True)
|
||||
|
||||
self.option_class.handler.output = self.options_dict['of']
|
||||
self.options_help['of'].append(os.path.join(const.user_home,
|
||||
"whatever_name"))
|
||||
|
||||
|
||||
if self.category == CATEGORY_TEXT:
|
||||
for item in PluginUtils.textdoc_list:
|
||||
if item[7] == self.options_dict['off']:
|
||||
|
@ -408,20 +408,6 @@ class OptionHandler(_Options.OptionHandler):
|
||||
self.option_list_collection.set_last_paper_name(self.paper_name)
|
||||
self.option_list_collection.set_last_format_name(self.format_name)
|
||||
|
||||
def get_report_generations(self):
|
||||
if self.default_options_dict.has_key('gen'):
|
||||
max_gen = self.options_dict.get('gen',
|
||||
self.default_options_dict['gen'])
|
||||
page_breaks = self.options_dict.get('pagebbg',
|
||||
self.default_options_dict['pagebbg'])
|
||||
return (max_gen,page_breaks)
|
||||
else:
|
||||
return (0,0)
|
||||
|
||||
def set_report_generations(self,max_gen,page_breaks):
|
||||
self.options_dict['gen'] = max_gen
|
||||
self.options_dict['pagebbg'] = page_breaks
|
||||
|
||||
def get_stylesheet_savefile(self):
|
||||
"""Where to save user defined styles for this report."""
|
||||
return "%s.xml" % self.module_name
|
||||
@ -574,11 +560,3 @@ class ReportOptions(_Options.Options):
|
||||
This method MUST NOT be overridden by subclasses.
|
||||
"""
|
||||
self.handler.newpage = val
|
||||
|
||||
def get_report_generations(self):
|
||||
"""
|
||||
Return (max_generations,page_breaks) tuple.
|
||||
|
||||
This method MUST NOT be overridden by subclasses.
|
||||
"""
|
||||
return self.handler.get_report_generations()
|
||||
|
@ -75,8 +75,8 @@ class AncestorReport(Report):
|
||||
Report.__init__(self,database,person,options_class)
|
||||
|
||||
self.map = {}
|
||||
(self.max_generations,self.pgbrk) \
|
||||
= options_class.get_report_generations()
|
||||
self.max_generations = options_class.handler.options_dict['gen']
|
||||
self.pgbrk = options_class.handler.options_dict['pagebbg']
|
||||
self.opt_namebrk = options_class.handler.options_dict['namebrk']
|
||||
|
||||
def apply_filter(self,person_handle,index,generation=1):
|
||||
@ -218,19 +218,20 @@ class AncestorOptions(ReportOptions):
|
||||
def __init__(self,name,person_id=None):
|
||||
ReportOptions.__init__(self,name,person_id)
|
||||
|
||||
def enable_options(self):
|
||||
# Semi-common options that should be enabled for this report
|
||||
self.enable_dict = {
|
||||
'gen' : 10,
|
||||
'pagebbg' : 0,
|
||||
}
|
||||
|
||||
def set_new_options(self):
|
||||
# Options specific for this report
|
||||
self.options_dict = {
|
||||
'gen' : 10,
|
||||
'pagebbg' : 0,
|
||||
'namebrk' : 0,
|
||||
}
|
||||
self.options_help = {
|
||||
'gen' : ("=int","Generations",
|
||||
"The number of generations to include in the report",
|
||||
True),
|
||||
'pagebbg' : ("=0/1","Page Break Between Generations",
|
||||
["No line break", "Insert line break"],
|
||||
False),
|
||||
'namebrk' : ("=0/1","Indicates if a line break should follow the name.",
|
||||
["No line break", "Insert line break"],
|
||||
False),
|
||||
@ -308,6 +309,14 @@ class AncestorOptions(ReportOptions):
|
||||
Override the base class add_user_options task to add a check box to
|
||||
the dialog that for the LineBreak option.
|
||||
"""
|
||||
self.max_gen = gtk.SpinButton(gtk.Adjustment(1,1,100,1))
|
||||
self.max_gen.set_value(self.options_dict['gen'])
|
||||
dialog.add_option(_('Generations'),self.max_gen)
|
||||
|
||||
self.cb_pagebreak = gtk.CheckButton (_("Page break between generations"))
|
||||
self.cb_pagebreak.set_active (self.options_dict['pagebbg'])
|
||||
dialog.add_option ('', self.cb_pagebreak)
|
||||
|
||||
self.cb_break = gtk.CheckButton (_("Add linebreak after each name"))
|
||||
self.cb_break.set_active (self.options_dict['namebrk'])
|
||||
dialog.add_option ('', self.cb_break)
|
||||
@ -317,6 +326,8 @@ class AncestorOptions(ReportOptions):
|
||||
Parses the custom options that we have added. Set the value in the
|
||||
options dictionary.
|
||||
"""
|
||||
self.options_dict['gen'] = self.max_gen.get_value_as_int()
|
||||
self.options_dict['pagebbg'] = int(self.cb_pagebreak.get_active ())
|
||||
self.options_dict['namebrk'] = int(self.cb_break.get_active ())
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
|
@ -2,6 +2,7 @@
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2000-2006 Donald N. Allingham
|
||||
# (C) 2007 Brian Matherly
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@ -76,14 +77,12 @@ class DescendantReport(Report):
|
||||
that come in the options class.
|
||||
|
||||
gen - Maximum number of generations to include.
|
||||
pagebbg - Whether to include page breaks between generations.
|
||||
|
||||
"""
|
||||
|
||||
Report.__init__(self,database,person,options_class)
|
||||
|
||||
(self.max_generations,self.pgbrk) \
|
||||
= options_class.get_report_generations()
|
||||
self.max_generations = options_class.handler.options_dict['gen']
|
||||
sort = Sort.Sort(self.database)
|
||||
self.by_birthdate = sort.by_birthdate
|
||||
|
||||
@ -199,12 +198,31 @@ class DescendantOptions(ReportOptions):
|
||||
def __init__(self,name,person_id=None):
|
||||
ReportOptions.__init__(self,name,person_id)
|
||||
|
||||
def enable_options(self):
|
||||
# Semi-common options that should be enabled for this report
|
||||
self.enable_dict = {
|
||||
'gen' : 10,
|
||||
'pagebbg' : 0,
|
||||
def set_new_options(self):
|
||||
# Options specific for this report
|
||||
self.options_dict = {
|
||||
'gen' : 10,
|
||||
}
|
||||
self.options_help = {
|
||||
'gen' : ("=int","Generations",
|
||||
"The number of generations to include in the report",
|
||||
True),
|
||||
}
|
||||
|
||||
def add_user_options(self,dialog):
|
||||
"""
|
||||
Override the base class add_user_options task to add generations option
|
||||
"""
|
||||
self.max_gen = gtk.SpinButton(gtk.Adjustment(1,1,100,1))
|
||||
self.max_gen.set_value(self.options_dict['gen'])
|
||||
dialog.add_option(_('Generations'),self.max_gen)
|
||||
|
||||
def parse_user_options(self,dialog):
|
||||
"""
|
||||
Parses the custom options that we have added. Set the value in the
|
||||
options dictionary.
|
||||
"""
|
||||
self.options_dict['gen'] = self.max_gen.get_value_as_int()
|
||||
|
||||
def make_default_style(self,default_style):
|
||||
"""Make the default output style for the Descendant Report."""
|
||||
|
@ -3,6 +3,7 @@
|
||||
#
|
||||
# Copyright (C) 2000-2002 Bruce J. DeGrasse
|
||||
# Copyright (C) 2000-2006 Donald N. Allingham
|
||||
# Copyright (C) 2007 Brian Matherly
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@ -98,9 +99,8 @@ class DetAncestorReport(Report):
|
||||
|
||||
self.map = {}
|
||||
|
||||
(self.max_generations,self.pgbrk) \
|
||||
= options_class.get_report_generations()
|
||||
|
||||
self.max_generations = options_class.handler.options_dict['gen']
|
||||
self.pgbrk = options_class.handler.options_dict['pagebbg']
|
||||
self.fullDate = options_class.handler.options_dict['fulldates']
|
||||
self.listChildren = options_class.handler.options_dict['listc']
|
||||
self.includeNotes = options_class.handler.options_dict['incnotes']
|
||||
@ -689,6 +689,8 @@ class DetAncestorOptions(ReportOptions):
|
||||
def set_new_options(self):
|
||||
# Options specific for this report
|
||||
self.options_dict = {
|
||||
'gen' : 10,
|
||||
'pagebbg' : 0,
|
||||
'fulldates' : 1,
|
||||
'listc' : 1,
|
||||
'incnotes' : 1,
|
||||
@ -705,6 +707,12 @@ class DetAncestorOptions(ReportOptions):
|
||||
'incsources' : 0,
|
||||
}
|
||||
self.options_help = {
|
||||
'gen' : ("=int","Generations",
|
||||
"The number of generations to include in the report",
|
||||
True),
|
||||
'pagebbg' : ("=0/1","Page Break Between Generations",
|
||||
["No line break", "Insert line break"],
|
||||
False),
|
||||
'fulldates' : ("=0/1","Whether to use full dates instead of just year.",
|
||||
["Do not use full dates","Use full dates"],
|
||||
True),
|
||||
@ -749,13 +757,6 @@ class DetAncestorOptions(ReportOptions):
|
||||
True),
|
||||
}
|
||||
|
||||
def enable_options(self):
|
||||
# Semi-common options that should be enabled for this report
|
||||
self.enable_dict = {
|
||||
'gen' : 10,
|
||||
'pagebbg' : 0,
|
||||
}
|
||||
|
||||
def make_default_style(self,default_style):
|
||||
"""Make the default output style for the Detailed Ancestral Report"""
|
||||
font = BaseDoc.FontStyle()
|
||||
@ -864,6 +865,11 @@ class DetAncestorOptions(ReportOptions):
|
||||
Override the base class add_user_options task to add a menu that allows
|
||||
the user to select the sort method.
|
||||
"""
|
||||
self.max_gen = gtk.SpinButton(gtk.Adjustment(1,1,100,1))
|
||||
self.max_gen.set_value(self.options_dict['gen'])
|
||||
|
||||
self.cb_pagebreak = gtk.CheckButton (_("Page break between generations"))
|
||||
self.cb_pagebreak.set_active (self.options_dict['pagebbg'])
|
||||
|
||||
# Full date usage
|
||||
self.full_date_option = gtk.CheckButton(_("Use full dates instead of only the year"))
|
||||
@ -924,7 +930,8 @@ class DetAncestorOptions(ReportOptions):
|
||||
# Add new options. The first argument is the tab name for grouping options.
|
||||
# if you want to put everyting in the generic "Options" category, use
|
||||
# self.add_option(text,widget) instead of self.add_frame_option(category,text,widget)
|
||||
|
||||
dialog.add_option(_('Generations'),self.max_gen)
|
||||
dialog.add_option ('', self.cb_pagebreak)
|
||||
dialog.add_frame_option(_('Content'),'',self.usecall)
|
||||
dialog.add_frame_option(_('Content'),'',self.full_date_option)
|
||||
dialog.add_frame_option(_('Content'),'',self.list_children_option)
|
||||
@ -944,7 +951,8 @@ class DetAncestorOptions(ReportOptions):
|
||||
"""
|
||||
Parses the custom options that we have added.
|
||||
"""
|
||||
|
||||
self.options_dict['gen'] = self.max_gen.get_value_as_int()
|
||||
self.options_dict['pagebbg'] = int(self.cb_pagebreak.get_active ())
|
||||
self.options_dict['fulldates'] = int(self.full_date_option.get_active())
|
||||
self.options_dict['listc'] = int(self.list_children_option.get_active())
|
||||
self.options_dict['incnotes'] = int(self.include_notes_option.get_active())
|
||||
|
@ -3,6 +3,7 @@
|
||||
#
|
||||
# Copyright (C) 2000-2002 Bruce J. DeGrasse
|
||||
# Copyright (C) 2000-2006 Donald N. Allingham
|
||||
# Copyright (C) 2007 Brian Matherly
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@ -101,9 +102,8 @@ class DetDescendantReport(Report):
|
||||
|
||||
self.map = {}
|
||||
|
||||
(self.max_generations,self.pgbrk) \
|
||||
= options_class.get_report_generations()
|
||||
|
||||
self.max_generations = options_class.handler.options_dict['gen']
|
||||
self.pgbrk = options_class.handler.options_dict['pagebbg']
|
||||
self.fullDate = options_class.handler.options_dict['fulldates']
|
||||
self.listChildren = options_class.handler.options_dict['listc']
|
||||
self.includeNotes = options_class.handler.options_dict['incnotes']
|
||||
@ -715,6 +715,8 @@ class DetDescendantOptions(ReportOptions):
|
||||
def set_new_options(self):
|
||||
# Options specific for this report
|
||||
self.options_dict = {
|
||||
'gen' : 10,
|
||||
'pagebbg' : 0,
|
||||
'fulldates' : 1,
|
||||
'listc' : 1,
|
||||
'incnotes' : 1,
|
||||
@ -732,6 +734,12 @@ class DetDescendantOptions(ReportOptions):
|
||||
'incmates' : 1,
|
||||
}
|
||||
self.options_help = {
|
||||
'gen' : ("=int","Generations",
|
||||
"The number of generations to include in the report",
|
||||
True),
|
||||
'pagebbg' : ("=0/1","Page Break Between Generations",
|
||||
["No line break", "Insert line break"],
|
||||
False),
|
||||
'fulldates' : ("=0/1","Whether to use full dates instead of just year.",
|
||||
["Do not use full dates","Use full dates"],
|
||||
True),
|
||||
@ -779,13 +787,6 @@ class DetDescendantOptions(ReportOptions):
|
||||
True),
|
||||
}
|
||||
|
||||
def enable_options(self):
|
||||
# Semi-common options that should be enabled for this report
|
||||
self.enable_dict = {
|
||||
'gen' : 10,
|
||||
'pagebbg' : 0,
|
||||
}
|
||||
|
||||
def make_default_style(self,default_style):
|
||||
"""Make the default output style for the Detailed Ancestral Report"""
|
||||
font = BaseDoc.FontStyle()
|
||||
@ -894,6 +895,11 @@ class DetDescendantOptions(ReportOptions):
|
||||
Override the base class add_user_options task to add a menu that allows
|
||||
the user to select the sort method.
|
||||
"""
|
||||
self.max_gen = gtk.SpinButton(gtk.Adjustment(1,1,100,1))
|
||||
self.max_gen.set_value(self.options_dict['gen'])
|
||||
|
||||
self.cb_pagebreak = gtk.CheckButton (_("Page break between generations"))
|
||||
self.cb_pagebreak.set_active (self.options_dict['pagebbg'])
|
||||
|
||||
# Full date usage
|
||||
self.full_date_option = gtk.CheckButton(_("Use full dates instead of only the year"))
|
||||
@ -958,7 +964,8 @@ class DetDescendantOptions(ReportOptions):
|
||||
# Add new options. The first argument is the tab name for grouping options.
|
||||
# if you want to put everyting in the generic "Options" category, use
|
||||
# self.add_option(text,widget) instead of self.add_frame_option(category,text,widget)
|
||||
|
||||
dialog.add_option(_('Generations'),self.max_gen)
|
||||
dialog.add_option ('', self.cb_pagebreak)
|
||||
dialog.add_frame_option(_('Content'),'',self.usecall)
|
||||
dialog.add_frame_option(_('Content'),'',self.full_date_option)
|
||||
dialog.add_frame_option(_('Content'),'',self.list_children_option)
|
||||
@ -979,7 +986,8 @@ class DetDescendantOptions(ReportOptions):
|
||||
"""
|
||||
Parses the custom options that we have added.
|
||||
"""
|
||||
|
||||
self.options_dict['gen'] = self.max_gen.get_value_as_int()
|
||||
self.options_dict['pagebbg'] = int(self.cb_pagebreak.get_active ())
|
||||
self.options_dict['fulldates'] = int(self.full_date_option.get_active())
|
||||
self.options_dict['listc'] = int(self.list_children_option.get_active())
|
||||
self.options_dict['usecall'] = int(self.usecall.get_active())
|
||||
|
Loading…
Reference in New Issue
Block a user