...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())
In 201f4a5e51 we made grab_broken
re-enable selection because GTK 3.18 and later no longer send a
fake button release event.
The sending of grab broken is an implementation detail of DnD
on X based systems however, and at least some GTK backends do
not generate this, wayland being one example.
So we now use drag-end instead which is always sent to the source
when a DnD operation completes.