Difference between revisions of "DescendantsLines"

From Gramps
Jump to: navigation, search
m (Descendants Lines)
(swap content with other page)
(Tag: New redirect)
 
(192 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Image:DescendantsLines.png|thumb|Lines of descendants chart]]
+
#REDIRECT[[Addon:DescendantsLines]]
'''DescendantsLines''' is an in-development plugin for Gramps which generates a graphical descendants tree using orthogonal edges.
 
 
 
== History ==
 
2007: Adam Sampson has written a standalone python script for parsing data.gramps ([[GRAMPS XML]]). [http://offog.org/darcs/misccode/familytree]
 
 
 
2010: this script needs some updates for avoiding minor issues.
 
 
 
A modified script is available on the addons repository. [http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/trunk/contrib/DescendantsLines/ft.py]
 
 
 
=== Limitations ===
 
The code ignores role on event (was added in 2007).
 
 
 
== Descendants Lines ==
 
There is an experimental try for migrating this Gtk/cairo code to a draw plugin working into Gramps (font, style, path, canvas, output formats).
 
 
 
Draft version is available on [[Addons_development|Addons]] repository as '''unstable''' (beta). [http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/trunk/contrib/DescendantsLines]
 
 
 
The idea will be to keep the Gramps XML parsing, but with a copy of the active database and use of current report environment (output formats, style, path).
 
 
 
=== Needs ===
 
 
 
==== Pass 1: generate a tmp XML with only data for generating the report, to load it as input ====
 
 
 
# Enable Person selection (Gramps ID) - ''done''
 
# Generate a temp Gramps XML database matching 'IsDescendantFamilyOf' filter rule - ''done''
 
# Input path - ''done''
 
# Clean-up - ''in progress''
 
 
 
* simple Gramps XML template with events, persons, families objects (only export primary event role reference).
 
* 'localized' dates (does not follow last DTD, which uses english and ISO format)
 
* a basic descendant families textual print for draw reports: this avoids empty returns when generating reports.
 
''TODO'': need to fix duplicated families on generated XML file. - ''done'' - next revision
 
fams = self.database.get_family_handles()
 
        for child in ind_list:
 
            person = self.database.get_person_from_handle(child)
 
            # only family where person is the children
 
            for handle in person.get_parent_family_handle_list():
 
                fam = self.database.get_family_from_handle(handle)
 
                if handle in fams:
 
                    self.write_xml_family(fam)
 
                    fams.remove(handle)
 
 
 
'''FINISHED''' - it works fine!
 
 
 
==== Pass 2: use draw report environment ====
 
 
 
# Move Gtk code to draw report (if possible)
 
# Move cairo code to draw report (if possible)
 
# Output path
 
# Clean-up, pylint, etc ...
 
 
 
 
 
Feel free to contribute or improve it.
 
 
 
[[Category:Plugins]]
 
[[Category:Developers/General]]
 

Latest revision as of 00:13, 17 January 2022