Browse code

Implement get_element(x, y) method for Graph & Widget.

Paul Sokolovsky authored on 12/02/2013 19:12:15 • José Fonseca committed on 12/05/2013 12:46:10
Showing 1 changed files

  • xdot.py index e3ed9f5..9b1b0fe 100755
... ...
@@ -477,6 +477,14 @@ class Graph(Shape):
477 477
         for node in self.nodes:
478 478
             node.draw(cr, highlight=(node in highlight_items))
479 479
 
480
+    def get_element(self, x, y):
481
+        for node in self.nodes:
482
+            if node.is_inside(x, y):
483
+                return node
484
+        for edge in self.edges:
485
+            if edge.is_inside(x, y):
486
+                return edge
487
+
480 488
     def get_url(self, x, y):
481 489
         for node in self.nodes:
482 490
             url = node.get_url(x, y)
... ...
@@ -1810,6 +1818,10 @@ class DotWidget(gtk.DrawingArea):
1810 1818
         y += self.y
1811 1819
         return x, y
1812 1820
 
1821
+    def get_element(self, x, y):
1822
+        x, y = self.window2graph(x, y)
1823
+        return self.graph.get_element(x, y)
1824
+
1813 1825
     def get_url(self, x, y):
1814 1826
         x, y = self.window2graph(x, y)
1815 1827
         return self.graph.get_url(x, y)