Difference between revisions of "DescendantsLines"
(→Pass 2: use draw report environment) |
m (→Alternate Pass 2: use of user-defined (mega)-widgets) |
||
Line 49: | Line 49: | ||
==== Alternate Pass 2: use of user-defined (mega)-widgets ==== | ==== Alternate Pass 2: use of user-defined (mega)-widgets ==== | ||
− | # Have a look at mega-widget request and implementation http://www.gramps-project.org/bugs/view.php?id=2393 | + | # Have a look at mega-widget request and implementation [http://www.gramps-project.org/bugs/view.php?id=2393] |
# Output path through mega-widget | # Output path through mega-widget | ||
Revision as of 14:47, 10 December 2010
DescendantsLines is an in-development plugin for Gramps which generates a graphical descendants tree using orthogonal edges and routing ("square edges").
Contents
History
2007: Adam Sampson has written a standalone python script for parsing data.gramps (GRAMPS XML). [1]
2010: this script needs some updates for avoiding minor issues.
A modified script is available on the addons repository. [2]
Limitations
- Script ignores role on event (was added in 2007).
- Script ignores localized date handlers (use ISO date format, date quality in english)
- Memory limiation with a large database (DOM parsing)
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 repository as unstable (beta). [3]
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 needed for 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 - done
- simple Gramps XML template with events, persons, families objects (only export primary event role reference).
- key/filter issues remain, currently export all persons to XML file.
- 'localized' dates (does not follow last DTD, which uses english and ISO format)
- a basic persons list print for draw report: this avoids empty returns when generating the report and could help to check what is missing (see above).
- output path and format are hardcoded: $HOME/DescendantsLines.png
FINISHED - it works fine!
Pass 2: use draw report environment
- Generate a plugins/docgen/PNGDrawDoc.py file [4]
- Move Gtk code to draw report (if possible)
- Move cairo code to draw report (if possible)
- Output path
- Clean-up, pylint, etc ...
Alternate Pass 2: use of user-defined (mega)-widgets
- Have a look at mega-widget request and implementation [5]
- Output path through mega-widget
Feel free to contribute or improve it.