|
@@ -0,0 +1,70 @@
|
|
|
|
|
+<class name="Entry">
|
|
|
|
|
+ <relationships>
|
|
|
|
|
+ <association name="parent" class="A"/>
|
|
|
|
|
+ <inheritance class="SCCDWidget" priority='0'/>
|
|
|
|
|
+ <inheritance class="tk.Entry" priority='1'/>
|
|
|
|
|
+ </relationships>
|
|
|
|
|
+
|
|
|
|
|
+ <constructor>
|
|
|
|
|
+ <parameter name="constructor_parameters" type='dict' default='{}' />
|
|
|
|
|
+ <body>
|
|
|
|
|
+ self.strvar = tk.StringVar(self)
|
|
|
|
|
+ self.strvar.set(constructor_parameters['initial']
|
|
|
|
|
+ self.strvar.trace('w', lambda _, _, _: self.controller.addInput(Event("change_entry", "input", [id(self), self.strvar.get()])))
|
|
|
|
|
+ self.name = constructor_parameters['name']
|
|
|
|
|
+ </body>
|
|
|
|
|
+ <super class="tk.Entry">
|
|
|
|
|
+ <parameter expr="constructor_parameters['parent']"/>
|
|
|
|
|
+ </super>
|
|
|
|
|
+ <super class="SCCDWidget">
|
|
|
|
|
+ </super>
|
|
|
|
|
+ </constructor>
|
|
|
|
|
+
|
|
|
|
|
+ <destructor>
|
|
|
|
|
+ <body>
|
|
|
|
|
+ self.destroy()
|
|
|
|
|
+ </body>
|
|
|
|
|
+ </destructor>
|
|
|
|
|
+
|
|
|
|
|
+ <scxml initial="main">
|
|
|
|
|
+ <state id="main" initial='initializing'>
|
|
|
|
|
+ <state id="initializing">
|
|
|
|
|
+ <transition target="../ready">
|
|
|
|
|
+ <raise event="tk_widget" scope="narrow" target="'parent'">
|
|
|
|
|
+ <parameter expr="self"/>
|
|
|
|
|
+ </raise>
|
|
|
|
|
+ </transition>
|
|
|
|
|
+ </state>
|
|
|
|
|
+
|
|
|
|
|
+ <state id="ready">
|
|
|
|
|
+ <transition port='input' event="change_entry" target='.' cond='tagorid == id(self)'>
|
|
|
|
|
+ <parameter name='tagorid'/>
|
|
|
|
|
+ <parameter name='new_value'/>
|
|
|
|
|
+ <raise event="changed_entry" scope="narrow" target="'parent'">
|
|
|
|
|
+ <parameter expr="self.name"/>
|
|
|
|
|
+ <parameter expr="new_value"/>
|
|
|
|
|
+ </raise>
|
|
|
|
|
+ </transition>
|
|
|
|
|
+
|
|
|
|
|
+ <transition event="mark_committed" target=".">
|
|
|
|
|
+ <script>
|
|
|
|
|
+ self.configure(bg="lightgreen")
|
|
|
|
|
+ </script>
|
|
|
|
|
+ </transition>
|
|
|
|
|
+
|
|
|
|
|
+ <transition event="mark_uncommitted" target=".">
|
|
|
|
|
+ <script>
|
|
|
|
|
+ self.configure(bg="lightorange")
|
|
|
|
|
+ </script>
|
|
|
|
|
+ </transition>
|
|
|
|
|
+
|
|
|
|
|
+ <transition event="change_event_name" target=".">
|
|
|
|
|
+ <parameter name="new_name"/>
|
|
|
|
|
+ <script>
|
|
|
|
|
+ self.name = new_name
|
|
|
|
|
+ </script>
|
|
|
|
|
+ </transition>
|
|
|
|
|
+ </state>
|
|
|
|
|
+ </state>
|
|
|
|
|
+ </scxml>
|
|
|
|
|
+</class>
|