Jelajahi Sumber

Allow read-only entries and fixed some minor bugs

Yentl Van Tendeloo 8 tahun lalu
induk
melakukan
1e770d5303
3 mengubah file dengan 10 tambahan dan 4 penghapusan
  1. 3 0
      classes/widgets/entry.xml
  2. 1 1
      classes/window/activity.xml
  3. 6 3
      frontend.py

+ 3 - 0
classes/widgets/entry.xml

@@ -19,6 +19,9 @@
         <body>
         <body>
             self.name = constructor_parameters['name']
             self.name = constructor_parameters['name']
             self.entry = tk.Entry(constructor_parameters['parent'], textvariable=self.construct_strvar(constructor_parameters['parent'], constructor_parameters['value']))
             self.entry = tk.Entry(constructor_parameters['parent'], textvariable=self.construct_strvar(constructor_parameters['parent'], constructor_parameters['value']))
+
+            if constructor_parameters.get('readonly', False):
+                self.entry.config(state=tk.DISABLED)
         </body>
         </body>
     </constructor>
     </constructor>
 
 

+ 1 - 1
classes/window/activity.xml

@@ -161,7 +161,7 @@
                     <script>
                     <script>
                         self.activity = activity
                         self.activity = activity
                     </script>
                     </script>
-                    <raise event="change_text" target="self.activity_entry">
+                    <raise event="change_value" target="self.activity_entry">
                         <parameter expr="self.activity"/>
                         <parameter expr="self.activity"/>
                     </raise>
                     </raise>
                 </transition>
                 </transition>

+ 6 - 3
frontend.py

@@ -1,7 +1,7 @@
 """
 """
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 
 
-Date:   Mon Oct 16 16:47:33 2017
+Date:   Mon Oct 16 16:51:20 2017
 
 
 Model author: Yentl Van Tendeloo
 Model author: Yentl Van Tendeloo
 Model name:   Modelverse Visual Editor - Tkinter Version 
 Model name:   Modelverse Visual Editor - Tkinter Version 
@@ -7682,7 +7682,7 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.big_step.outputEventOM(Event("create_instance", None, [self, 'model_browse_entry', 'Entry', {'parent': self.output_frame, 'name': 'output_%s' % self.current[0], 'value': '(none)', 'readonly': False}]))
         self.big_step.outputEventOM(Event("create_instance", None, [self, 'model_browse_entry', 'Entry', {'parent': self.output_frame, 'name': 'output_%s' % self.current[0], 'value': '(none)', 'readonly': False}]))
     
     
     def _redraw_signature_add_output_create_button_enter(self):
     def _redraw_signature_add_output_create_button_enter(self):
-        self.big_step.outputEventOM(Event("create_instance", None, [self, 'model_browse_button', 'Button', {'parent': self.output_frame, 'visual': TextVisual('(...)'), 'tooltip_text': 'Select output model for tag %s.' % self.current[0], 'event_parameters': 'output_%s' % self.current[0]}]))
+        self.big_step.outputEventOM(Event("create_instance", None, [self, 'model_browse_button', 'Button', {'parent': self.output_frame, 'visual': TextVisual('...'), 'tooltip_text': 'Select output model for tag %s.' % self.current[0], 'event_parameters': 'output_%s' % self.current[0]}]))
     
     
     def _browse_model_create_browser_enter(self):
     def _browse_model_create_browser_enter(self):
         self.big_step.outputEventOM(Event("create_instance", None, [self, 'browsers', 'Browser', 'Select model to use.', None]))
         self.big_step.outputEventOM(Event("create_instance", None, [self, 'browsers', 'Browser', 'Select model to use.', None]))
@@ -7734,7 +7734,7 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
     def _browse_activity_waiting_for_decision_0_exec(self, parameters):
     def _browse_activity_waiting_for_decision_0_exec(self, parameters):
         activity = parameters[0]
         activity = parameters[0]
         self.activity = activity
         self.activity = activity
-        self.big_step.outputEventOM(Event("narrow_cast", None, [self, self.activity_entry, Event("change_text", None, [self.activity])]))
+        self.big_step.outputEventOM(Event("narrow_cast", None, [self, self.activity_entry, Event("change_value", None, [self.activity])]))
     
     
     def _browse_activity_waiting_for_decision_1_exec(self, parameters):
     def _browse_activity_waiting_for_decision_1_exec(self, parameters):
         self.big_step.outputEventOM(Event("delete_instance", None, [self, 'browsers']))
         self.big_step.outputEventOM(Event("delete_instance", None, [self, 'browsers']))
@@ -8769,6 +8769,9 @@ class Entry(RuntimeClassBase):
         if constructor_parameters == None: constructor_parameters = {}
         if constructor_parameters == None: constructor_parameters = {}
         self.name = constructor_parameters['name']
         self.name = constructor_parameters['name']
         self.entry = tk.Entry(constructor_parameters['parent'], textvariable=self.construct_strvar(constructor_parameters['parent'], constructor_parameters['value']))
         self.entry = tk.Entry(constructor_parameters['parent'], textvariable=self.construct_strvar(constructor_parameters['parent'], constructor_parameters['value']))
+        
+        if constructor_parameters.get('readonly', False):
+            self.entry.config(state=tk.DISABLED)
     
     
     def user_defined_destructor(self):
     def user_defined_destructor(self):
         self.entry.destroy()
         self.entry.destroy()