浏览代码

Fixed Entry widget

Yentl Van Tendeloo 8 年之前
父节点
当前提交
2862b6588b
共有 2 个文件被更改,包括 13 次插入26 次删除
  1. 5 12
      classes/widgets/entry.xml
  2. 8 14
      frontend.py

+ 5 - 12
classes/widgets/entry.xml

@@ -1,8 +1,6 @@
 <class name="Entry">
 <class name="Entry">
     <relationships>
     <relationships>
         <association name="parent" class="A"/>
         <association name="parent" class="A"/>
-        <inheritance class="SCCDWidget" priority='0'/>
-        <inheritance class="tk.Entry" priority='1'/>
     </relationships>
     </relationships>
 
 
     <method name="construct_strvar">
     <method name="construct_strvar">
@@ -18,20 +16,15 @@
 
 
     <constructor>
     <constructor>
         <parameter name="constructor_parameters" type='dict' default='{}' />
         <parameter name="constructor_parameters" type='dict' default='{}' />
-        <super class="tk.Entry">
-            <parameter expr="constructor_parameters['parent']"/>
-            <parameter expr="**{'textvariable': self.construct_strvar(constructor_parameters['parent'], constructor_parameters['value'])}"/>
-        </super>
-        <super class="SCCDWidget">
-        </super>
         <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']))
         </body>
         </body>
     </constructor>
     </constructor>
 
 
     <destructor>
     <destructor>
         <body>
         <body>
-            self.destroy()
+            self.entry.destroy()
         </body>
         </body>
     </destructor>
     </destructor>
 
 
@@ -40,7 +33,7 @@
             <state id="initializing">
             <state id="initializing">
                 <transition target="../ready">
                 <transition target="../ready">
                     <raise event="tk_widget" scope="narrow" target="'parent'">
                     <raise event="tk_widget" scope="narrow" target="'parent'">
-                        <parameter expr="self"/>
+                        <parameter expr="self.entry"/>
                     </raise>
                     </raise>
                 </transition>
                 </transition>
             </state>
             </state>
@@ -57,13 +50,13 @@
 
 
                 <transition event="mark_committed" target=".">
                 <transition event="mark_committed" target=".">
                     <script>
                     <script>
-                        self.configure(bg="lightgreen")
+                        self.entry.configure(bg="lime green")
                     </script>
                     </script>
                 </transition>
                 </transition>
 
 
                 <transition event="mark_uncommitted" target=".">
                 <transition event="mark_uncommitted" target=".">
                     <script>
                     <script>
-                        self.configure(bg="lightorange")
+                        self.entry.configure(bg="orange2")
                     </script>
                     </script>
                 </transition>
                 </transition>
 
 

+ 8 - 14
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:   Fri Oct 13 10:15:00 2017
+Date:   Fri Oct 13 10:28:24 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 
@@ -4240,7 +4240,7 @@ class AttributeEditor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
     
     
     def _all_init_create_entries_create_entry_enter(self):
     def _all_init_create_entries_create_entry_enter(self):
         current_attr = self.attrs_modify.popitem()
         current_attr = self.attrs_modify.popitem()
-        self.current_attr = {'name': current_attr[0][1:-1], 'type': current_attr[1][0][1:-1], 'optional': current_attr[1][1]}
+        self.current_attr = {'name': current_attr[0], 'type': current_attr[1][0][1:-1], 'optional': current_attr[1][1]}
     
     
     def _all_init_create_entries_create_entry_exit(self):
     def _all_init_create_entries_create_entry_exit(self):
         print("INC counter")
         print("INC counter")
@@ -7899,7 +7899,7 @@ class ConcreteSyntaxToolbar(Toolbar):
         self.default_targets = self.states["/init"].getEffectiveTargetStates()
         self.default_targets = self.states["/init"].getEffectiveTargetStates()
         RuntimeClassBase.initializeStatechart(self)
         RuntimeClassBase.initializeStatechart(self)
 
 
-class Entry(RuntimeClassBase, tk.Entry, SCCDWidget):
+class Entry(RuntimeClassBase):
     def __init__(self, controller, constructor_parameters = None):
     def __init__(self, controller, constructor_parameters = None):
         if constructor_parameters == None: constructor_parameters = {}
         if constructor_parameters == None: constructor_parameters = {}
         RuntimeClassBase.__init__(self, controller)
         RuntimeClassBase.__init__(self, controller)
@@ -7918,17 +7918,11 @@ class Entry(RuntimeClassBase, tk.Entry, SCCDWidget):
     
     
     def user_defined_constructor(self, constructor_parameters = None):
     def user_defined_constructor(self, constructor_parameters = None):
         if constructor_parameters == None: constructor_parameters = {}
         if constructor_parameters == None: constructor_parameters = {}
-        tk.Entry.__init__(self, constructor_parameters['parent'], **{'textvariable': self.construct_strvar(constructor_parameters['parent'], constructor_parameters['value'])})
-        SCCDWidget.__init__(self)
         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']))
     
     
     def user_defined_destructor(self):
     def user_defined_destructor(self):
-        self.destroy()
-        # call super class destructors
-        if hasattr(tk.Entry, "__del__"):
-            tk.Entry.__del__(self)
-        if hasattr(SCCDWidget, "__del__"):
-            SCCDWidget.__del__(self)
+        self.entry.destroy()
     
     
     
     
     # user defined method
     # user defined method
@@ -7988,7 +7982,7 @@ class Entry(RuntimeClassBase, tk.Entry, SCCDWidget):
         self.states["/main/ready"].addTransition(_main_ready_3)
         self.states["/main/ready"].addTransition(_main_ready_3)
     
     
     def _main_initializing_0_exec(self, parameters):
     def _main_initializing_0_exec(self, parameters):
-        self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("tk_widget", None, [self])]))
+        self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("tk_widget", None, [self.entry])]))
     
     
     def _main_ready_0_exec(self, parameters):
     def _main_ready_0_exec(self, parameters):
         tagorid = parameters[0]
         tagorid = parameters[0]
@@ -8001,10 +7995,10 @@ class Entry(RuntimeClassBase, tk.Entry, SCCDWidget):
         return tagorid == id(self)
         return tagorid == id(self)
     
     
     def _main_ready_1_exec(self, parameters):
     def _main_ready_1_exec(self, parameters):
-        self.configure(bg="lightgreen")
+        self.entry.configure(bg="lime green")
     
     
     def _main_ready_2_exec(self, parameters):
     def _main_ready_2_exec(self, parameters):
-        self.configure(bg="lightorange")
+        self.entry.configure(bg="orange2")
     
     
     def _main_ready_3_exec(self, parameters):
     def _main_ready_3_exec(self, parameters):
         new_name = parameters[0]
         new_name = parameters[0]