diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-01-30 10:09:31 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-01-30 10:09:31 (GMT) |
commit | 7b58cdb6300d54357afecf2316c174f6d2559309 (patch) | |
tree | f73a640dda7cd8463fae63518847b3cb507dd11c | |
parent | c9bd79e9eebe954944f5a1e9406c3503f56e83be (diff) |
Make connections between related thoughts
-rw-r--r-- | view.py | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -90,6 +90,13 @@ class MindMapView(GtkView): model = property(get_model, set_model) + def _connect_items(self, parent_view, thought_view): + line = Line() + self.canvas.add(line) + handle_tool = ConnectHandleTool() + handle_tool.connect(self, line, line.handles()[0], parent_view.get_position()) + handle_tool.connect(self, line, line.opposite(line.handles()[0]), thought_view.get_position()) + def __row_changed_cb(self, model, path, iter): row = model[iter] #logging.debug('__row_changed_cb %r' % ((row[0], row[1], row[2], row[3], row[4],),)) @@ -98,6 +105,11 @@ class MindMapView(GtkView): if thought_view is None: thought_view = ThoughtView(row[0], row[1], row[2], row[3], row[4]) self.canvas.add(thought_view) + + if row.parent is not None: + parent_view = self._get_thought_by_id(row.parent[0]) + gobject.idle_add(lambda: self._connect_items(parent_view, + thought_view)) else: thought_view.name = row[1] thought_view.set_position(row[2], row[3]) |