Source code for Gramps Genealogical program
Go to file
Bastien Jacquet fec5d532d1 Feature: Gep-030 FanChart2Way
...New FanChart consisting of both ascendants and descendants.

It can be checked-out there :
https://sourceforge.net/u/bubblegum00/gramps/ci/geps/gep-030-FanChart2Way/~/tree/

<snip>

I find it quite handy, so please let me know if you have any comments or suggestions.

NB: I heavily cleaned up the FanChart code on my way.

Regards,

Bastien Jacquet

https://sourceforge.net/p/gramps/mailman/message/32908110/
........................................................
Refactor fanchart for further modification

Fix radial text pos_start radian alignment

Simplify father's and mother's details getter

Rename draw_gradient to draw_gradient_legend

refactor prepare_background_box

Add option not to flip names

Add a display_format(self, person, num) function as proposed by Benny Malengier on 2012-12-13
It just returns name_display.name_formats[num][_F_FN](person.get_primary_name())

Add option to show the name on two lines

Allow for variable radius depending on generation

Switch to WORD_CHAR wrapping of name (ie word, and char if 0-length word)

Move rescaling tentative inside wrap_truncate_layout

Fix person_under_cursor bugs

Refactor root angle computation

Refactor code positionning the fan

Refactor personpos_at_angle

move implementation of person_under_cursor outside of FanChartBaseWidget class

Change draw_person to take angles in radians

Use same structure for innerring as for outerring

Uses cursor_to_polar and cursor_on_tranlation_dot

Slightly change person_under_cursor logic to return an "address" in the fan

Uses radian_in_bounds to compare angles modulo 2 PI

Fixup test on cursor over inner ring

Fix Center size for FanchartDesc

Fixup fanchart check up to last generation

Give same signature to draw_person

Refactor the common code of self.draw_person in a single function in Base class

Fix center box comment

Refactoring inside celladdress

Remove manual central box drawing since done with draw_person

Fixup draw_person color for duplicates

Use draw_person for central person too

Make __compute_angle and __rec_fill_data public for use in FanChart2Way

Add 2Way View

Rewrite create_map_rect_to_sector to allow bottom-outside-oriented text-arc

Allow to automatically right upside-up bottom arc-text

Correct icons for Fanchart2Way

Small code refactoring

Refactor code of fanchartdesc to use self.rootangle_rad

Rename change_slice to toggle_cell_state

Fanchart2Way code formating and changes

Small refactoring of fanchartdesc innerring fill data

Remove the name from the local temporary data structure

Remove the name from the local temporary data structure (in Fanchart2Way)

Change background gradient to follow the user-selected gradient colors

rename parentsroot to innerring

Some renaming for clearer code

Show last generation of partners in descendant fanchart

Show last partner in Fanchart2Way

Fanchart2Way : Add option to disable gradient on the background

Fixup flipupsidedownname parameter for gramplet usage of fancharts

Fixup twolinename parameter for gramplet usage of fancharts

Add FanChart2Way in available gramplets

Tentative fix for last view on Fanchart2Way

Show step-sibling in Fancharts context-menu

Fix overestimation of descendant halfdist

(SM) Trailing White spaces removed

(SM) Fix config box Table Grid

(SM) Move Icons gramps-fanchart2way to new location

(SM) Add Copyright for Bastien Jacquet

(SM) Fix BSDDB AttributeError NoneType object has no attr

(SM) Update patch to account for bug 9771; fix missing right-click menu items

(Nick Hall/eno93) Fix set_text method takes the length of the utf-8, not the length of the unicode as the second parameter ((Gramps.py:3697): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text())
2016-11-26 18:00:08 +00:00
bash Bash completetions: a little cleaning up 2016-05-06 16:02:09 -04:00
data Merge pull request #262 from prculley/bug8887 2016-11-05 14:11:58 +11:00
debian 9801: recommend 'gir1.2-goocanvas-2.0' on debian package 2016-11-26 13:00:21 +01:00
docs Remove PrivateSourceNote as per e64fa655 2016-09-25 10:47:11 +10:00
example move files for testing gramps out of example/gramps, per Nick 2016-10-02 11:39:45 -07:00
gramps Feature: Gep-030 FanChart2Way 2016-11-26 18:00:08 +00:00
help Update COPYING-DOCS 2015-04-03 13:20:27 +11:00
images Feature: Gep-030 FanChart2Way 2016-11-26 18:00:08 +00:00
mac Update graphviz to 2.38. 2016-08-16 12:14:21 -07:00
po Create module for database utilities 2016-11-24 17:57:18 +00:00
scripts 6283: test flag for python on new script, not on Gramps.py... (thank you Paul) 2013-02-25 07:24:40 +00:00
test Create module for database utilities 2016-11-24 17:57:18 +00:00
windows Remove trailing whitespaces 2016-09-01 14:52:45 +10:00
.gitattributes Export test module and some tests 2016-07-07 13:50:26 -05:00
.gitignore 7921 Move holidays.xml.in to data [refactor] 2016-04-16 16:38:43 +10:00
.mailmap remove my personal email address from .mailcap file 2016-04-09 09:29:17 -07:00
.pylintrc Add .pylintrc file 2016-01-10 16:41:44 +00:00
.travis.yml Fix top level test files so they at least compile and don't interfere 2016-08-19 21:10:07 +01:00
AUTHORS Add myself (jralls) to AUTHORS per request from Rob Healey 2012-06-05 04:27:12 +00:00
COPYING 6918: http://lintian.debian.org/tags/old-fsf-address-in-copyright-file.html 2013-11-07 11:26:57 -08:00
FAQ 7553 Change GraphViz to Graphviz 2015-07-19 14:24:33 +10:00
Gramps.py Move GRAMPS_RESOURCE default into grampsapp.main() 2016-04-14 20:58:27 -04:00
INSTALL 8047 - Update INSTALL file to document --resourcepath option 2015-06-15 22:35:32 +02:00
MANIFEST.in Fixes for install after removal of old LICENSE 2016-10-28 08:08:40 +11:00
NEWS 7553 Change GraphViz to Graphviz 2015-07-19 14:24:33 +10:00
README.md 9749: Move experimental Select API code into a branch 2016-10-12 21:46:52 +01:00
RELEASE_NOTES clarify and qualify release information 2013-04-06 16:57:29 +00:00
setup.py add plugins/db/dbapi/settings.ini to setup 2016-11-12 15:01:15 +01:00
TestPlan.txt add test for reports 2004-10-10 19:02:58 +00:00
TODO replace with a link to GEPS page 2012-10-27 13:51:56 +00:00

The Gramps Project ( https://gramps-project.org ) Build Statuscodecov.io

We strive to produce a genealogy program that is both intuitive for hobbyists and feature-complete for professional genealogists.

Please read the COPYING file first.

Please read the INSTALL file if you intend to build from source.

Requirements

The following packages MUST be installed in order for Gramps to work:

The following three packages with GObject Introspection bindings (the gi packages)

The following package is needed for full translation of the interface to your language:

  • language-pack-gnome-xx

Translation of GTK elements to your language, with xx your language code; e.g. for Dutch you need language-pack-gnome-nl. The translation of the Gramps strings is included with the gramps source.

  • osmgpsmap

Used to show maps in the geography view. It may be osmgpsmap, osm-gps-map, or python-osmgpsmap, but the Python bindings for this must also be present. Without this the GeoView will not be active, see https://gramps-project.org/wiki/index.php?title=Gramps_4.2_Wiki_Manual_-_Categories#Geography_Category

  • Graphviz

    Enable creation of graphs using Graphviz engine. Without this, three reports cannot be run. Obtain it from: http://www.graphviz.org

  • PyICU

Improves localised sorting in Gramps. In particular, this applies to sorting in the various views and in the Narrative Web output. It is particularly helpful for non-Latin characters, for non-English locales and on MS Windows and Mac OS X platforms. If it is not available, sorting is done through built-in libraries. PyICU is fairly widely available through the package managers of distributions. See http://pyicu.osafoundation.org/ (These are Python bindings for the ICU package. https://pypi.python.org/pypi/PyICU/)

The following packages are optional:

  • gtkspell

Enable spell checking in the notes. Gtkspell depends on enchant. A version of gtkspell with gobject introspection is needed, so minimally version 3.0.0

  • rcs

The GNU Revision Control System (RCS) can be used to manage multiple revisions of your family trees. See info at https://gramps-project.org/wiki/index.php?title=Gramps_4.2_Wiki_Manual_-_Manage_Family_Trees#Archiving_a_Family_Tree Only rcs is needed, NO python bindings are required

  • PIL

Python Image Library is needed to crop images and also to convert non-JPG images to JPG so as to include them in LaTeX output. (For Python3 a different source may be needed, python-imaging or python-pillow or python3-pillow)

  • GExiv2

Enables Gramps to manage Exif metadata embedded in your media. Gramps needs version 0.5 or greater. See https://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion#GExiv2_for_Image_metadata

  • ttf-freefont

More font support in the reports

Optional packages required by Third-party Addons

Third-party Addons are written by users and developers and unless stated are not officially part of Gramps. For more information about Addons see: https://gramps-project.org/wiki/index.php?title=Third-party_Plugins

Prerequistes required for the following Addons to work:

No longer needed:

  • Since Gramps 4.2: gir-webkit

  • Since Gramps 4.0: pygoocanvas, pygtk, pyexiv2

  • Since Gramps 3.3: python-enchant Enchant

  • Since Gramps 3.2: python glade bindings

  • Since Gramps 3.1: yelp - Gnome help browser. No offline help is shipped see Gramps website for User manual

Documentation

The User Manual is maintained on the Gramps website: