From dc7c7446ff4a582be2c27cf4b78004a02a470119 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr> Date: Tue, 21 Mar 2023 12:06:47 +0100 Subject: [PATCH] Network: Make checkable add and del button. --- src/view/ASubWindow.py | 29 ++++++++++++++++++++++++++--- src/view/NetworkWindow.py | 18 ++++++++++++++++++ src/view/network/GraphWidget.py | 3 --- src/view/ui/Network.ui | 4 ++-- 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/src/view/ASubWindow.py b/src/view/ASubWindow.py index 002b6fee..29ef8c81 100644 --- a/src/view/ASubWindow.py +++ b/src/view/ASubWindow.py @@ -167,13 +167,36 @@ class ASubWindow(QDialog): """ return self.find(QSpinBox, name).value() - def set_radio_button(self, name:str, checked:bool): - """Set value of spinbox component + def set_push_button_checkable(self, name:str, checked:bool): + """Set value of push button component Args: - name: The spinbox component name + name: The push button component name value: The new value + Returns: + Nothing + """ + self.find(QPushButton, name).setChecked(checked) + + def get_push_button_checkable(self, name:str): + """Get status of push button + + Args: + name: The push button component name + + Returns: + The status of push button + """ + return self.find(QPushButton, name).isChecked() + + def set_radio_button(self, name:str, checked:bool): + """Set value of radio button component + + Args: + name: The radio button component name + checked: Checked + Returns: Nothing """ diff --git a/src/view/NetworkWindow.py b/src/view/NetworkWindow.py index 36835515..a9065028 100644 --- a/src/view/NetworkWindow.py +++ b/src/view/NetworkWindow.py @@ -12,6 +12,7 @@ from PyQt5.QtCore import ( from PyQt5.QtWidgets import ( QTableView, QItemDelegate, QComboBox, QLineEdit, QHBoxLayout, QSlider, + QPushButton, ) class LineEditDelegate(QItemDelegate): @@ -172,3 +173,20 @@ class NetworkWindow(ASubWindow): self.nodes_model.dataChanged.connect(self.reachs_model.update) self.reachs_model.dataChanged.connect(self.nodes_model.update) + + self.find(QPushButton, "pushButton_add").clicked.connect( + self.clicked_add + ) + + self.find(QPushButton, "pushButton_del").clicked.connect( + self.clicked_del + ) + + + def clicked_add(self): + if self.get_push_button_checkable("pushButton_add"): + self.set_push_button_checkable("pushButton_del", False) + + def clicked_del(self): + if self.get_push_button_checkable("pushButton_del"): + self.set_push_button_checkable("pushButton_add", False) diff --git a/src/view/network/GraphWidget.py b/src/view/network/GraphWidget.py index a444465f..a7684982 100644 --- a/src/view/network/GraphWidget.py +++ b/src/view/network/GraphWidget.py @@ -75,9 +75,6 @@ class NodeItem(QGraphicsItem): # painter.setPen(QPen(Qt.black, 0)) painter.drawEllipse(-10, -10, 20, 20) - painter.setFont(QFont("Arial", 20)) - painter.drawText(QPoint(-10, -10), self.node.name) - def itemChange(self, change, value): if change == QGraphicsItem.ItemPositionHasChanged: self.graph.itemMoved() diff --git a/src/view/ui/Network.ui b/src/view/ui/Network.ui index 1372ae77..26a24cd9 100644 --- a/src/view/ui/Network.ui +++ b/src/view/ui/Network.ui @@ -25,7 +25,7 @@ <item> <layout class="QHBoxLayout" name="horizontalLayout_6"> <item> - <widget class="QPushButton" name="pushButton_19"> + <widget class="QPushButton" name="pushButton_add"> <property name="text"> <string/> </property> @@ -48,7 +48,7 @@ </widget> </item> <item> - <widget class="QPushButton" name="pushButton_20"> + <widget class="QPushButton" name="pushButton_del"> <property name="text"> <string/> </property> -- GitLab