... | ... |
@@ -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) |