2006-04-27 Alex Roitman <shura@gramps-project.org>
* src/ViewManager.py (ViewManager.build_plugin_menu): Use unique command-line name for action menu. * src/plugins/GraphViz.py: Fix report. * src/PluginUtils/_PluginMgr.py (_register_standalone): Remove unneeded import. * src/PluginUtils/_Plugins.py (build_tools_menu, build_report_menu, build_plugin_menu, by_menu_name): Remove functions already re-implemented in ViewManager. * src/plugins/EventCmp.py: Correct button label. * src/plugins/StatisticsChart.py: Fix report. svn: r6481
This commit is contained in:
parent
9d695790d0
commit
d2698f566a
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
|||||||
|
2006-04-27 Alex Roitman <shura@gramps-project.org>
|
||||||
|
* src/ViewManager.py (ViewManager.build_plugin_menu): Use unique
|
||||||
|
command-line name for action menu.
|
||||||
|
* src/plugins/GraphViz.py: Fix report.
|
||||||
|
* src/PluginUtils/_PluginMgr.py (_register_standalone): Remove
|
||||||
|
unneeded import.
|
||||||
|
* src/PluginUtils/_Plugins.py (build_tools_menu, build_report_menu,
|
||||||
|
build_plugin_menu, by_menu_name): Remove functions already
|
||||||
|
re-implemented in ViewManager.
|
||||||
|
* src/plugins/EventCmp.py: Correct button label.
|
||||||
|
* src/plugins/StatisticsChart.py: Fix report.
|
||||||
|
|
||||||
2006-04-27 Don Allingham <don@gramps-project.org>
|
2006-04-27 Don Allingham <don@gramps-project.org>
|
||||||
* src/GrampsDb/_GrampsDbBase.py: fix custom event storing
|
* src/GrampsDb/_GrampsDbBase.py: fix custom event storing
|
||||||
* src/GrampsDb/_GrampsBSDDB.py: fix custom event storing
|
* src/GrampsDb/_GrampsBSDDB.py: fix custom event storing
|
||||||
|
@ -293,8 +293,6 @@ def _register_standalone(report_class, options_class, translated_name,
|
|||||||
unsupported=False
|
unsupported=False
|
||||||
):
|
):
|
||||||
"""Register a report with the plugin system"""
|
"""Register a report with the plugin system"""
|
||||||
|
|
||||||
from PluginUtils import Report
|
|
||||||
|
|
||||||
del_index = -1
|
del_index = -1
|
||||||
for i in range(0,len(report_list)):
|
for i in range(0,len(report_list)):
|
||||||
|
@ -293,86 +293,6 @@ class ToolPlugins(PluginDialog):
|
|||||||
_("Run selected tool"),
|
_("Run selected tool"),
|
||||||
TOOLS)
|
TOOLS)
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# Building pulldown menus
|
|
||||||
#
|
|
||||||
#-------------------------------------------------------------------------
|
|
||||||
def build_tools_menu(top_menu,callback):
|
|
||||||
build_plugin_menu(_PluginMgr.tool_list,
|
|
||||||
_Tool.tool_categories,
|
|
||||||
_Tool.gui_tool,
|
|
||||||
top_menu,callback)
|
|
||||||
|
|
||||||
def build_report_menu(top_menu,callback):
|
|
||||||
build_plugin_menu(_PluginMgr.report_list,
|
|
||||||
_Report.standalone_categories,
|
|
||||||
_Report.report,
|
|
||||||
top_menu,callback)
|
|
||||||
|
|
||||||
def build_plugin_menu(item_list,categories,func,top_menu,callback):
|
|
||||||
menu = gtk.Menu()
|
|
||||||
menu.show()
|
|
||||||
|
|
||||||
hash_data = {}
|
|
||||||
for item in item_list:
|
|
||||||
if item[9]:
|
|
||||||
category = UNSUPPORTED
|
|
||||||
else:
|
|
||||||
category = categories[item[3]]
|
|
||||||
if hash_data.has_key(category):
|
|
||||||
hash_data[category].append(
|
|
||||||
(item[0],item[1],item[2],item[4],item[3]))
|
|
||||||
else:
|
|
||||||
hash_data[category] = [
|
|
||||||
(item[0],item[1],item[2],item[4],item[3])]
|
|
||||||
|
|
||||||
# Sort categories, skipping the unsupported
|
|
||||||
catlist = [item for item in hash_data.keys() if item != UNSUPPORTED]
|
|
||||||
catlist.sort()
|
|
||||||
for key in catlist:
|
|
||||||
entry = gtk.MenuItem(key)
|
|
||||||
entry.show()
|
|
||||||
menu.append(entry)
|
|
||||||
submenu = gtk.Menu()
|
|
||||||
submenu.show()
|
|
||||||
entry.set_submenu(submenu)
|
|
||||||
lst = hash_data[key]
|
|
||||||
lst.sort(by_menu_name)
|
|
||||||
for name in lst:
|
|
||||||
subentry = gtk.MenuItem("%s..." % name[2])
|
|
||||||
subentry.show()
|
|
||||||
subentry.connect("activate",callback,func,
|
|
||||||
name[0],name[1],name[2],name[3],name[4])
|
|
||||||
submenu.append(subentry)
|
|
||||||
|
|
||||||
# If there are any unsupported items we add separator
|
|
||||||
# and the unsupported category at the end of the menu
|
|
||||||
if hash_data.has_key(UNSUPPORTED):
|
|
||||||
entry = gtk.MenuItem(None)
|
|
||||||
entry.show()
|
|
||||||
menu.append(entry)
|
|
||||||
key = UNSUPPORTED
|
|
||||||
entry = gtk.MenuItem(key)
|
|
||||||
entry.show()
|
|
||||||
menu.append(entry)
|
|
||||||
submenu = gtk.Menu()
|
|
||||||
submenu.show()
|
|
||||||
entry.set_submenu(submenu)
|
|
||||||
lst = hash_data[key]
|
|
||||||
lst.sort(by_menu_name)
|
|
||||||
for name in lst:
|
|
||||||
subentry = gtk.MenuItem("%s..." % name[2])
|
|
||||||
subentry.show()
|
|
||||||
subentry.connect("activate",callback,func,
|
|
||||||
name[0],name[1],name[2],name[3],name[4])
|
|
||||||
submenu.append(subentry)
|
|
||||||
|
|
||||||
top_menu.set_submenu(menu)
|
|
||||||
|
|
||||||
def by_menu_name(a,b):
|
|
||||||
return cmp(a[2],b[2])
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Reload plugins
|
# Reload plugins
|
||||||
|
@ -1108,7 +1108,8 @@ class ViewManager:
|
|||||||
(item[0], item[1], item[2], item[4], item[3])]
|
(item[0], item[1], item[2], item[4], item[3])]
|
||||||
|
|
||||||
# Sort categories, skipping the unsupported
|
# Sort categories, skipping the unsupported
|
||||||
catlist = [item for item in hash_data.keys() if item != Plugins.UNSUPPORTED]
|
catlist = [item for item in hash_data.keys()
|
||||||
|
if item != Plugins.UNSUPPORTED]
|
||||||
catlist.sort()
|
catlist.sort()
|
||||||
for key in catlist:
|
for key in catlist:
|
||||||
new_key = key.replace(' ', '-')
|
new_key = key.replace(' ', '-')
|
||||||
@ -1117,7 +1118,7 @@ class ViewManager:
|
|||||||
lst = hash_data[key]
|
lst = hash_data[key]
|
||||||
lst.sort(by_menu_name)
|
lst.sort(by_menu_name)
|
||||||
for name in lst:
|
for name in lst:
|
||||||
new_key = name[2].replace(' ', '-')
|
new_key = name[3].replace(' ', '-')
|
||||||
f.write('<menuitem action="%s"/>' % new_key)
|
f.write('<menuitem action="%s"/>' % new_key)
|
||||||
actions.append((new_key, None, name[2], None, None,
|
actions.append((new_key, None, name[2], None, None,
|
||||||
func(name, self.state, self.uistate)))
|
func(name, self.state, self.uistate)))
|
||||||
@ -1132,7 +1133,7 @@ class ViewManager:
|
|||||||
lst = hash_data[key]
|
lst = hash_data[key]
|
||||||
lst.sort(by_menu_name)
|
lst.sort(by_menu_name)
|
||||||
for name in lst:
|
for name in lst:
|
||||||
new_key = name[2].replace(' ', '-')
|
new_key = name[3].replace(' ', '-')
|
||||||
f.write('<menuitem action="%s"/>' % new_key)
|
f.write('<menuitem action="%s"/>' % new_key)
|
||||||
actions.append((new_key, None, name[2], None, None,
|
actions.append((new_key, None, name[2], None, None,
|
||||||
func(name, self.state, self.uistate)))
|
func(name, self.state, self.uistate)))
|
||||||
|
@ -237,7 +237,6 @@ class DisplayChart(ManagedWindow.ManagedWindow):
|
|||||||
"on_write_table" : self.on_write_table,
|
"on_write_table" : self.on_write_table,
|
||||||
"destroy_passed_object" : self.close,
|
"destroy_passed_object" : self.close,
|
||||||
"on_help_clicked" : self.on_help_clicked,
|
"on_help_clicked" : self.on_help_clicked,
|
||||||
"on_view_delete_event" : self.close,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
window = self.topDialog.get_widget("view")
|
window = self.topDialog.get_widget("view")
|
||||||
@ -375,7 +374,7 @@ class DisplayChart(ManagedWindow.ManagedWindow):
|
|||||||
action=gtk.FILE_CHOOSER_ACTION_SAVE,
|
action=gtk.FILE_CHOOSER_ACTION_SAVE,
|
||||||
buttons=(gtk.STOCK_CANCEL,
|
buttons=(gtk.STOCK_CANCEL,
|
||||||
gtk.RESPONSE_CANCEL,
|
gtk.RESPONSE_CANCEL,
|
||||||
gtk.STOCK_OPEN,
|
gtk.STOCK_SAVE,
|
||||||
gtk.RESPONSE_OK))
|
gtk.RESPONSE_OK))
|
||||||
|
|
||||||
f.set_current_folder(os.getcwd())
|
f.set_current_folder(os.getcwd())
|
||||||
|
@ -244,12 +244,16 @@ class GraphViz:
|
|||||||
for person_handle in self.ind_list:
|
for person_handle in self.ind_list:
|
||||||
person = self.database.get_person_from_handle(person_handle)
|
person = self.database.get_person_from_handle(person_handle)
|
||||||
pid = person.get_gramps_id().replace('-','_')
|
pid = person.get_gramps_id().replace('-','_')
|
||||||
for family_handle, mrel, frel in person.get_parent_family_handle_list():
|
for family_handle in person.get_parent_family_handle_list():
|
||||||
family = self.database.get_family_from_handle(family_handle)
|
family = self.database.get_family_from_handle(family_handle)
|
||||||
|
madopted = False
|
||||||
|
fadopted = False
|
||||||
|
for child_ref in family.get_child_ref_list():
|
||||||
|
if child_ref.ref == person_handle:
|
||||||
|
fadopted = child_ref.frel != RelLib.ChildRefType.BIRTH
|
||||||
|
madopted = child_ref.mrel != RelLib.ChildRefType.BIRTH
|
||||||
father_handle = family.get_father_handle()
|
father_handle = family.get_father_handle()
|
||||||
mother_handle = family.get_mother_handle()
|
mother_handle = family.get_mother_handle()
|
||||||
fadopted = frel != RelLib.ChildRefType.BIRTH
|
|
||||||
madopted = mrel != RelLib.ChildRefType.BIRTH
|
|
||||||
famid = family.get_gramps_id().replace('-','_')
|
famid = family.get_gramps_id().replace('-','_')
|
||||||
if (self.show_families and
|
if (self.show_families and
|
||||||
(father_handle and person_dict.has_key(father_handle) or
|
(father_handle and person_dict.has_key(father_handle) or
|
||||||
@ -765,7 +769,6 @@ class GraphVizDialog(Report.ReportDialog):
|
|||||||
self.category = Report.CATEGORY_CODE
|
self.category = Report.CATEGORY_CODE
|
||||||
Report.ReportDialog.__init__(self,database,person,self.options_class,
|
Report.ReportDialog.__init__(self,database,person,self.options_class,
|
||||||
name,translated_name)
|
name,translated_name)
|
||||||
|
|
||||||
response = self.window.run()
|
response = self.window.run()
|
||||||
if response == gtk.RESPONSE_OK:
|
if response == gtk.RESPONSE_OK:
|
||||||
try:
|
try:
|
||||||
|
@ -50,13 +50,13 @@ import gtk
|
|||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
|
|
||||||
# Person and relation types
|
# Person and relation types
|
||||||
from RelLib import Person, Family
|
from RelLib import Person, FamilyRelType, EventType
|
||||||
# gender and report type names
|
# gender and report type names
|
||||||
import BaseDoc
|
import BaseDoc
|
||||||
from PluginUtils import Report, ReportOptions, ReportUtils, register_report
|
from PluginUtils import Report, ReportOptions, ReportUtils, register_report
|
||||||
import GenericFilter
|
import GenericFilter
|
||||||
import DateHandler
|
import DateHandler
|
||||||
from Utils import ProgressMeter, format_event
|
from Utils import ProgressMeter
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -252,7 +252,7 @@ class Extract:
|
|||||||
person, event_handles = data
|
person, event_handles = data
|
||||||
for event_handle in event_handles:
|
for event_handle in event_handles:
|
||||||
event = self.db.get_event_from_handle(event_handle)
|
event = self.db.get_event_from_handle(event_handle)
|
||||||
evtType = format_event( event.get_type() )
|
evtType = str(event.get_type())
|
||||||
types.append(evtType)
|
types.append(evtType)
|
||||||
if types:
|
if types:
|
||||||
return types
|
return types
|
||||||
@ -336,8 +336,8 @@ class Extract:
|
|||||||
children = []
|
children = []
|
||||||
for fam_handle in person.get_family_handle_list():
|
for fam_handle in person.get_family_handle_list():
|
||||||
fam = self.db.get_family_from_handle(fam_handle)
|
fam = self.db.get_family_from_handle(fam_handle)
|
||||||
for child_handle in fam.get_child_handle_list():
|
for child_ref in fam.get_child_ref_list():
|
||||||
children.append(child_handle)
|
children.append(child_ref.ref)
|
||||||
# TODO: it would be good to return only biological children,
|
# TODO: it would be good to return only biological children,
|
||||||
# but GRAMPS doesn't offer any efficient way to check that
|
# but GRAMPS doesn't offer any efficient way to check that
|
||||||
# (I don't want to check each children's parent family mother
|
# (I don't want to check each children's parent family mother
|
||||||
@ -351,12 +351,11 @@ class Extract:
|
|||||||
marriages = []
|
marriages = []
|
||||||
for family_handle in person.get_family_handle_list():
|
for family_handle in person.get_family_handle_list():
|
||||||
family = self.db.get_family_from_handle(family_handle)
|
family = self.db.get_family_from_handle(family_handle)
|
||||||
if family.get_relationship() == Family.MARRIED:
|
if int(family.get_relationship()) == FamilyRelType.MARRIED:
|
||||||
for event_handle in family.get_event_list():
|
for event_ref in family.get_event_ref_list():
|
||||||
if event_handle:
|
event = self.db.get_event_from_handle(event_ref.ref)
|
||||||
event = self.db.get_event_from_handle(event_handle)
|
if int(event.get_type()) == EventType.MARRIAGE:
|
||||||
if event.get_name() == "Marriage":
|
marriages.append(event_ref.ref)
|
||||||
marriages.append(event_handle)
|
|
||||||
if marriages:
|
if marriages:
|
||||||
return (person, marriages)
|
return (person, marriages)
|
||||||
return None
|
return None
|
||||||
@ -373,7 +372,7 @@ class Extract:
|
|||||||
"return list of event handles for given person or None"
|
"return list of event handles for given person or None"
|
||||||
events = []
|
events = []
|
||||||
for event_ref in person.get_event_ref_list():
|
for event_ref in person.get_event_ref_list():
|
||||||
events.append( event_ref.get_reference_handle())
|
events.append(event_ref.ref)
|
||||||
|
|
||||||
if events:
|
if events:
|
||||||
return (person, events)
|
return (person, events)
|
||||||
|
Loading…
Reference in New Issue
Block a user