Graph view shows graph

This commit is contained in:
Joppe Blondel
2026-08-17 11:29:07 +02:00
parent 0c93338e39
commit 8e7d2d3efd
9 changed files with 482 additions and 27 deletions
+14 -8
View File
@@ -40,7 +40,7 @@
<property name="floatable">
<bool>false</bool>
</property>
<addaction name="actionSelect"/>
<addaction name="actionZoomToFit"/>
<addaction name="actionAddComponent"/>
<addaction name="actionAddConnection"/>
<addaction name="actionDelete"/>
@@ -51,21 +51,25 @@
<property name="frameShape">
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="dragMode">
<enum>QGraphicsView::DragMode::RubberBandDrag</enum>
</property>
<property name="renderHints">
<set>QPainter::RenderHint::Antialiasing</set>
</property>
<property name="dragMode">
<enum>QGraphicsView::DragMode::RubberBandDrag</enum>
</property>
</widget>
</item>
</layout>
<action name="actionSelect">
<action name="actionZoomToFit">
<property name="icon">
<iconset resource="../../resources/resources.qrc">
<normaloff>:/icons/icons/zoom-original.png</normaloff>:/icons/icons/zoom-original.png</iconset>
</property>
<property name="text">
<string>Select</string>
<string>Zoom to Fit</string>
</property>
<property name="toolTip">
<string>Select graph items</string>
<string>Zoom canvas to fit</string>
</property>
</action>
<action name="actionAddComponent">
@@ -93,6 +97,8 @@
</property>
</action>
</widget>
<resources/>
<resources>
<include location="../../resources/resources.qrc"/>
</resources>
<connections/>
</ui>
@@ -0,0 +1,89 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'graph_editor_widget.ui'
##
## Created by: Qt User Interface Compiler version 6.11.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient,
QCursor, QFont, QFontDatabase, QGradient,
QIcon, QImage, QKeySequence, QLinearGradient,
QPainter, QPalette, QPixmap, QRadialGradient,
QTransform)
from PySide6.QtWidgets import (QApplication, QFrame, QGraphicsView, QSizePolicy,
QToolBar, QVBoxLayout, QWidget)
import resources_rc
class Ui_graphEditorWidget(object):
def setupUi(self, graphEditorWidget):
if not graphEditorWidget.objectName():
graphEditorWidget.setObjectName(u"graphEditorWidget")
graphEditorWidget.resize(1079, 730)
self.actionZoomToFit = QAction(graphEditorWidget)
self.actionZoomToFit.setObjectName(u"actionZoomToFit")
icon = QIcon()
icon.addFile(u":/icons/icons/zoom-original.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off)
self.actionZoomToFit.setIcon(icon)
self.actionAddComponent = QAction(graphEditorWidget)
self.actionAddComponent.setObjectName(u"actionAddComponent")
self.actionAddConnection = QAction(graphEditorWidget)
self.actionAddConnection.setObjectName(u"actionAddConnection")
self.actionDelete = QAction(graphEditorWidget)
self.actionDelete.setObjectName(u"actionDelete")
self.verticalLayout = QVBoxLayout(graphEditorWidget)
self.verticalLayout.setSpacing(0)
self.verticalLayout.setObjectName(u"verticalLayout")
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.graphToolBar = QToolBar(graphEditorWidget)
self.graphToolBar.setObjectName(u"graphToolBar")
self.graphToolBar.setMovable(False)
self.graphToolBar.setFloatable(False)
self.verticalLayout.addWidget(self.graphToolBar)
self.graphicsView = QGraphicsView(graphEditorWidget)
self.graphicsView.setObjectName(u"graphicsView")
self.graphicsView.setFrameShape(QFrame.Shape.NoFrame)
self.graphicsView.setRenderHints(QPainter.RenderHint.Antialiasing)
self.graphicsView.setDragMode(QGraphicsView.DragMode.RubberBandDrag)
self.verticalLayout.addWidget(self.graphicsView)
self.graphToolBar.addAction(self.actionZoomToFit)
self.graphToolBar.addAction(self.actionAddComponent)
self.graphToolBar.addAction(self.actionAddConnection)
self.graphToolBar.addAction(self.actionDelete)
self.retranslateUi(graphEditorWidget)
QMetaObject.connectSlotsByName(graphEditorWidget)
# setupUi
def retranslateUi(self, graphEditorWidget):
graphEditorWidget.setWindowTitle(QCoreApplication.translate("graphEditorWidget", u"Graph Editor", None))
self.actionZoomToFit.setText(QCoreApplication.translate("graphEditorWidget", u"Zoom to Fit", None))
#if QT_CONFIG(tooltip)
self.actionZoomToFit.setToolTip(QCoreApplication.translate("graphEditorWidget", u"Zoom canvas to fit", None))
#endif // QT_CONFIG(tooltip)
self.actionAddComponent.setText(QCoreApplication.translate("graphEditorWidget", u"Add Component", None))
#if QT_CONFIG(tooltip)
self.actionAddComponent.setToolTip(QCoreApplication.translate("graphEditorWidget", u"Add a component", None))
#endif // QT_CONFIG(tooltip)
self.actionAddConnection.setText(QCoreApplication.translate("graphEditorWidget", u"Add Connection", None))
#if QT_CONFIG(tooltip)
self.actionAddConnection.setToolTip(QCoreApplication.translate("graphEditorWidget", u"Add a connection", None))
#endif // QT_CONFIG(tooltip)
self.actionDelete.setText(QCoreApplication.translate("graphEditorWidget", u"Delete", None))
#if QT_CONFIG(tooltip)
self.actionDelete.setToolTip(QCoreApplication.translate("graphEditorWidget", u"Delete selected graph items", None))
#endif // QT_CONFIG(tooltip)
self.graphToolBar.setWindowTitle(QCoreApplication.translate("graphEditorWidget", u"Graph tools", None))
# retranslateUi