Explorar el Código

Allow read-only entries and fixed some minor bugs

Yentl Van Tendeloo hace 8 años
padre
commit
1e770d5303
Se han modificado 3 ficheros con 10 adiciones y 4 borrados
  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>
             self.name = constructor_parameters['name']
             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>
     </constructor>
 

+ 1 - 1
classes/window/activity.xml

@@ -161,7 +161,7 @@
                     <script>
                         self.activity = activity
                     </script>
-                    <raise event="change_text" target="self.activity_entry">
+                    <raise event="change_value" target="self.activity_entry">
                         <parameter expr="self.activity"/>
                     </raise>
                 </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)
 
-Date:   Mon Oct 16 16:47:33 2017
+Date:   Mon Oct 16 16:51:20 2017
 
 Model author: Yentl Van Tendeloo
 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}]))
     
     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):
         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):
         activity = parameters[0]
         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):
         self.big_step.outputEventOM(Event("delete_instance", None, [self, 'browsers']))
@@ -8769,6 +8769,9 @@ class Entry(RuntimeClassBase):
         if constructor_parameters == None: constructor_parameters = {}
         self.name = constructor_parameters['name']
         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):
         self.entry.destroy()