Changes

Jump to: navigation, search

DescendantsLines

1,769 bytes added, 02:27, 23 August 2016
Installation
{{Third-party plugin}}
 
{{out of date}}
 
[[Image:DescendantsLines.png|thumb|300px|Lines of descendants chart]]
[[Image:DescendantsLines-m-ep-.png|thumb|300px|DescendantsLines, Left-aligned text style, example Gramps data, inc_marriages and inc_places.]]
[[Image:JohnShakespeare-DescendantsLines.png|thumb|300px|Shakespeare family tree, DescendantsLines, inc_marriages]]
[[Image:JohnShakespeare-DescendantsLines-ep.png|thumb|300px|Shakespeare family tree, DescendantsLines, Left-aligned text style, including event places]]
 
'''DescendantsLines''' is an in-development addon for Gramps which generates a graphical descendants tree using orthogonal edges and routing ("square edges").
== History Characteristics ==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/] == Libraries ==The program DescendantsLines, as the script in which it is basedpresents an orthogonal family tree, is written currently in Python, using PyCairo and the Python XML libraryvertical mode only. Many Gramps modules are also used. == Current limitations ==<!-- # No option for name display format --># Partial quoting of xml-syntax-like data. Data which resembles xml syntax (tagsIn DescendantsLines, etc) may cause error.# Script ignores role on event (was added in 2007)# Script ignores localized date handlers (using ISO date formatvertical mode, date quality children 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 family are ordered from left to right following the Gramps document interface options should be hidden)# DestinationOption does not have the usual error handling child order; and user checking (e.g. for overwriting files) == Installation ===== Gramps 3.3 version ===The Gramps 3.3 version of DescendantsLines can be installed through the Gramps Plugin Manager. === Gramps 3.4 version ===To use the Gramps 3.4 version of DescendantsLinesfamilies are ordered right to left, on Gramps Trunktop to bottom, now gramps34:# Create the directory $GRAMPSHOME/gramps/gramps34/plugins/DescendantsLines/ .# Copy following the files DescendantsLines.py and DescendantsLines.gpr.py from Gramps-addons trunk svn to the directory $GRAMPSHOME/gramps/gramps34/plugins/DescendantsLines/ family order.
== Usage ==
* S_VPAD - Length of vertical padding spacing between spouse and spouse-bar (?)
* 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)
* OL_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 - Length of padding spacing between spouses
* MIN_C_WIDTH- Minimal width of child cells* TEXT_PAD- Length of text padding* TEXT_LINE_PAD- Length of text line padding
* output_fmt - The output format (PNG, SVG, PDF or PS)
* output_fn - The output filename
* [[File:DescendantsLines-left.pdf]] -- DescendantsLines, Left-aligned text style, example Gramps data, use_colors, inc_marriages and inc_places, PDF output.
* [[File:Charlemagne-DescendantsLines.pdf]] -- DescendantsLines addon, inc_marriages and inc_places, PDF output, presenting a family tree of Charlemagne starting from Chloderic King of Cologne.
* [[File:PepinOfHerstal-DescendantsLines-left-dnum.pdf]] --DescendantsLines Gramps addon, Left-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.  == 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. == Current limitations ==<!-- # 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)# Size limit: Cairo surface size limit. (32767 for height and 32767 for width [http://comments.gmane.org/gmane.comp.lib.cairo/21068])# Some PDF output size limit (currently crossing this limit will result in an empty PDF file) == Installation ===== Gramps 4.x version ===Installed through the Gramps Plugin Manager. === Gramps 3.3 version ===The Gramps 3.3 version of DescendantsLines can be installed through the Gramps Plugin Manager. === Gramps 3.4 version ===To use the Gramps 3.4 version of DescendantsLines, on Gramps Trunk, now gramps34:# Create the directory $GRAMPSHOME/gramps/gramps34/plugins/DescendantsLines/ .# Copy the files DescendantsLines.py and DescendantsLines.gpr.py from Gramps-addons trunk svn to the directory $GRAMPSHOME/gramps/gramps34/plugins/DescendantsLines/ . == Tree compression and or modification==SVG format trees can be compressed and or modified manually using the program Inkscape, using the select and path tools; or using other SVG manipulating program. PNG format trees can be compressed manually by manipulating the image.
== Development ==
There is an 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. [httphttps://github.com/gramps-project/addons.svn.sourceforge.net-source/tree/viewvcmaster/grampsDescendantsLines addons-addonssource/trunktree/contribmaster/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).
* Add option for name display format. (done in Gramps-addons trunk)
* Add style variables and option, ref. text alignment, etc. (done in Gramps-addons)
* Use Gramps family order. (done in Gramps-addons)
* Add option to use d'Aboville descendants numbering system. (done in Gramps-addons trunk)
* Think of optional tree compression algorithms.
* 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.
==== 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 ...
# Use a DestinationOption
# Ignore standard Filename option [http://www.gramps-project.org/bugs/view.php?id={{bug|5545]}}
== Command Line Interface ==
Gramps provides a cli support for running reports and tools [http://www[Gramps 4.gramps2 Wiki Manual -project.org/wiki/index.php?title=Gramps_3.2_Wiki_Manual_-_Command_LineCommand Line]].
* {{bug|4114}}: Would like to use stdin and stdout for command line import/export [http://www.gramps-project.org/bugs/view.php?id=4114]
Feel free to contribute or improve it.
== Issues ==
* {{bug|5823}} DescendentsLines does not display a marriage date when one spouse is unknown
* {{bug|5965}} report produced with stale name from previous gramps session
Feel free to contribute or improve it== See also ==* [[Addon:Family Tree]] - generates horizontal orthogonal graphical trees.* [[Addon:TimelinePedigreeView]] - displays horizontal orthogonal graphical trees.
[[Category:Plugins]]
[[Category:Developers/General]]
[[Category:Reports]]

Navigation menu