* src/plugins/BookReport.py: Switch to saving/restoring/registering
items by the non-localized name. * src/plugins/GraphViz.py: Many various fixes. svn: r3911
This commit is contained in:
		| @@ -2,6 +2,10 @@ | ||||
| 	* src/Report.py: Typos. | ||||
| 	* src/plugins/WebPage.py: Typos. | ||||
|  | ||||
| 	* src/plugins/BookReport.py: Switch to saving/restoring/registering | ||||
| 	items by the non-localized name. | ||||
| 	* src/plugins/GraphViz.py: Many various fixes. | ||||
|  | ||||
| 2005-01-13  Martin Hawlisch  <Martin.Hawlisch@gmx.de> | ||||
| 	* src/plugins/Check.py: Typos. | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| # | ||||
| # Gramps - a GTK+/GNOME based genealogy program | ||||
| # | ||||
| # Copyright (C) 2003-2004  Donald N. Allingham | ||||
| # Copyright (C) 2003-2005  Donald N. Allingham | ||||
| # | ||||
| # 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 | ||||
| @@ -94,14 +94,14 @@ class BookItem: | ||||
|          | ||||
|         Everything gets set to empty values except for the style_name""" | ||||
|  | ||||
|         self.name = "" | ||||
|         self.translated_name = "" | ||||
|         self.category = "" | ||||
|         self.write_item = None | ||||
|         self.option_class = None | ||||
|         self.style_file = "" | ||||
|         self.style_name = "default" | ||||
|         self.make_default_style = None | ||||
|         self.item_name = "" | ||||
|         self.name = "" | ||||
|  | ||||
|     def get_registered_item(self,name): | ||||
|         """  | ||||
| @@ -112,12 +112,12 @@ class BookItem: | ||||
|  | ||||
|         self.clear() | ||||
|         for item in PluginMgr.bkitems_list: | ||||
|             if item[0] == name: | ||||
|                 self.name = item[0] | ||||
|             if item[4] == name: | ||||
|                 self.translated_name = item[0] | ||||
|                 self.category = item[1] | ||||
|                 self.write_item = item[2] | ||||
|                 self.item_name = item[4] | ||||
|                 self.option_class = item[3](self.item_name) | ||||
|                 self.name = item[4] | ||||
|                 self.option_class = item[3](self.name) | ||||
|  | ||||
|     def get_name(self): | ||||
|         """ | ||||
| @@ -125,6 +125,12 @@ class BookItem: | ||||
|         """ | ||||
|         return self.name | ||||
|  | ||||
|     def get_translated_name(self): | ||||
|         """ | ||||
|         Returns the translated name of the item. | ||||
|         """ | ||||
|         return self.translated_name | ||||
|  | ||||
|     def get_category(self): | ||||
|         """ | ||||
|         Returns the category of the item. | ||||
| @@ -343,7 +349,8 @@ class BookList: | ||||
|             dbname = book.get_dbname() | ||||
|             f.write('<book name="%s" database="%s">\n' % (name,dbname) ) | ||||
|             for item in book.get_item_list(): | ||||
|                 f.write('  <item name="%s">\n' % item.get_name() ) | ||||
|                 f.write('  <item name="%s" trans_name="%s">\n' %  | ||||
|                             (item.get_name(),item.get_translated_name() ) ) | ||||
|                 option_handler = item.option_class.handler | ||||
|                 for option_name in option_handler.options_dict.keys(): | ||||
|                     option_value = option_handler.options_dict[option_name] | ||||
| @@ -507,15 +514,15 @@ class BookListDisplay: | ||||
|         if not len(names): | ||||
|             return | ||||
|         for name in names: | ||||
|             iter = self.blist.add([name]) | ||||
|         if iter: | ||||
|             self.blist.selection.select_iter(iter) | ||||
|             the_iter = self.blist.add([name]) | ||||
|         if the_iter: | ||||
|             self.blist.selection.select_iter(the_iter) | ||||
|  | ||||
|     def on_booklist_ok_clicked(self,obj): | ||||
|         """Returns selected book. Saves the current list into xml file.""" | ||||
|         store,iter = self.blist.get_selected() | ||||
|         if iter: | ||||
|             data = self.blist.get_data(iter,[0]) | ||||
|         store,the_iter = self.blist.get_selected() | ||||
|         if the_iter: | ||||
|             data = self.blist.get_data(the_iter,[0]) | ||||
|             self.selection = self.booklist.get_book(data[0]) | ||||
|         if self.dosave: | ||||
|             self.booklist.save() | ||||
| @@ -526,12 +533,12 @@ class BookListDisplay: | ||||
|          | ||||
|         This change is not final. OK button has to be clicked to save the list. | ||||
|         """ | ||||
|         store,iter = self.blist.get_selected() | ||||
|         if not iter: | ||||
|         store,the_iter = self.blist.get_selected() | ||||
|         if not the_iter: | ||||
|             return | ||||
|         data = self.blist.get_data(iter,[0]) | ||||
|         data = self.blist.get_data(the_iter,[0]) | ||||
|         self.booklist.delete_book(data[0]) | ||||
|         self.blist.remove(iter) | ||||
|         self.blist.remove(the_iter) | ||||
|         self.top.run() | ||||
|  | ||||
|     def on_booklist_cancel_clicked(self,obj): | ||||
| @@ -620,8 +627,8 @@ class BookReportSelector: | ||||
|         book_label.set_use_underline(gtk.TRUE) | ||||
|         book_label.set_use_markup(gtk.TRUE) | ||||
|  | ||||
|         av_titles = [(_('Name'),0,150),(_('Type'),1,50)] | ||||
|         bk_titles = [(_('Item name'),-1,150),(_('Type'),-1,50), | ||||
|         av_titles = [(_('Name'),0,150),(_('Type'),1,50),('',-1,0)] | ||||
|         bk_titles = [(_('Item name'),-1,150),(_('Type'),-1,50),('',-1,0), | ||||
|             (_('Center person'),-1,50)] | ||||
|          | ||||
|         self.av_ncols = len(av_titles) | ||||
| @@ -647,7 +654,7 @@ class BookReportSelector: | ||||
|             return | ||||
|  | ||||
|         for book_item in PluginMgr.bkitems_list: | ||||
|             data = [ book_item[0], book_item[1] ]  | ||||
|             data = [ book_item[0], book_item[1], book_item[4] ]  | ||||
|             new_iter = self.av_model.add(data) | ||||
|  | ||||
|         self.av_model.connect_model() | ||||
| @@ -688,8 +695,8 @@ class BookReportSelector: | ||||
|             item.set_style_name(saved_item.get_style_name()) | ||||
|             self.book.append_item(item) | ||||
|              | ||||
|             data = [ item.get_name(), item.get_category() ] | ||||
|             if data[1] == _("Title"): | ||||
|             data = [ item.get_translated_name(), item.get_category(), item.get_name() ] | ||||
|             if data[2] == 'simple_book_title': | ||||
|                 data.append(_("Not Applicable")) | ||||
|             else: | ||||
|                 pname = self.db.get_person_from_gramps_id(person_id) | ||||
| @@ -702,16 +709,16 @@ class BookReportSelector: | ||||
|          | ||||
|         Use the selected available item to get the item's name in the registry. | ||||
|         """ | ||||
|         store,iter = self.av_model.get_selected() | ||||
|         if not iter: | ||||
|         store,the_iter = self.av_model.get_selected() | ||||
|         if not the_iter: | ||||
|             return | ||||
|         data = self.av_model.get_data(iter,range(self.av_ncols)) | ||||
|         if data[1] == _("Title"): | ||||
|         data = self.av_model.get_data(the_iter,range(self.av_ncols)) | ||||
|         if data[2] == 'simple_book_title': | ||||
|             data.append(_("Not Applicable")) | ||||
|         else: | ||||
|             data.append(self.person.get_primary_name().get_regular_name()) | ||||
|         self.bk_model.add(data) | ||||
|         item = BookItem(data[0]) | ||||
|         item = BookItem(data[2]) | ||||
|         person_id = item.option_class.handler.get_person_id() | ||||
|         if not person_id: | ||||
|             person_id = self.person.get_gramps_id() | ||||
| @@ -722,12 +729,12 @@ class BookReportSelector: | ||||
|         """ | ||||
|         Remove the item from the current list of selections. | ||||
|         """ | ||||
|         store,iter = self.bk_model.get_selected() | ||||
|         if not iter: | ||||
|         store,the_iter = self.bk_model.get_selected() | ||||
|         if not the_iter: | ||||
|             return | ||||
|         row = self.bk_model.get_selected_row() | ||||
|         self.book.pop_item(row) | ||||
|         self.bk_model.remove(iter) | ||||
|         self.bk_model.remove(the_iter) | ||||
|  | ||||
|     def on_clear_clicked(self,obj): | ||||
|         """ | ||||
| @@ -743,9 +750,9 @@ class BookReportSelector: | ||||
|         row = self.bk_model.get_selected_row() | ||||
|         if not row or row == -1: | ||||
|             return | ||||
|         store,iter = self.bk_model.get_selected() | ||||
|         data = self.bk_model.get_data(iter,range(self.bk_ncols)) | ||||
|         self.bk_model.remove(iter) | ||||
|         store,the_iter = self.bk_model.get_selected() | ||||
|         data = self.bk_model.get_data(the_iter,range(self.bk_ncols)) | ||||
|         self.bk_model.remove(the_iter) | ||||
|         self.bk_model.insert(row-1,data,None,1) | ||||
|         item = self.book.pop_item(row) | ||||
|         self.book.insert_item(row-1,item) | ||||
| @@ -757,9 +764,9 @@ class BookReportSelector: | ||||
|         row = self.bk_model.get_selected_row() | ||||
|         if row + 1 >= self.bk_model.count or row == -1: | ||||
|             return | ||||
|         store,iter = self.bk_model.get_selected() | ||||
|         data = self.bk_model.get_data(iter,range(self.bk_ncols)) | ||||
|         self.bk_model.remove(iter) | ||||
|         store,the_iter = self.bk_model.get_selected() | ||||
|         data = self.bk_model.get_data(the_iter,range(self.bk_ncols)) | ||||
|         self.bk_model.remove(the_iter) | ||||
|         self.bk_model.insert(row+1,data,None,1) | ||||
|         item = self.book.pop_item(row) | ||||
|         self.book.insert_item(row+1,item) | ||||
| @@ -768,17 +775,18 @@ class BookReportSelector: | ||||
|         """ | ||||
|         Configure currently selected item. | ||||
|         """ | ||||
|         store,iter = self.bk_model.get_selected() | ||||
|         if not iter: | ||||
|         store,the_iter = self.bk_model.get_selected() | ||||
|         if not the_iter: | ||||
|             return | ||||
|         data = self.bk_model.get_data(iter,range(self.bk_ncols)) | ||||
|         data = self.bk_model.get_data(the_iter,range(self.bk_ncols)) | ||||
|         row = self.bk_model.get_selected_row() | ||||
|         item = self.book.get_item(row) | ||||
|         option_class = item.option_class | ||||
|         item_dialog = BookItemDialog(self.db,option_class,item.item_name,data[0]) | ||||
|         item_dialog = BookItemDialog(self.db,option_class,item.get_name(), | ||||
|                                         item.get_translated_name()) | ||||
|         response = item_dialog.window.run() | ||||
|         if response == True and item_dialog.person and data[1] != _("Title"):  | ||||
|             self.bk_model.model.set_value(iter,2, | ||||
|             self.bk_model.model.set_value(the_iter,2, | ||||
|                 item_dialog.person.get_primary_name().get_regular_name()) | ||||
|             self.book.set_item(row,item) | ||||
|         item_dialog.window.destroy() | ||||
| @@ -806,8 +814,8 @@ class BookReportSelector: | ||||
|     def build_bk_context_menu(self,event): | ||||
|         """Builds the menu with item-centered and book-centered options.""" | ||||
|          | ||||
|         store,iter = self.bk_model.get_selected() | ||||
|         if iter: | ||||
|         store,the_iter = self.bk_model.get_selected() | ||||
|         if the_iter: | ||||
|             sensitivity = 1  | ||||
|         else: | ||||
|             sensitivity = 0  | ||||
| @@ -837,8 +845,8 @@ class BookReportSelector: | ||||
|     def build_av_context_menu(self,event): | ||||
|         """Builds the menu with the single Add option.""" | ||||
|          | ||||
|         store,iter = self.av_model.get_selected() | ||||
|         if iter: | ||||
|         store,the_iter = self.av_model.get_selected() | ||||
|         if the_iter: | ||||
|             sensitivity = 1  | ||||
|         else: | ||||
|             sensitivity = 0  | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| # | ||||
| # Gramps - a GTK+/GNOME based genealogy program | ||||
| # | ||||
| # Copyright (C) 2000-2004  Donald N. Allingham | ||||
| # Copyright (C) 2000-2005  Donald N. Allingham | ||||
| # Contributions by Lorenzo Cappelletti <lorenzo.cappelletti@email.it> | ||||
| # | ||||
| # This program is free software; you can redistribute it and/or modify | ||||
| @@ -381,6 +381,7 @@ class GraphVizOptions(ReportOptions.ReportOptions): | ||||
|             'marglr'    : 0.5, | ||||
|             'pagesh'    : 1, | ||||
|             'pagesv'    : 1, | ||||
|             'gvof'      : 'png', | ||||
|         } | ||||
|  | ||||
|         self.options_help = { | ||||
| @@ -426,6 +427,9 @@ class GraphVizOptions(ReportOptions.ReportOptions): | ||||
|                             "Integer values"), | ||||
|             'pagesv'    : ("=num","Number of pages in vertical direction.", | ||||
|                             "Integer values"), | ||||
|             'gvof'      : ("=str","Output format to convert dot file into.", | ||||
|                             [ "%s\t%s" % (item[1],item[0]) for item in _formats ], | ||||
|                             False), | ||||
|         } | ||||
|  | ||||
|     def enable_options(self): | ||||
| @@ -461,14 +465,13 @@ class GraphVizOptions(ReportOptions.ReportOptions): | ||||
|  | ||||
|         return [all,des,ans,com] | ||||
|  | ||||
|     def make_doc_menu(self,dialog,active=None): | ||||
|         pass | ||||
|     def make_doc_menu(self,dialog,active=None): pass | ||||
|  | ||||
|     def add_user_options(self,dialog): | ||||
|         if dot_found: | ||||
|         if self.handler.report_name == "rel_graph2": | ||||
|             dialog.make_doc_menu = self.make_doc_menu | ||||
|             dialog.format_menu = GraphicsFormatComboBox() | ||||
|             dialog.format_menu.set() | ||||
|             dialog.format_menu.set(self.options_dict['gvof']) | ||||
|  | ||||
|         self.arrowstyles = ( | ||||
|             (_("Descendants <- Ancestors"),     'd'), | ||||
| @@ -573,7 +576,7 @@ class GraphVizOptions(ReportOptions.ReportOptions): | ||||
|                               _("Families will show up as ellipses, linked " | ||||
|                                 "to parents and children.")) | ||||
|  | ||||
|         self.includeid_cb = gtk.CheckButton(msg) | ||||
|         self.includeid_cb = gtk.CheckButton(_("Include IDs")) | ||||
|         self.includeid_cb.set_active(self.options_dict['incid']) | ||||
|         dialog.add_frame_option(_("GraphViz Options"), '', | ||||
|                               self.includeid_cb, | ||||
| @@ -636,8 +639,8 @@ class GraphVizOptions(ReportOptions.ReportOptions): | ||||
|         self.options_dict['incid'] = int(self.includeid_cb.get_active()) | ||||
|         self.options_dict['font'] = \ | ||||
|                 self.font_options[self.font_box.get_active()][1] | ||||
|         if dot_found: | ||||
|             self.handler.dot_format_str = dialog.format_menu.get_format_str() | ||||
|         if self.handler.report_name == "rel_graph2": | ||||
|             self.options_dict['gvof'] = dialog.format_menu.get_format_str() | ||||
|  | ||||
| #------------------------------------------------------------------------ | ||||
| # | ||||
| @@ -726,6 +729,8 @@ class FormatComboBox(gtk.ComboBox): | ||||
|     def get_printable(self): | ||||
|         return _("Generate print output") | ||||
|  | ||||
|     def get_clname(self): | ||||
|         return 'dot' | ||||
|  | ||||
| class GraphicsFormatComboBox(gtk.ComboBox): | ||||
|     """ | ||||
| @@ -738,9 +743,14 @@ class GraphicsFormatComboBox(gtk.ComboBox): | ||||
|         cell = gtk.CellRendererText() | ||||
|         self.pack_start(cell,True) | ||||
|         self.add_attribute(cell,'text',0) | ||||
|         active_index = 0 | ||||
|         index = 0 | ||||
|         for item in _formats: | ||||
|             self.store.append(row=[item[0]]) | ||||
|         self.set_active(0) | ||||
|             if active == item[1]: | ||||
|                 active_index = index | ||||
|             index = index + 1 | ||||
|         self.set_active(active_index) | ||||
|  | ||||
|     def get_label(self): | ||||
|         return _formats[self.get_active()][0] | ||||
| @@ -763,6 +773,9 @@ class GraphicsFormatComboBox(gtk.ComboBox): | ||||
|     def get_printable(self): | ||||
|         return _("Generate print output") | ||||
|  | ||||
|     def get_clname(self): | ||||
|         return 'print' | ||||
|  | ||||
| #------------------------------------------------------------------------ | ||||
| # | ||||
| # Empty class to keep the BaseDoc-targeted format happy | ||||
| @@ -804,7 +817,7 @@ class GraphVizGraphics(Report.Report): | ||||
|  | ||||
|         self.user_output = options_class.get_output() | ||||
|         self.junk_output = os.path.expanduser("~/.gramps/junk") | ||||
|         self.the_format = options_class.handler.dot_format_str | ||||
|         self.the_format = self.options_class.handler.options_dict['gvof'] | ||||
|         self.the_font = self.options_class.handler.options_dict['font'] | ||||
|  | ||||
|     def begin_report(self): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user