From 627639cbbfc56c64a2e30112d7d73324e2266e1b Mon Sep 17 00:00:00 2001 From: Martin <martin.hogstedt@hotmail.com> Date: Tue, 2 Jul 2024 09:17:01 +0200 Subject: [PATCH] added error msg box to grx and it now handles incorrect input instead of crashing --- .../gui/module_graphics_item/module_graphics_item.py | 4 ++++ src/simudator/processor/mia/gui/mia_grx_graphic.py | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/simudator/gui/module_graphics_item/module_graphics_item.py b/src/simudator/gui/module_graphics_item/module_graphics_item.py index 30ae67a..320ae76 100644 --- a/src/simudator/gui/module_graphics_item/module_graphics_item.py +++ b/src/simudator/gui/module_graphics_item/module_graphics_item.py @@ -185,6 +185,10 @@ class ModuleGraphicsItem(QGraphicsObject, QGraphicsItem): parsed_value = ast.literal_eval(value) except SyntaxError as e: self.errorMessageWidget.showMessage(str(e)) + except ValueError as e: + self.errorMessageWidget.showMessage( + "Value Error. Unable to parse input. Make sure it is in the correct base." + ) else: module_state = self.module.get_state() module_state[state] = parsed_value diff --git a/src/simudator/processor/mia/gui/mia_grx_graphic.py b/src/simudator/processor/mia/gui/mia_grx_graphic.py index d7d9429..2f978eb 100644 --- a/src/simudator/processor/mia/gui/mia_grx_graphic.py +++ b/src/simudator/processor/mia/gui/mia_grx_graphic.py @@ -3,6 +3,7 @@ import math from qtpy.QtCore import QPointF from qtpy.QtGui import QPolygonF from qtpy.QtWidgets import ( + QErrorMessage, QGraphicsLineItem, QGraphicsPolygonItem, QGraphicsRectItem, @@ -32,6 +33,7 @@ class GrxGraphicsItem(ModuleGraphicsItem): def __init__(self, module: GRX): self.register_text_labels = [] + self.errorMessageWidget = QErrorMessage() super().__init__(module) def draw_graphics_item(self): @@ -126,14 +128,18 @@ class GrxGraphicsItem(ModuleGraphicsItem): ) # Add ports to and from bus - from_bus_port = PortGraphicsItem(self.module.signals["in_input"], Orientation.RIGHT, self) + from_bus_port = PortGraphicsItem( + self.module.signals["in_input"], Orientation.RIGHT, self + ) from_bus_port.setPos( rect_width + self.LINE_LENGTH + self.MUX_WIDTH, # Use the buses port margins so the ports align nicely mux_height / 2 - BusGraphicsItem.PORT_MARGIN / 2, ) - to_bus_port = PortGraphicsItem(self.module.signals["out_content"], Orientation.RIGHT, self) + to_bus_port = PortGraphicsItem( + self.module.signals["out_content"], Orientation.RIGHT, self + ) to_bus_port.setPos( rect_width + self.LINE_LENGTH + self.MUX_WIDTH, # Use the buses port margins so the ports align nicely -- GitLab