mirror of https://gitlab.com/pamhyr/pamhyr2
Geometry: Graph: Add a minimal context menu.
parent
5b62a256de
commit
0a5df00c77
|
|
@ -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):
|
||||||
# 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])
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue