15,534
edits
Changes
→Usage
== Limitations Usage ==# No option for name display format# Partial quoting of xml-syntax-like data. Data which resembles xml syntax (tags, etc) may cause error.# Script ignores role on event (was added in 2007)# Script ignores localized date handlers (using ISO date format, date quality in english)# Memory limitation with a large database (DOM parsing)# The last pixel column of each secondary line of each entry is wrong coloured (red instead black)# The addon DescendantsLines does not use the Gramps document interface. (perhaps the Gramps document interface options should be hidden)# DestinationOption does not have the usual error handling and user checking (e.g. for overwriting files)
=== Options ===
DescendantsLines has the following option tabs available to change: There are option and tree combinations which may generate overlapping edges and nodes. If using the inc_marriages option the S_DOWN - S_UP difference may need to be increased by 5-15 units depending on the tree. ==== Paper Options ==== ==== Report Options ====* output_fmt - The output format (PNG, SVG, PDF or PS)* output_fn - The options output filename * max_gen - Maximum number of generations to include. (0 for unlimited){{stub}} ==== Display ==== * name_format - The name format* inc_dnum - Whether to use d'Aboville descendant numbering system* use_colors - Whether to use colored names indicating person gender in the output. * text style - The predefined output style{{stub}}* inc_places - Whether to include event places in the output* inc_marriages - Whether to include marriage information in the addon DescendantsLines areoutput ==== Replace ==== * Replace Display Format: 'Replace this'/'with this': ie:United States of America/USA==== S & F Options ====
* S_DOWN - The length of the vertical edges from descendant to spouse-bar
* S_UP - The length of the vertical edges from spouse-bar to spouse
* S_VPAD - Length of vertical padding spacing between spouse and spouse-bar (?)
* SP_PAD - Length of padding spacing between spouses
* F_PAD - Length of padding spacing between families (?)
* FL_PAD - Length of padding spacing between S_UP edges (vertical edges from spouse-bar to spouse) and O_DOWN edges (vertical edges from spouse-bar to child-bar)
==== O, C & Text Options ==== * OL_PAD- The number of ??? pad
* O_DOWN - The length of the vertical edges from spouse-bar to child-bar
* C_PAD - Length of padding spacing between children
* C_UP - The length of the vertical edges from child to child-bar
* SP_PAD MIN_C_WIDTH - Minimal width of child cells* TEXT_PAD - Length of text padding spacing between spouses* MIN_C_WIDTHTEXT_LINE_PAD - Length of text line padding === Examples ===* TEXT_PAD[[File:DescendantsLines-m-ep.pdf]] -- DescendantsLines, example Gramps data, inc_marriages and inc_places, PDF output.* TEXT_LINE_PAD[[File:DescendantsLines-left.pdf]] -- DescendantsLines, Left-aligned text style, example Gramps data, use_colors, inc_marriages and inc_places, PDF output.* max_gen [[File:Charlemagne-DescendantsLines.pdf]] -- Maximum number DescendantsLines addon, inc_marriages and inc_places, PDF output, presenting a family tree of generations to includeCharlemagne starting from Chloderic King of Cologne. * inc_places [[File:PepinOfHerstal-DescendantsLines-left-dnum.pdf]] --DescendantsLines Gramps addon, Left- Whether to include event places in aligned text style, d'Aboville numbering (inc_dnum), descendants of Pepin of Herstal or Pepin II, PDF output. Data from Charlemagne GEDCOM at http://www.genealogyforum.com/gedcom/gedr1434.htm. === Tree compression and or modification===SVG format trees can be compressed and or modified manually using the outputprogram Inkscape, using the select and path tools; or using other SVG manipulating program. PNG format trees can be compressed manually by manipulating the image. == Installation ===== Gramps 5.x version ===Installed through the Gramps Plugin Manager. === Gramps 4.x version ===Installed through the Gramps Plugin Manager. === Gramps 3.3 version ===* inc_marriages - Whether to include marriage information in The Gramps 3.3 version of DescendantsLines can be installed through the outputGramps Plugin Manager.
=== Example Gramps 3.4 version ===* [[To use the Gramps 3.4 version of DescendantsLines, on Gramps Trunk, now gramps34:Image:Charlemagne-# Create the directory $GRAMPSHOME/gramps/gramps34/plugins/DescendantsLines/ .# Copy the files DescendantsLines.py and DescendantsLines.png]] gpr.py from Gramps-- A family tree of Charlemagne starting from Chloderic King of Cologneaddons trunk svn to the directory $GRAMPSHOME/gramps/gramps34/plugins/DescendantsLines/ . (No preview, click on "Full resolution")
== Development ==
There is an experimental try for migrating in-development migration of this Gtk/cairo code to a draw plugin working into Gramps (font, style, path, canvas, output formats). This migration, DescendantsLines, does not use the Document interface of Gramps. Draft version is available on [[Addons_development|Addons]] repository. [https://github.com/gramps-project/addons-source/tree/master/DescendantsLines addons-source/tree/master/DescendantsLines] The idea is keeping Gramps XML parsing, but with a copy of the active database and use of current report environment (output formats, style, path). === Ideas ===Feel free to contribute or improve DescendantsLines. * Think of optional tree compression algorithms.* Add option to include divorces.* Add option to include spouse parents.* Add option to include spouse ancestries.** Add option to include arbitrary spouse ancestries.* Add option to include arbitrary ancestries.* Add option to include notes.* Add option to include sources.* Add option to include images.* Add horizontal mode.* Add optional text wrap width.* Add optional text width with use of ellipses.* Cairo provides hyperlink support. Names could be hyperlinks to html complete individual reports or to web report pages.* This addon may with time become a general orthogonal family tree drawing resource for Gramps, for a View, etc., and outside Gramps as well. The PyCairo code can be connected to a view.* The hardcoded number option limits can be altered by users, by altering the code. * <s>Add option to include event places.</s>(done in Gramps-addons)* <s>Add option to include marriage information.</s> (done in Gramps-addons)* <s>Using the library get_event_or_fallback() methods from gen.utils.</s> (done in Gramps-addons)* <s>Add optional generation limit.</s> (done in Gramps-addons)* <s>Make the XML export smaller. Use filter.</s> (done in Gramps-addons)* <s>Add option for output format. (PNG, SVG, PDF or PS)</s> (done in Gramps-addons)* <s>Add boolean option use_colors.</s> (done in Gramps-addons)* <s>Use gen.display.name.displayer.</s> (done in Gramps-addons)* <s>Add option for name display format.</s> (done in Gramps-addons trunk)* <s>Add style variables and option, ref. text alignment, etc.</s> (done in Gramps-addons)* <s>Use Gramps family order.</s> (done in Gramps-addons)* <s>Add option to use d'Aboville descendants numbering system.</s> (done in Gramps-addons trunk) ==== Command Line Interface ==== Gramps provides a cli support for running reports and tools [[Gramps 5.0 Wiki Manual - Command Line]].
=== Needs ===
* 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).
==== Pass 2: use draw report environment ====
# Generate a plugins/docgen/PNGDrawDoc.py file [http://www.gramps-project.org/bugs/view.php?id={{bug|4447]}}
# Move Gtk code to draw report (if possible)
# Move cairo code to draw report (if possible)
==== Pass 2 (Alternate): use of user-defined (mega)-widgets ====
# Have a look at mega-widget request and implementation [http://www.gramps-project.org/bugs/view.php?id={{bug|2393]}}
# Output path through mega-widget
# Clean-up, pylint, etc ...
==== Pass 2 (Alternate): use a DestinationOption ====
# Use a DestinationOption
# Ignore standard Filename option == Command Line Interface == Gramps provides a cli support for running reports and tools [http://www.gramps-project.org/wiki/index.php?title=Gramps_3.2_Wiki_Manual_-_Command_Line]. * use stdin and stdout for command line import/export [http://www.gramps-project.org/bugs/view.php?id=4114]{{bug|5545}}
=== Development 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://sourceforge.net/p/gramps-addons/code/HEAD/tree/trunk/contrib/DescendantsLines/]
=== Libraries ===
The program DescendantsLines, as the script in which it is based, is written in Python, using PyCairo and the Python XML library. Many Gramps modules are also used.
== See also ==
* [[Addon:Family Tree]] - generates horizontal orthogonal graphical trees.
* [[Addon:TimelinePedigreeView]] - displays horizontal orthogonal graphical trees.
[[Category:Plugins]]
[[Category:Developers/General]]
[[Category:Reports]]