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