Commit 0a5df00c authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

Geometry: Graph: Add a minimal context menu.

Showing with 33 additions and 1 deletion
+33 -1
...@@ -14,7 +14,7 @@ from PyQt5.QtGui import ( ...@@ -14,7 +14,7 @@ from PyQt5.QtGui import (
) )
from PyQt5.QtWidgets import ( from PyQt5.QtWidgets import (
QApplication,QGraphicsScene, QGraphicsView, QApplication,QGraphicsScene, QGraphicsView,
QGraphicsItem, QGraphicsTextItem, QGraphicsItem, QGraphicsTextItem, QMenu,
) )
from Model.Network.Node import Node from Model.Network.Node import Node
...@@ -727,3 +727,35 @@ class GraphWidget(QGraphicsView): ...@@ -727,3 +727,35 @@ class GraphWidget(QGraphicsView):
# Propagate event # Propagate event
self.update() self.update()
super(GraphWidget, self).mouseMoveEvent(event) super(GraphWidget, self).mouseMoveEvent(event)
def contextMenuEvent(self, event):
pos = self.mapToScene(event.pos())
items = self.items(event.pos())
menu = QMenu(self)
if len(items) == 0:
add_node = menu.addAction("Add")
elif type(items[0]) == NodeItem:
del_node = menu.addAction("Delete")
disable_node = menu.addAction("Disable")
elif type(items[0]) == EdgeItem:
del_edge = menu.addAction("Delete")
disable_edge = menu.addAction("Disable")
action = menu.exec_(self.mapToGlobal(event.pos()))
if len(items) == 0:
if action == add_node:
self.add_node(pos)
elif type(items[0]) == NodeItem:
if action == del_node:
self.del_node(items[0])
#if action == disable_node:
elif type(items[0]) == EdgeItem:
if action == del_edge:
self.del_edge(items[0])
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment