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 (
|
||||
QApplication,QGraphicsScene, QGraphicsView,
|
||||
QGraphicsItem, QGraphicsTextItem,
|
||||
QGraphicsItem, QGraphicsTextItem, QMenu,
|
||||
)
|
||||
|
||||
from Model.Network.Node import Node
|
||||
|
|
@ -727,3 +727,35 @@ class GraphWidget(QGraphicsView):
|
|||
# Propagate event
|
||||
self.update()
|
||||
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