From a5bc5cbc378439bd7cd66acd007733809ddedbe1 Mon Sep 17 00:00:00 2001 From: Alex Roitman Date: Fri, 2 Jan 2004 07:02:12 +0000 Subject: [PATCH] * src/PedView.py (load_canvas): Produce generation labels based on the anchor. svn: r2582 --- ChangeLog | 4 ++++ src/PedView.py | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/ChangeLog b/ChangeLog index 86aaa13d2..b2d7168c0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2004-01-02 Alex Roitman + * src/PedView.py (load_canvas): Produce generation labels based on + the anchor. + 2004-01-01 Don Allingham * src/PedView.py (PedigreeView.load_canvas): switched anchor label from a label to a CanvasText diff --git a/src/PedView.py b/src/PedView.py index 54a1b8bab..22045fda0 100644 --- a/src/PedView.py +++ b/src/PedView.py @@ -24,6 +24,13 @@ _PAD = 3 _CANVASPAD = 3 _PERSON = "p" +#------------------------------------------------------------------------- +# +# Python modules +# +#------------------------------------------------------------------------- +from math import log + #------------------------------------------------------------------------- # # GTK/Gnome modules @@ -255,6 +262,16 @@ class PedigreeView: self.add_parent_button(p[0],x2-_PAD,ypts[2],h) gen_no = 1 + if self.anchor: + anchor_list = [None]*31 + self.find_tree(self.anchor,0,1,anchor_list) + for item in anchor_list: + if item: + if item[0] == self.active_person: + idx = anchor_list.index(item) + gen_no = int(log(idx + 1,2)) + 1 + break + for i in range(int(xdiv)): item = self.root.add(gnome.canvas.CanvasText, x=(cw*i/xdiv + cpad), y=h, text=str(gen_no),