Pārlūkot izejas kodu

Better error handling in GUI for canvas_element

Yentl Van Tendeloo 7 gadi atpakaļ
vecāks
revīzija
75f491b1f6
2 mainītis faili ar 44 papildinājumiem un 32 dzēšanām
  1. 30 24
      classes/canvas/canvas_element.xml
  2. 14 8
      frontend.py

+ 30 - 24
classes/canvas/canvas_element.xml

@@ -103,9 +103,12 @@
 
                     <transition event="mv_response" target="../y"/>
                     <transition event="mv_exception" target="../../../main">
-                        <script>
-                            print("Could not update X attribute")
-                        </script>
+                        <parameter name="ID"/>
+                        <parameter name="exception_name"/>
+                        <parameter name="description"/>
+                        <raise event="errorlog_log" scope="broad">
+                            <parameter expr="'Failed to update X attribute: %s -- %s' % (exception_name, description)"/>
+                        </raise>
                     </transition>
                 </state>
 
@@ -119,9 +122,12 @@
 
                     <transition event="mv_response" target="../../../main"/>
                     <transition event="mv_exception" target="../../../main">
-                        <script>
-                            print("Could not update Y attribute")
-                        </script>
+                        <parameter name="ID"/>
+                        <parameter name="exception_name"/>
+                        <parameter name="description"/>
+                        <raise event="errorlog_log" scope="broad">
+                            <parameter expr="'Failed to update Y attribute: %s -- %s' % (exception_name, description)"/>
+                        </raise>
                     </transition>
                 </state>
             </state>
@@ -204,9 +210,9 @@
                 <parameter name="ID"/>
                 <parameter name="exception_name"/>
                 <parameter name="description"/>
-                <script>
-                    print("Could not remove element!")
-                </script>
+                <raise event="errorlog_log" scope="broad">
+                    <parameter expr="'Could not remove element: %s -- %s' % (exception_name, description)"/>
+                </raise>
             </transition>
         </state>
 
@@ -247,9 +253,9 @@
                     <parameter name="ID"/>
                     <parameter name="exception_name"/>
                     <parameter name="description"/>
-                    <script>
-                        print("Could not read attributes of element!")
-                    </script>
+                    <raise event="errorlog_log" scope="broad">
+                        <parameter expr="'Failed to read attributes: %s -- %s' % (exception_name, description)"/>
+                    </raise>
                 </transition>
 
                 <transition event="mv_response" target="../translate_AL">
@@ -290,9 +296,9 @@
                         <parameter name="ID"/>
                         <parameter name="exception_name"/>
                         <parameter name="description"/>
-                        <script>
-                            print("Could not read AL text of element!")
-                        </script>
+                        <raise event="errorlog_log" scope="broad">
+                            <parameter expr="'Failed to read Action Language fragment: %s -- %s' % (exception_name, description)"/>
+                        </raise>
                     </transition>
 
                     <transition event="mv_response" target="../check">
@@ -427,9 +433,9 @@
                         <parameter name="ID"/>
                         <parameter name="exception_name"/>
                         <parameter name="description"/>
-                        <script>
-                            print("Could not read assign attribute!")
-                        </script>
+                        <raise event="errorlog_log" scope="broad">
+                            <parameter expr="'Could not assign attribute: %s -- %s' % (exception_name, description)"/>
+                        </raise>
                     </transition>
 
                 </state>
@@ -463,9 +469,9 @@
                     <parameter name="ID"/>
                     <parameter name="exception_name"/>
                     <parameter name="description"/>
-                    <script>
-                        print("Could not update X attribute!")
-                    </script>
+                    <raise event="errorlog_log" scope="broad">
+                        <parameter expr="'Could not update X attribute: %s -- %s' % (exception_name, description)"/>
+                    </raise>
                 </transition>
             </state>
 
@@ -482,9 +488,9 @@
                     <parameter name="ID"/>
                     <parameter name="exception_name"/>
                     <parameter name="description"/>
-                    <script>
-                        print("Could not update Y attribute!")
-                    </script>
+                    <raise event="errorlog_log" scope="broad">
+                        <parameter expr="'Could not update Y attribute: %s -- %s' % (exception_name, description)"/>
+                    </raise>
                 </transition>
             </state>
         </state>

+ 14 - 8
frontend.py

@@ -14819,10 +14819,16 @@ class CanvasElement(RuntimeClassBase, SCCDWidget):
         return not current_rendered_model
     
     def _init_update_mv_x_1_exec(self, parameters):
-        print("Could not update X attribute")
+        ID = parameters[0]
+        exception_name = parameters[1]
+        description = parameters[2]
+        self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("errorlog_log", None, ['Failed to update X attribute: %s -- %s' % (exception_name, description)])]))
     
     def _init_update_mv_y_1_exec(self, parameters):
-        print("Could not update Y attribute")
+        ID = parameters[0]
+        exception_name = parameters[1]
+        description = parameters[2]
+        self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("errorlog_log", None, ['Failed to update Y attribute: %s -- %s' % (exception_name, description)])]))
     
     def _main_0_exec(self, parameters):
         element = parameters[0]
@@ -14879,7 +14885,7 @@ class CanvasElement(RuntimeClassBase, SCCDWidget):
         ID = parameters[0]
         exception_name = parameters[1]
         description = parameters[2]
-        print("Could not remove element!")
+        self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("errorlog_log", None, ['Could not remove element: %s -- %s' % (exception_name, description)])]))
     
     def _dragging_0_exec(self, parameters):
         ID = parameters[0]
@@ -14906,7 +14912,7 @@ class CanvasElement(RuntimeClassBase, SCCDWidget):
         ID = parameters[0]
         exception_name = parameters[1]
         description = parameters[2]
-        print("Could not read attributes of element!")
+        self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("errorlog_log", None, ['Failed to read attributes: %s -- %s' % (exception_name, description)])]))
     
     def _update_attrs_query_1_exec(self, parameters):
         result = parameters[0]
@@ -14937,7 +14943,7 @@ class CanvasElement(RuntimeClassBase, SCCDWidget):
         ID = parameters[0]
         exception_name = parameters[1]
         description = parameters[2]
-        print("Could not read AL text of element!")
+        self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("errorlog_log", None, ['Failed to read Action Language fragment: %s -- %s' % (exception_name, description)])]))
     
     def _update_attrs_translate_AL_process_1_exec(self, parameters):
         result = parameters[0]
@@ -15022,7 +15028,7 @@ class CanvasElement(RuntimeClassBase, SCCDWidget):
         ID = parameters[0]
         exception_name = parameters[1]
         description = parameters[2]
-        print("Could not read assign attribute!")
+        self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("errorlog_log", None, ['Could not assign attribute: %s -- %s' % (exception_name, description)])]))
     
     def _update_mv_check_0_guard(self, parameters):
         return current_rendered_model
@@ -15037,13 +15043,13 @@ class CanvasElement(RuntimeClassBase, SCCDWidget):
         ID = parameters[0]
         exception_name = parameters[1]
         description = parameters[2]
-        print("Could not update X attribute!")
+        self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("errorlog_log", None, ['Could not update X attribute: %s -- %s' % (exception_name, description)])]))
     
     def _update_mv_y_1_exec(self, parameters):
         ID = parameters[0]
         exception_name = parameters[1]
         description = parameters[2]
-        print("Could not update Y attribute!")
+        self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("errorlog_log", None, ['Could not update Y attribute: %s -- %s' % (exception_name, description)])]))
     
     def initializeStatechart(self):
         # enter default state