Initial prototype.

* Changed database to introduce Citations
* Introduced new Citation Primary object and CitationBase (equivalent to CitationRef) child object
* Implemented CitationTreeModel and CitationListModel
* Implemented CitationTreeView and CitationListView for new citation views in the navigator
* Implemented EditCitation which is used both for the citation views in the navigator and for the citations of an object
* Implemented the CitationEmbedList to display the citations of an object
* Modified the bottom bar gramplets to support citations
* Implemented the citation selector.
* Modified Media object to include references to Citations
* Initial work on deleting citations


svn: r17960
This commit is contained in:
Tim G L Lyons
2011-07-24 18:30:28 +00:00
parent 1012286be7
commit 9ff46d9eab
50 changed files with 3629 additions and 26 deletions

View File

@@ -1,6 +1,7 @@
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2011 Nick Hall
# Copyright (C) 2011 Tim G L Lyons
#
# 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
@@ -248,6 +249,29 @@ class SourceNotes(Notes):
self.clear_text()
self.set_has_data(False)
class CitationNotes(Notes):
"""
Displays the notes for a Citation.
"""
def db_changed(self):
self.dbstate.db.connect('citation-update', self.update)
self.connect_signal('Citation', self.update)
self.update()
def update_has_data(self):
active_handle = self.get_active('Citation')
active = self.dbstate.db.get_citation_from_handle(active_handle)
self.set_has_data(self.get_has_data(active))
def main(self):
active_handle = self.get_active('Citation')
active = self.dbstate.db.get_citation_from_handle(active_handle)
if active:
self.get_notes(active)
else:
self.clear_text()
self.set_has_data(False)
class RepositoryNotes(Notes):
"""
Displays the notes for a repository.