Преглед изворни кода

Added a progress bar during execution/enactment

Yentl Van Tendeloo пре 8 година
родитељ
комит
a24780a4fe
4 измењених фајлова са 277 додато и 81 уклоњено
  1. 17 0
      classes/widgets/progress_bar.xml
  2. 33 0
      classes/window/activity.xml
  3. 35 1
      classes/window/process_enact.xml
  4. 192 80
      frontend.py

+ 17 - 0
classes/widgets/progress_bar.xml

@@ -44,6 +44,23 @@
                         print("%s percent -- %s" % (self.value.get(), text))
                     </script>
                 </transition>
+
+                <transition event="start" target="../indeterminate">
+                    <script>
+                        self.configure(mode="indeterminate")
+                        print("Set indeterminate")
+                    </script>
+                </transition>
+            </state>
+
+            <state id="indeterminate">
+                <transition event="stop" target="../ready"/>
+
+                <transition after="0.05" target=".">
+                    <script>
+                        self.value.set(self.value.get() + 3)
+                    </script>
+                </transition>
             </state>
         </state>
     </scxml>

+ 33 - 0
classes/window/activity.xml

@@ -7,6 +7,7 @@
         <association name="model_browse_entry" class="Entry"/>
         <association name="model_browse_label" class="Label"/>
         <association name="browsers" class="Browser"/>
+        <association name="progressbar" class="ProgressBar"/>
         <association name="parent" class="A"/>
     </relationships>
 
@@ -149,6 +150,34 @@
                         </transition>
                     </state>
 
+                    <state id="pack">
+                        <transition event="tk_widget" target="../../create_progressbar">
+                            <parameter name="tk_widget"/>
+                            <script>
+                                tk_widget.pack()
+                            </script>
+                        </transition>
+                    </state>
+                </state>
+
+                <state id="create_progressbar" initial="create">
+                    <state id="create">
+                        <onentry>
+                            <raise event="create_instance" scope="cd">
+                                <parameter expr="'progressbar'"/>
+                                <parameter expr="'ProgressBar'"/>
+                                <parameter expr="{'parent': self.exec_frame}"/>
+                            </raise>
+                        </onentry>
+
+                        <transition event="instance_created" target="../pack">
+                            <parameter name="assoc_name"/>
+                            <raise event="start_instance" scope="cd">
+                                <parameter expr="assoc_name"/>
+                            </raise>
+                        </transition>
+                    </state>
+
                     <state id="pack">
                         <transition event="tk_widget" target="../../ready">
                             <parameter name="tk_widget"/>
@@ -218,6 +247,7 @@
                                 <parameter expr="'transformation_execute'"/>
                                 <parameter expr="[self.activity, self.exec_input_signature, self.exec_output_signature, '']"/>
                             </raise>
+                            <raise event="start" scope="narrow" target="'progressbar'"/>
                         </onentry>
 
                         <transition event="mv_response" target="../in_context">
@@ -644,6 +674,9 @@
                         <raise event="delete_instance" scope="cd">
                             <parameter expr="'model_browse_label'"/>
                         </raise>
+                        <raise event="delete_instance" scope="cd">
+                            <parameter expr="'progressbar'"/>
+                        </raise>
                     </transition>
                 </state>
 

+ 35 - 1
classes/window/process_enact.xml

@@ -6,6 +6,7 @@
         <association name="model_browse_button" class="Button"/>
         <association name="model_browse_entry" class="Entry"/>
         <association name="model_browse_label" class="Label"/>
+        <association name="progressbar" class="Label"/>
         <association name="browsers" class="Browser"/>
         <association name="parent" class="A"/>
     </relationships>
@@ -147,7 +148,7 @@
                     </state>
 
                     <state id="pack">
-                        <transition event="tk_widget" target="../../ready">
+                        <transition event="tk_widget" target="../../create_progressbar">
                             <parameter name="tk_widget"/>
                             <script>
                                 tk_widget.pack()
@@ -156,6 +157,34 @@
                     </state>
                 </state>
 
+                <state id="create_progressbar" initial="create">
+                    <state id="create">
+                        <onentry>
+                            <raise event="create_instance" scope="cd">
+                                <parameter expr="'progressbar'"/>
+                                <parameter expr="'ProgressBar'"/>
+                                <parameter expr="{'parent': self.exec_frame}"/>
+                            </raise>
+                        </onentry>
+
+                        <transition event="instance_created" target="../pack">
+                            <parameter name="assoc_name"/>
+                            <raise event="start_instance" scope="cd">
+                                <parameter expr="assoc_name"/>
+                            </raise>
+                        </transition>
+                    </state>
+
+                    <state id="pack">
+                        <transition event="tk_widget" target="../../ready">
+                            <parameter name="tk_widget"/>
+                            <script>
+                                tk_widget.pack(fill=tk.X)
+                            </script>
+                        </transition>
+                    </state>
+                </state>
+
                 <state id="ready">
                     <transition event="button_pressed" cond="event_name == 'browse_activity'" target="../browse_activity">
                         <parameter name="event_name"/>
@@ -192,6 +221,8 @@
                                 <parameter expr="'process_execute'"/>
                                 <parameter expr="[self.activity, self.exec_input_signature]"/>
                             </raise>
+
+                            <raise event="start" scope="narrow" target="'progressbar'"/>
                         </onentry>
 
                         <transition target="../in_context"/>
@@ -533,6 +564,9 @@
                         <raise event="delete_instance" scope="cd">
                             <parameter expr="'model_browse_label'"/>
                         </raise>
+                        <raise event="delete_instance" scope="cd">
+                            <parameter expr="'progressbar'"/>
+                        </raise>
                     </transition>
                 </state>
 

+ 192 - 80
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:   Wed Nov  8 13:54:01 2017
+Date:   Wed Nov  8 14:22:48 2017
 
 Model author: Yentl Van Tendeloo
 Model name:   Modelverse Visual Editor - Tkinter Version 
@@ -7649,155 +7649,165 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         # state /all/all/create_exec/pack
         self.states["/all/all/create_exec/pack"] = State(14, "/all/all/create_exec/pack", self)
         
+        # state /all/all/create_progressbar
+        self.states["/all/all/create_progressbar"] = State(15, "/all/all/create_progressbar", self)
+        
+        # state /all/all/create_progressbar/create
+        self.states["/all/all/create_progressbar/create"] = State(16, "/all/all/create_progressbar/create", self)
+        self.states["/all/all/create_progressbar/create"].setEnter(self._all_all_create_progressbar_create_enter)
+        
+        # state /all/all/create_progressbar/pack
+        self.states["/all/all/create_progressbar/pack"] = State(17, "/all/all/create_progressbar/pack", self)
+        
         # state /all/all/ready
-        self.states["/all/all/ready"] = State(15, "/all/all/ready", self)
+        self.states["/all/all/ready"] = State(18, "/all/all/ready", self)
         
         # state /all/all/execute
-        self.states["/all/all/execute"] = State(16, "/all/all/execute", self)
+        self.states["/all/all/execute"] = State(19, "/all/all/execute", self)
         
         # state /all/all/execute/check_args
-        self.states["/all/all/execute/check_args"] = State(17, "/all/all/execute/check_args", self)
+        self.states["/all/all/execute/check_args"] = State(20, "/all/all/execute/check_args", self)
         self.states["/all/all/execute/check_args"].setEnter(self._all_all_execute_check_args_enter)
         
         # state /all/all/execute/execute
-        self.states["/all/all/execute/execute"] = State(18, "/all/all/execute/execute", self)
+        self.states["/all/all/execute/execute"] = State(21, "/all/all/execute/execute", self)
         self.states["/all/all/execute/execute"].setEnter(self._all_all_execute_execute_enter)
         
         # state /all/all/execute/in_context
-        self.states["/all/all/execute/in_context"] = State(19, "/all/all/execute/in_context", self)
+        self.states["/all/all/execute/in_context"] = State(22, "/all/all/execute/in_context", self)
         
         # state /all/all/execute/in_context/choice
-        self.states["/all/all/execute/in_context/choice"] = State(20, "/all/all/execute/in_context/choice", self)
+        self.states["/all/all/execute/in_context/choice"] = State(23, "/all/all/execute/in_context/choice", self)
         
         # state /all/all/execute/in_context/operations
-        self.states["/all/all/execute/in_context/operations"] = State(21, "/all/all/execute/in_context/operations", self)
+        self.states["/all/all/execute/in_context/operations"] = State(24, "/all/all/execute/in_context/operations", self)
         self.states["/all/all/execute/in_context/operations"].setEnter(self._all_all_execute_in_context_operations_enter)
         self.states["/all/all/execute/in_context/operations"].setExit(self._all_all_execute_in_context_operations_exit)
         
         # state /all/all/execute/in_context/statechart
-        self.states["/all/all/execute/in_context/statechart"] = State(22, "/all/all/execute/in_context/statechart", self)
+        self.states["/all/all/execute/in_context/statechart"] = State(25, "/all/all/execute/in_context/statechart", self)
         
         # state /all/all/execute/in_context/statechart/init
-        self.states["/all/all/execute/in_context/statechart/init"] = State(23, "/all/all/execute/in_context/statechart/init", self)
+        self.states["/all/all/execute/in_context/statechart/init"] = State(26, "/all/all/execute/in_context/statechart/init", self)
         self.states["/all/all/execute/in_context/statechart/init"].setEnter(self._all_all_execute_in_context_statechart_init_enter)
         
         # state /all/all/execute/in_context/statechart/waiting
-        self.states["/all/all/execute/in_context/statechart/waiting"] = State(24, "/all/all/execute/in_context/statechart/waiting", self)
+        self.states["/all/all/execute/in_context/statechart/waiting"] = State(27, "/all/all/execute/in_context/statechart/waiting", self)
         self.states["/all/all/execute/in_context/statechart/waiting"].setExit(self._all_all_execute_in_context_statechart_waiting_exit)
         
         # state /all/all/execute/in_context/finished
-        self.states["/all/all/execute/in_context/finished"] = State(25, "/all/all/execute/in_context/finished", self)
+        self.states["/all/all/execute/in_context/finished"] = State(28, "/all/all/execute/in_context/finished", self)
         
         # state /all/all/execute/alter_context_result
-        self.states["/all/all/execute/alter_context_result"] = State(26, "/all/all/execute/alter_context_result", self)
+        self.states["/all/all/execute/alter_context_result"] = State(29, "/all/all/execute/alter_context_result", self)
         
         # state /all/all/execute/alter_context_result/check_next
-        self.states["/all/all/execute/alter_context_result/check_next"] = State(27, "/all/all/execute/alter_context_result/check_next", self)
+        self.states["/all/all/execute/alter_context_result/check_next"] = State(30, "/all/all/execute/alter_context_result/check_next", self)
         
         # state /all/all/execute/alter_context_result/add
-        self.states["/all/all/execute/alter_context_result/add"] = State(28, "/all/all/execute/alter_context_result/add", self)
+        self.states["/all/all/execute/alter_context_result/add"] = State(31, "/all/all/execute/alter_context_result/add", self)
         self.states["/all/all/execute/alter_context_result/add"].setEnter(self._all_all_execute_alter_context_result_add_enter)
         
         # state /all/all/browse_activity
-        self.states["/all/all/browse_activity"] = State(29, "/all/all/browse_activity", self)
+        self.states["/all/all/browse_activity"] = State(32, "/all/all/browse_activity", self)
         
         # state /all/all/browse_activity/create_browser
-        self.states["/all/all/browse_activity/create_browser"] = State(30, "/all/all/browse_activity/create_browser", self)
+        self.states["/all/all/browse_activity/create_browser"] = State(33, "/all/all/browse_activity/create_browser", self)
         self.states["/all/all/browse_activity/create_browser"].setEnter(self._all_all_browse_activity_create_browser_enter)
         
         # state /all/all/browse_activity/waiting_for_decision
-        self.states["/all/all/browse_activity/waiting_for_decision"] = State(31, "/all/all/browse_activity/waiting_for_decision", self)
+        self.states["/all/all/browse_activity/waiting_for_decision"] = State(34, "/all/all/browse_activity/waiting_for_decision", self)
         
         # state /all/all/redraw_signature
-        self.states["/all/all/redraw_signature"] = State(32, "/all/all/redraw_signature", self)
+        self.states["/all/all/redraw_signature"] = State(35, "/all/all/redraw_signature", self)
         
         # state /all/all/redraw_signature/clear_previous
-        self.states["/all/all/redraw_signature/clear_previous"] = State(33, "/all/all/redraw_signature/clear_previous", self)
+        self.states["/all/all/redraw_signature/clear_previous"] = State(36, "/all/all/redraw_signature/clear_previous", self)
         
         # state /all/all/redraw_signature/read_signature
-        self.states["/all/all/redraw_signature/read_signature"] = State(34, "/all/all/redraw_signature/read_signature", self)
+        self.states["/all/all/redraw_signature/read_signature"] = State(37, "/all/all/redraw_signature/read_signature", self)
         self.states["/all/all/redraw_signature/read_signature"].setEnter(self._all_all_redraw_signature_read_signature_enter)
         
         # state /all/all/redraw_signature/add_input
-        self.states["/all/all/redraw_signature/add_input"] = State(35, "/all/all/redraw_signature/add_input", self)
+        self.states["/all/all/redraw_signature/add_input"] = State(38, "/all/all/redraw_signature/add_input", self)
         self.states["/all/all/redraw_signature/add_input"].setEnter(self._all_all_redraw_signature_add_input_enter)
         
         # state /all/all/redraw_signature/add_input/check_next
-        self.states["/all/all/redraw_signature/add_input/check_next"] = State(36, "/all/all/redraw_signature/add_input/check_next", self)
+        self.states["/all/all/redraw_signature/add_input/check_next"] = State(39, "/all/all/redraw_signature/add_input/check_next", self)
         
         # state /all/all/redraw_signature/add_input/create_label
-        self.states["/all/all/redraw_signature/add_input/create_label"] = State(37, "/all/all/redraw_signature/add_input/create_label", self)
+        self.states["/all/all/redraw_signature/add_input/create_label"] = State(40, "/all/all/redraw_signature/add_input/create_label", self)
         self.states["/all/all/redraw_signature/add_input/create_label"].setEnter(self._all_all_redraw_signature_add_input_create_label_enter)
         
         # state /all/all/redraw_signature/add_input/pack_label
-        self.states["/all/all/redraw_signature/add_input/pack_label"] = State(38, "/all/all/redraw_signature/add_input/pack_label", self)
+        self.states["/all/all/redraw_signature/add_input/pack_label"] = State(41, "/all/all/redraw_signature/add_input/pack_label", self)
         
         # state /all/all/redraw_signature/add_input/create_entry
-        self.states["/all/all/redraw_signature/add_input/create_entry"] = State(39, "/all/all/redraw_signature/add_input/create_entry", self)
+        self.states["/all/all/redraw_signature/add_input/create_entry"] = State(42, "/all/all/redraw_signature/add_input/create_entry", self)
         self.states["/all/all/redraw_signature/add_input/create_entry"].setEnter(self._all_all_redraw_signature_add_input_create_entry_enter)
         
         # state /all/all/redraw_signature/add_input/pack_entry
-        self.states["/all/all/redraw_signature/add_input/pack_entry"] = State(40, "/all/all/redraw_signature/add_input/pack_entry", self)
+        self.states["/all/all/redraw_signature/add_input/pack_entry"] = State(43, "/all/all/redraw_signature/add_input/pack_entry", self)
         
         # state /all/all/redraw_signature/add_input/create_button
-        self.states["/all/all/redraw_signature/add_input/create_button"] = State(41, "/all/all/redraw_signature/add_input/create_button", self)
+        self.states["/all/all/redraw_signature/add_input/create_button"] = State(44, "/all/all/redraw_signature/add_input/create_button", self)
         self.states["/all/all/redraw_signature/add_input/create_button"].setEnter(self._all_all_redraw_signature_add_input_create_button_enter)
         
         # state /all/all/redraw_signature/add_input/pack_button
-        self.states["/all/all/redraw_signature/add_input/pack_button"] = State(42, "/all/all/redraw_signature/add_input/pack_button", self)
+        self.states["/all/all/redraw_signature/add_input/pack_button"] = State(45, "/all/all/redraw_signature/add_input/pack_button", self)
         
         # state /all/all/redraw_signature/add_output
-        self.states["/all/all/redraw_signature/add_output"] = State(43, "/all/all/redraw_signature/add_output", self)
+        self.states["/all/all/redraw_signature/add_output"] = State(46, "/all/all/redraw_signature/add_output", self)
         self.states["/all/all/redraw_signature/add_output"].setEnter(self._all_all_redraw_signature_add_output_enter)
         
         # state /all/all/redraw_signature/add_output/check_next
-        self.states["/all/all/redraw_signature/add_output/check_next"] = State(44, "/all/all/redraw_signature/add_output/check_next", self)
+        self.states["/all/all/redraw_signature/add_output/check_next"] = State(47, "/all/all/redraw_signature/add_output/check_next", self)
         
         # state /all/all/redraw_signature/add_output/create_label
-        self.states["/all/all/redraw_signature/add_output/create_label"] = State(45, "/all/all/redraw_signature/add_output/create_label", self)
+        self.states["/all/all/redraw_signature/add_output/create_label"] = State(48, "/all/all/redraw_signature/add_output/create_label", self)
         self.states["/all/all/redraw_signature/add_output/create_label"].setEnter(self._all_all_redraw_signature_add_output_create_label_enter)
         
         # state /all/all/redraw_signature/add_output/pack_label
-        self.states["/all/all/redraw_signature/add_output/pack_label"] = State(46, "/all/all/redraw_signature/add_output/pack_label", self)
+        self.states["/all/all/redraw_signature/add_output/pack_label"] = State(49, "/all/all/redraw_signature/add_output/pack_label", self)
         
         # state /all/all/redraw_signature/add_output/create_entry
-        self.states["/all/all/redraw_signature/add_output/create_entry"] = State(47, "/all/all/redraw_signature/add_output/create_entry", self)
+        self.states["/all/all/redraw_signature/add_output/create_entry"] = State(50, "/all/all/redraw_signature/add_output/create_entry", self)
         self.states["/all/all/redraw_signature/add_output/create_entry"].setEnter(self._all_all_redraw_signature_add_output_create_entry_enter)
         
         # state /all/all/redraw_signature/add_output/pack_entry
-        self.states["/all/all/redraw_signature/add_output/pack_entry"] = State(48, "/all/all/redraw_signature/add_output/pack_entry", self)
+        self.states["/all/all/redraw_signature/add_output/pack_entry"] = State(51, "/all/all/redraw_signature/add_output/pack_entry", self)
         
         # state /all/all/redraw_signature/add_output/create_button
-        self.states["/all/all/redraw_signature/add_output/create_button"] = State(49, "/all/all/redraw_signature/add_output/create_button", self)
+        self.states["/all/all/redraw_signature/add_output/create_button"] = State(52, "/all/all/redraw_signature/add_output/create_button", self)
         self.states["/all/all/redraw_signature/add_output/create_button"].setEnter(self._all_all_redraw_signature_add_output_create_button_enter)
         
         # state /all/all/redraw_signature/add_output/pack_button
-        self.states["/all/all/redraw_signature/add_output/pack_button"] = State(50, "/all/all/redraw_signature/add_output/pack_button", self)
+        self.states["/all/all/redraw_signature/add_output/pack_button"] = State(53, "/all/all/redraw_signature/add_output/pack_button", self)
         
         # state /all/all/browse_model
-        self.states["/all/all/browse_model"] = State(51, "/all/all/browse_model", self)
+        self.states["/all/all/browse_model"] = State(54, "/all/all/browse_model", self)
         
         # state /all/all/browse_model/create_browser
-        self.states["/all/all/browse_model/create_browser"] = State(52, "/all/all/browse_model/create_browser", self)
+        self.states["/all/all/browse_model/create_browser"] = State(55, "/all/all/browse_model/create_browser", self)
         self.states["/all/all/browse_model/create_browser"].setEnter(self._all_all_browse_model_create_browser_enter)
         
         # state /all/all/browse_model/waiting_for_decision
-        self.states["/all/all/browse_model/waiting_for_decision"] = State(53, "/all/all/browse_model/waiting_for_decision", self)
+        self.states["/all/all/browse_model/waiting_for_decision"] = State(56, "/all/all/browse_model/waiting_for_decision", self)
         
         # state /all/all/closing
-        self.states["/all/all/closing"] = State(54, "/all/all/closing", self)
+        self.states["/all/all/closing"] = State(57, "/all/all/closing", self)
         self.states["/all/all/closing"].setEnter(self._all_all_closing_enter)
         self.states["/all/all/closing"].setExit(self._all_all_closing_exit)
         
         # state /all/all/closed
-        self.states["/all/all/closed"] = State(55, "/all/all/closed", self)
+        self.states["/all/all/closed"] = State(58, "/all/all/closed", self)
         self.states["/all/all/closed"].setEnter(self._all_all_closed_enter)
         
         # state /all/wait_for_deletion
-        self.states["/all/wait_for_deletion"] = State(56, "/all/wait_for_deletion", self)
+        self.states["/all/wait_for_deletion"] = State(59, "/all/wait_for_deletion", self)
         
         # state /all/wait_for_deletion/init
-        self.states["/all/wait_for_deletion/init"] = State(57, "/all/wait_for_deletion/init", self)
+        self.states["/all/wait_for_deletion/init"] = State(60, "/all/wait_for_deletion/init", self)
         
         # add children
         self.states[""].addChild(self.states["/all"])
@@ -7807,6 +7817,7 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/all"].addChild(self.states["/all/all/create_activity_browse_entry"])
         self.states["/all/all"].addChild(self.states["/all/all/create_activity_browse_button"])
         self.states["/all/all"].addChild(self.states["/all/all/create_exec"])
+        self.states["/all/all"].addChild(self.states["/all/all/create_progressbar"])
         self.states["/all/all"].addChild(self.states["/all/all/ready"])
         self.states["/all/all"].addChild(self.states["/all/all/execute"])
         self.states["/all/all"].addChild(self.states["/all/all/browse_activity"])
@@ -7822,6 +7833,8 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/all/create_activity_browse_button"].addChild(self.states["/all/all/create_activity_browse_button/pack"])
         self.states["/all/all/create_exec"].addChild(self.states["/all/all/create_exec/create"])
         self.states["/all/all/create_exec"].addChild(self.states["/all/all/create_exec/pack"])
+        self.states["/all/all/create_progressbar"].addChild(self.states["/all/all/create_progressbar/create"])
+        self.states["/all/all/create_progressbar"].addChild(self.states["/all/all/create_progressbar/pack"])
         self.states["/all/all/execute"].addChild(self.states["/all/all/execute/check_args"])
         self.states["/all/all/execute"].addChild(self.states["/all/all/execute/execute"])
         self.states["/all/all/execute"].addChild(self.states["/all/all/execute/in_context"])
@@ -7864,6 +7877,7 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/all/create_activity_browse_entry"].default_state = self.states["/all/all/create_activity_browse_entry/create"]
         self.states["/all/all/create_activity_browse_button"].default_state = self.states["/all/all/create_activity_browse_button/create"]
         self.states["/all/all/create_exec"].default_state = self.states["/all/all/create_exec/create"]
+        self.states["/all/all/create_progressbar"].default_state = self.states["/all/all/create_progressbar/create"]
         self.states["/all/all/execute"].default_state = self.states["/all/all/execute/check_args"]
         self.states["/all/all/execute/in_context"].default_state = self.states["/all/all/execute/in_context/choice"]
         self.states["/all/all/execute/in_context/statechart"].default_state = self.states["/all/all/execute/in_context/statechart/init"]
@@ -7918,11 +7932,23 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/all/create_exec/create"].addTransition(_all_all_create_exec_create_0)
         
         # transition /all/all/create_exec/pack
-        _all_all_create_exec_pack_0 = Transition(self, self.states["/all/all/create_exec/pack"], [self.states["/all/all/ready"]])
+        _all_all_create_exec_pack_0 = Transition(self, self.states["/all/all/create_exec/pack"], [self.states["/all/all/create_progressbar"]])
         _all_all_create_exec_pack_0.setAction(self._all_all_create_exec_pack_0_exec)
         _all_all_create_exec_pack_0.setTrigger(Event("tk_widget", None))
         self.states["/all/all/create_exec/pack"].addTransition(_all_all_create_exec_pack_0)
         
+        # transition /all/all/create_progressbar/create
+        _all_all_create_progressbar_create_0 = Transition(self, self.states["/all/all/create_progressbar/create"], [self.states["/all/all/create_progressbar/pack"]])
+        _all_all_create_progressbar_create_0.setAction(self._all_all_create_progressbar_create_0_exec)
+        _all_all_create_progressbar_create_0.setTrigger(Event("instance_created", None))
+        self.states["/all/all/create_progressbar/create"].addTransition(_all_all_create_progressbar_create_0)
+        
+        # transition /all/all/create_progressbar/pack
+        _all_all_create_progressbar_pack_0 = Transition(self, self.states["/all/all/create_progressbar/pack"], [self.states["/all/all/ready"]])
+        _all_all_create_progressbar_pack_0.setAction(self._all_all_create_progressbar_pack_0_exec)
+        _all_all_create_progressbar_pack_0.setTrigger(Event("tk_widget", None))
+        self.states["/all/all/create_progressbar/pack"].addTransition(_all_all_create_progressbar_pack_0)
+        
         # transition /all/all/ready
         _all_all_ready_0 = Transition(self, self.states["/all/all/ready"], [self.states["/all/all/browse_activity"]])
         _all_all_ready_0.setTrigger(Event("button_pressed", None))
@@ -8188,11 +8214,15 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
     def _all_all_create_exec_create_enter(self):
         self.big_step.outputEventOM(Event("create_instance", None, [self, 'activity_browse', 'Button', {'parent': self.exec_frame, 'event_parameters': 'execute', 'visual': TextVisual('EXECUTE'), 'tooltip_text': 'Execute the activity'}]))
     
+    def _all_all_create_progressbar_create_enter(self):
+        self.big_step.outputEventOM(Event("create_instance", None, [self, 'progressbar', 'ProgressBar', {'parent': self.exec_frame}]))
+    
     def _all_all_execute_check_args_enter(self):
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, [self.stored_associations['input_%s' % i] for i in self.input_signature.keys()], Event("change_bg", None, ['light grey'])]))
     
     def _all_all_execute_execute_enter(self):
         self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, ['transformation_execute', [self.activity, self.exec_input_signature, self.exec_output_signature, '']])]))
+        self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'progressbar', Event("start", None, [])]))
     
     def _all_all_execute_in_context_operations_enter(self):
         self.addTimer(0, 0.5)
@@ -8301,6 +8331,14 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         tk_widget = parameters[0]
         tk_widget.pack()
     
+    def _all_all_create_progressbar_create_0_exec(self, parameters):
+        assoc_name = parameters[0]
+        self.big_step.outputEventOM(Event("start_instance", None, [self, assoc_name]))
+    
+    def _all_all_create_progressbar_pack_0_exec(self, parameters):
+        tk_widget = parameters[0]
+        tk_widget.pack()
+    
     def _all_all_ready_0_guard(self, parameters):
         event_name = parameters[0]
         return event_name == 'browse_activity'
@@ -8490,6 +8528,7 @@ class ActivityExecutor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.big_step.outputEventOM(Event("delete_instance", None, [self, 'activity_browse']))
         self.big_step.outputEventOM(Event("delete_instance", None, [self, 'model_browse_entry']))
         self.big_step.outputEventOM(Event("delete_instance", None, [self, 'model_browse_label']))
+        self.big_step.outputEventOM(Event("delete_instance", None, [self, 'progressbar']))
     
     def _all_wait_for_deletion_init_0_exec(self, parameters):
         assoc_name = parameters[0]
@@ -8597,121 +8636,131 @@ class ProcessEnactor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         # state /all/all/create_exec/pack
         self.states["/all/all/create_exec/pack"] = State(14, "/all/all/create_exec/pack", self)
         
+        # state /all/all/create_progressbar
+        self.states["/all/all/create_progressbar"] = State(15, "/all/all/create_progressbar", self)
+        
+        # state /all/all/create_progressbar/create
+        self.states["/all/all/create_progressbar/create"] = State(16, "/all/all/create_progressbar/create", self)
+        self.states["/all/all/create_progressbar/create"].setEnter(self._all_all_create_progressbar_create_enter)
+        
+        # state /all/all/create_progressbar/pack
+        self.states["/all/all/create_progressbar/pack"] = State(17, "/all/all/create_progressbar/pack", self)
+        
         # state /all/all/ready
-        self.states["/all/all/ready"] = State(15, "/all/all/ready", self)
+        self.states["/all/all/ready"] = State(18, "/all/all/ready", self)
         
         # state /all/all/execute
-        self.states["/all/all/execute"] = State(16, "/all/all/execute", self)
+        self.states["/all/all/execute"] = State(19, "/all/all/execute", self)
         
         # state /all/all/execute/execute
-        self.states["/all/all/execute/execute"] = State(17, "/all/all/execute/execute", self)
+        self.states["/all/all/execute/execute"] = State(20, "/all/all/execute/execute", self)
         self.states["/all/all/execute/execute"].setEnter(self._all_all_execute_execute_enter)
         
         # state /all/all/execute/in_context
-        self.states["/all/all/execute/in_context"] = State(18, "/all/all/execute/in_context", self)
+        self.states["/all/all/execute/in_context"] = State(21, "/all/all/execute/in_context", self)
         
         # state /all/all/execute/in_context/choice
-        self.states["/all/all/execute/in_context/choice"] = State(19, "/all/all/execute/in_context/choice", self)
+        self.states["/all/all/execute/in_context/choice"] = State(22, "/all/all/execute/in_context/choice", self)
         
         # state /all/all/execute/in_context/operations
-        self.states["/all/all/execute/in_context/operations"] = State(20, "/all/all/execute/in_context/operations", self)
+        self.states["/all/all/execute/in_context/operations"] = State(23, "/all/all/execute/in_context/operations", self)
         self.states["/all/all/execute/in_context/operations"].setEnter(self._all_all_execute_in_context_operations_enter)
         self.states["/all/all/execute/in_context/operations"].setExit(self._all_all_execute_in_context_operations_exit)
         
         # state /all/all/execute/in_context/statechart
-        self.states["/all/all/execute/in_context/statechart"] = State(21, "/all/all/execute/in_context/statechart", self)
+        self.states["/all/all/execute/in_context/statechart"] = State(24, "/all/all/execute/in_context/statechart", self)
         
         # state /all/all/execute/in_context/statechart/init
-        self.states["/all/all/execute/in_context/statechart/init"] = State(22, "/all/all/execute/in_context/statechart/init", self)
+        self.states["/all/all/execute/in_context/statechart/init"] = State(25, "/all/all/execute/in_context/statechart/init", self)
         self.states["/all/all/execute/in_context/statechart/init"].setEnter(self._all_all_execute_in_context_statechart_init_enter)
         
         # state /all/all/execute/in_context/statechart/waiting
-        self.states["/all/all/execute/in_context/statechart/waiting"] = State(23, "/all/all/execute/in_context/statechart/waiting", self)
+        self.states["/all/all/execute/in_context/statechart/waiting"] = State(26, "/all/all/execute/in_context/statechart/waiting", self)
         self.states["/all/all/execute/in_context/statechart/waiting"].setExit(self._all_all_execute_in_context_statechart_waiting_exit)
         
         # state /all/all/execute/in_context/finished
-        self.states["/all/all/execute/in_context/finished"] = State(24, "/all/all/execute/in_context/finished", self)
+        self.states["/all/all/execute/in_context/finished"] = State(27, "/all/all/execute/in_context/finished", self)
         
         # state /all/all/execute/alter_context_result
-        self.states["/all/all/execute/alter_context_result"] = State(25, "/all/all/execute/alter_context_result", self)
+        self.states["/all/all/execute/alter_context_result"] = State(28, "/all/all/execute/alter_context_result", self)
         
         # state /all/all/execute/alter_context_result/check_next
-        self.states["/all/all/execute/alter_context_result/check_next"] = State(26, "/all/all/execute/alter_context_result/check_next", self)
+        self.states["/all/all/execute/alter_context_result/check_next"] = State(29, "/all/all/execute/alter_context_result/check_next", self)
         
         # state /all/all/execute/alter_context_result/add
-        self.states["/all/all/execute/alter_context_result/add"] = State(27, "/all/all/execute/alter_context_result/add", self)
+        self.states["/all/all/execute/alter_context_result/add"] = State(30, "/all/all/execute/alter_context_result/add", self)
         self.states["/all/all/execute/alter_context_result/add"].setEnter(self._all_all_execute_alter_context_result_add_enter)
         
         # state /all/all/browse_activity
-        self.states["/all/all/browse_activity"] = State(28, "/all/all/browse_activity", self)
+        self.states["/all/all/browse_activity"] = State(31, "/all/all/browse_activity", self)
         
         # state /all/all/browse_activity/create_browser
-        self.states["/all/all/browse_activity/create_browser"] = State(29, "/all/all/browse_activity/create_browser", self)
+        self.states["/all/all/browse_activity/create_browser"] = State(32, "/all/all/browse_activity/create_browser", self)
         self.states["/all/all/browse_activity/create_browser"].setEnter(self._all_all_browse_activity_create_browser_enter)
         
         # state /all/all/browse_activity/waiting_for_decision
-        self.states["/all/all/browse_activity/waiting_for_decision"] = State(30, "/all/all/browse_activity/waiting_for_decision", self)
+        self.states["/all/all/browse_activity/waiting_for_decision"] = State(33, "/all/all/browse_activity/waiting_for_decision", self)
         
         # state /all/all/redraw_signature
-        self.states["/all/all/redraw_signature"] = State(31, "/all/all/redraw_signature", self)
+        self.states["/all/all/redraw_signature"] = State(34, "/all/all/redraw_signature", self)
         
         # state /all/all/redraw_signature/clear_previous
-        self.states["/all/all/redraw_signature/clear_previous"] = State(32, "/all/all/redraw_signature/clear_previous", self)
+        self.states["/all/all/redraw_signature/clear_previous"] = State(35, "/all/all/redraw_signature/clear_previous", self)
         
         # state /all/all/redraw_signature/read_signature
-        self.states["/all/all/redraw_signature/read_signature"] = State(33, "/all/all/redraw_signature/read_signature", self)
+        self.states["/all/all/redraw_signature/read_signature"] = State(36, "/all/all/redraw_signature/read_signature", self)
         self.states["/all/all/redraw_signature/read_signature"].setEnter(self._all_all_redraw_signature_read_signature_enter)
         
         # state /all/all/redraw_signature/add_input
-        self.states["/all/all/redraw_signature/add_input"] = State(34, "/all/all/redraw_signature/add_input", self)
+        self.states["/all/all/redraw_signature/add_input"] = State(37, "/all/all/redraw_signature/add_input", self)
         self.states["/all/all/redraw_signature/add_input"].setEnter(self._all_all_redraw_signature_add_input_enter)
         
         # state /all/all/redraw_signature/add_input/check_next
-        self.states["/all/all/redraw_signature/add_input/check_next"] = State(35, "/all/all/redraw_signature/add_input/check_next", self)
+        self.states["/all/all/redraw_signature/add_input/check_next"] = State(38, "/all/all/redraw_signature/add_input/check_next", self)
         
         # state /all/all/redraw_signature/add_input/create_label
-        self.states["/all/all/redraw_signature/add_input/create_label"] = State(36, "/all/all/redraw_signature/add_input/create_label", self)
+        self.states["/all/all/redraw_signature/add_input/create_label"] = State(39, "/all/all/redraw_signature/add_input/create_label", self)
         self.states["/all/all/redraw_signature/add_input/create_label"].setEnter(self._all_all_redraw_signature_add_input_create_label_enter)
         
         # state /all/all/redraw_signature/add_input/pack_label
-        self.states["/all/all/redraw_signature/add_input/pack_label"] = State(37, "/all/all/redraw_signature/add_input/pack_label", self)
+        self.states["/all/all/redraw_signature/add_input/pack_label"] = State(40, "/all/all/redraw_signature/add_input/pack_label", self)
         
         # state /all/all/redraw_signature/add_input/create_entry
-        self.states["/all/all/redraw_signature/add_input/create_entry"] = State(38, "/all/all/redraw_signature/add_input/create_entry", self)
+        self.states["/all/all/redraw_signature/add_input/create_entry"] = State(41, "/all/all/redraw_signature/add_input/create_entry", self)
         self.states["/all/all/redraw_signature/add_input/create_entry"].setEnter(self._all_all_redraw_signature_add_input_create_entry_enter)
         
         # state /all/all/redraw_signature/add_input/pack_entry
-        self.states["/all/all/redraw_signature/add_input/pack_entry"] = State(39, "/all/all/redraw_signature/add_input/pack_entry", self)
+        self.states["/all/all/redraw_signature/add_input/pack_entry"] = State(42, "/all/all/redraw_signature/add_input/pack_entry", self)
         
         # state /all/all/redraw_signature/add_input/create_button
-        self.states["/all/all/redraw_signature/add_input/create_button"] = State(40, "/all/all/redraw_signature/add_input/create_button", self)
+        self.states["/all/all/redraw_signature/add_input/create_button"] = State(43, "/all/all/redraw_signature/add_input/create_button", self)
         self.states["/all/all/redraw_signature/add_input/create_button"].setEnter(self._all_all_redraw_signature_add_input_create_button_enter)
         
         # state /all/all/redraw_signature/add_input/pack_button
-        self.states["/all/all/redraw_signature/add_input/pack_button"] = State(41, "/all/all/redraw_signature/add_input/pack_button", self)
+        self.states["/all/all/redraw_signature/add_input/pack_button"] = State(44, "/all/all/redraw_signature/add_input/pack_button", self)
         
         # state /all/all/browse_model
-        self.states["/all/all/browse_model"] = State(42, "/all/all/browse_model", self)
+        self.states["/all/all/browse_model"] = State(45, "/all/all/browse_model", self)
         
         # state /all/all/browse_model/create_browser
-        self.states["/all/all/browse_model/create_browser"] = State(43, "/all/all/browse_model/create_browser", self)
+        self.states["/all/all/browse_model/create_browser"] = State(46, "/all/all/browse_model/create_browser", self)
         self.states["/all/all/browse_model/create_browser"].setEnter(self._all_all_browse_model_create_browser_enter)
         
         # state /all/all/browse_model/waiting_for_decision
-        self.states["/all/all/browse_model/waiting_for_decision"] = State(44, "/all/all/browse_model/waiting_for_decision", self)
+        self.states["/all/all/browse_model/waiting_for_decision"] = State(47, "/all/all/browse_model/waiting_for_decision", self)
         
         # state /all/all/closing
-        self.states["/all/all/closing"] = State(45, "/all/all/closing", self)
+        self.states["/all/all/closing"] = State(48, "/all/all/closing", self)
         
         # state /all/all/closed
-        self.states["/all/all/closed"] = State(46, "/all/all/closed", self)
+        self.states["/all/all/closed"] = State(49, "/all/all/closed", self)
         self.states["/all/all/closed"].setEnter(self._all_all_closed_enter)
         
         # state /all/wait_for_deletion
-        self.states["/all/wait_for_deletion"] = State(47, "/all/wait_for_deletion", self)
+        self.states["/all/wait_for_deletion"] = State(50, "/all/wait_for_deletion", self)
         
         # state /all/wait_for_deletion/init
-        self.states["/all/wait_for_deletion/init"] = State(48, "/all/wait_for_deletion/init", self)
+        self.states["/all/wait_for_deletion/init"] = State(51, "/all/wait_for_deletion/init", self)
         
         # add children
         self.states[""].addChild(self.states["/all"])
@@ -8721,6 +8770,7 @@ class ProcessEnactor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/all"].addChild(self.states["/all/all/create_activity_browse_entry"])
         self.states["/all/all"].addChild(self.states["/all/all/create_activity_browse_button"])
         self.states["/all/all"].addChild(self.states["/all/all/create_exec"])
+        self.states["/all/all"].addChild(self.states["/all/all/create_progressbar"])
         self.states["/all/all"].addChild(self.states["/all/all/ready"])
         self.states["/all/all"].addChild(self.states["/all/all/execute"])
         self.states["/all/all"].addChild(self.states["/all/all/browse_activity"])
@@ -8736,6 +8786,8 @@ class ProcessEnactor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/all/create_activity_browse_button"].addChild(self.states["/all/all/create_activity_browse_button/pack"])
         self.states["/all/all/create_exec"].addChild(self.states["/all/all/create_exec/create"])
         self.states["/all/all/create_exec"].addChild(self.states["/all/all/create_exec/pack"])
+        self.states["/all/all/create_progressbar"].addChild(self.states["/all/all/create_progressbar/create"])
+        self.states["/all/all/create_progressbar"].addChild(self.states["/all/all/create_progressbar/pack"])
         self.states["/all/all/execute"].addChild(self.states["/all/all/execute/execute"])
         self.states["/all/all/execute"].addChild(self.states["/all/all/execute/in_context"])
         self.states["/all/all/execute"].addChild(self.states["/all/all/execute/alter_context_result"])
@@ -8769,6 +8821,7 @@ class ProcessEnactor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/all/create_activity_browse_entry"].default_state = self.states["/all/all/create_activity_browse_entry/create"]
         self.states["/all/all/create_activity_browse_button"].default_state = self.states["/all/all/create_activity_browse_button/create"]
         self.states["/all/all/create_exec"].default_state = self.states["/all/all/create_exec/create"]
+        self.states["/all/all/create_progressbar"].default_state = self.states["/all/all/create_progressbar/create"]
         self.states["/all/all/execute"].default_state = self.states["/all/all/execute/execute"]
         self.states["/all/all/execute/in_context"].default_state = self.states["/all/all/execute/in_context/choice"]
         self.states["/all/all/execute/in_context/statechart"].default_state = self.states["/all/all/execute/in_context/statechart/init"]
@@ -8822,11 +8875,23 @@ class ProcessEnactor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.states["/all/all/create_exec/create"].addTransition(_all_all_create_exec_create_0)
         
         # transition /all/all/create_exec/pack
-        _all_all_create_exec_pack_0 = Transition(self, self.states["/all/all/create_exec/pack"], [self.states["/all/all/ready"]])
+        _all_all_create_exec_pack_0 = Transition(self, self.states["/all/all/create_exec/pack"], [self.states["/all/all/create_progressbar"]])
         _all_all_create_exec_pack_0.setAction(self._all_all_create_exec_pack_0_exec)
         _all_all_create_exec_pack_0.setTrigger(Event("tk_widget", None))
         self.states["/all/all/create_exec/pack"].addTransition(_all_all_create_exec_pack_0)
         
+        # transition /all/all/create_progressbar/create
+        _all_all_create_progressbar_create_0 = Transition(self, self.states["/all/all/create_progressbar/create"], [self.states["/all/all/create_progressbar/pack"]])
+        _all_all_create_progressbar_create_0.setAction(self._all_all_create_progressbar_create_0_exec)
+        _all_all_create_progressbar_create_0.setTrigger(Event("instance_created", None))
+        self.states["/all/all/create_progressbar/create"].addTransition(_all_all_create_progressbar_create_0)
+        
+        # transition /all/all/create_progressbar/pack
+        _all_all_create_progressbar_pack_0 = Transition(self, self.states["/all/all/create_progressbar/pack"], [self.states["/all/all/ready"]])
+        _all_all_create_progressbar_pack_0.setAction(self._all_all_create_progressbar_pack_0_exec)
+        _all_all_create_progressbar_pack_0.setTrigger(Event("tk_widget", None))
+        self.states["/all/all/create_progressbar/pack"].addTransition(_all_all_create_progressbar_pack_0)
+        
         # transition /all/all/ready
         _all_all_ready_0 = Transition(self, self.states["/all/all/ready"], [self.states["/all/all/browse_activity"]])
         _all_all_ready_0.setTrigger(Event("button_pressed", None))
@@ -9039,11 +9104,15 @@ class ProcessEnactor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
     def _all_all_create_exec_create_enter(self):
         self.big_step.outputEventOM(Event("create_instance", None, [self, 'activity_browse', 'Button', {'parent': self.exec_frame, 'event_parameters': 'execute', 'visual': TextVisual('START'), 'tooltip_text': 'Enact the process'}]))
     
+    def _all_all_create_progressbar_create_enter(self):
+        self.big_step.outputEventOM(Event("create_instance", None, [self, 'progressbar', 'ProgressBar', {'parent': self.exec_frame}]))
+    
     def _all_all_execute_execute_enter(self):
         print("Executing process %s" % self.activity)
         print("   Inputs  " + str(self.exec_input_signature))
         self.current_context = ["NONE"]
         self.big_step.outputEventOM(Event("broad_cast", None, [self, Event("mv_request", None, ['process_execute', [self.activity, self.exec_input_signature]])]))
+        self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'progressbar', Event("start", None, [])]))
     
     def _all_all_execute_in_context_operations_enter(self):
         self.addTimer(0, 0.5)
@@ -9159,6 +9228,14 @@ class ProcessEnactor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         tk_widget = parameters[0]
         tk_widget.pack()
     
+    def _all_all_create_progressbar_create_0_exec(self, parameters):
+        assoc_name = parameters[0]
+        self.big_step.outputEventOM(Event("start_instance", None, [self, assoc_name]))
+    
+    def _all_all_create_progressbar_pack_0_exec(self, parameters):
+        tk_widget = parameters[0]
+        tk_widget.pack(fill=tk.X)
+    
     def _all_all_ready_0_guard(self, parameters):
         event_name = parameters[0]
         return event_name == 'browse_activity'
@@ -9284,6 +9361,7 @@ class ProcessEnactor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
         self.big_step.outputEventOM(Event("delete_instance", None, [self, 'activity_browse']))
         self.big_step.outputEventOM(Event("delete_instance", None, [self, 'model_browse_entry']))
         self.big_step.outputEventOM(Event("delete_instance", None, [self, 'model_browse_label']))
+        self.big_step.outputEventOM(Event("delete_instance", None, [self, 'progressbar']))
     
     def _all_wait_for_deletion_init_0_exec(self, parameters):
         assoc_name = parameters[0]
@@ -12368,10 +12446,16 @@ class ProgressBar(RuntimeClassBase, ttk.Progressbar, SCCDWidget):
         # state /root/ready
         self.states["/root/ready"] = State(3, "/root/ready", self)
         
+        # state /root/indeterminate
+        self.states["/root/indeterminate"] = State(4, "/root/indeterminate", self)
+        self.states["/root/indeterminate"].setEnter(self._root_indeterminate_enter)
+        self.states["/root/indeterminate"].setExit(self._root_indeterminate_exit)
+        
         # add children
         self.states[""].addChild(self.states["/root"])
         self.states["/root"].addChild(self.states["/root/initializing"])
         self.states["/root"].addChild(self.states["/root/ready"])
+        self.states["/root"].addChild(self.states["/root/indeterminate"])
         self.states[""].fixTree()
         self.states[""].default_state = self.states["/root"]
         self.states["/root"].default_state = self.states["/root/initializing"]
@@ -12387,6 +12471,25 @@ class ProgressBar(RuntimeClassBase, ttk.Progressbar, SCCDWidget):
         _root_ready_0.setAction(self._root_ready_0_exec)
         _root_ready_0.setTrigger(Event("update_status", None))
         self.states["/root/ready"].addTransition(_root_ready_0)
+        _root_ready_1 = Transition(self, self.states["/root/ready"], [self.states["/root/indeterminate"]])
+        _root_ready_1.setAction(self._root_ready_1_exec)
+        _root_ready_1.setTrigger(Event("start", None))
+        self.states["/root/ready"].addTransition(_root_ready_1)
+        
+        # transition /root/indeterminate
+        _root_indeterminate_0 = Transition(self, self.states["/root/indeterminate"], [self.states["/root/ready"]])
+        _root_indeterminate_0.setTrigger(Event("stop", None))
+        self.states["/root/indeterminate"].addTransition(_root_indeterminate_0)
+        _root_indeterminate_1 = Transition(self, self.states["/root/indeterminate"], [self.states["/root/indeterminate"]])
+        _root_indeterminate_1.setAction(self._root_indeterminate_1_exec)
+        _root_indeterminate_1.setTrigger(Event("_0after"))
+        self.states["/root/indeterminate"].addTransition(_root_indeterminate_1)
+    
+    def _root_indeterminate_enter(self):
+        self.addTimer(0, 0.05)
+    
+    def _root_indeterminate_exit(self):
+        self.removeTimer(0)
     
     def _root_initializing_0_exec(self, parameters):
         self.big_step.outputEventOM(Event("narrow_cast", None, [self, 'parent', Event("tk_widget", None, [self])]))
@@ -12398,6 +12501,13 @@ class ProgressBar(RuntimeClassBase, ttk.Progressbar, SCCDWidget):
         self.value.set(value)
         print("%s percent -- %s" % (self.value.get(), text))
     
+    def _root_ready_1_exec(self, parameters):
+        self.configure(mode="indeterminate")
+        print("Set indeterminate")
+    
+    def _root_indeterminate_1_exec(self, parameters):
+        self.value.set(self.value.get() + 3)
+    
     def initializeStatechart(self):
         # enter default state
         self.default_targets = self.states["/root"].getEffectiveTargetStates()
@@ -13817,6 +13927,7 @@ class ObjectManager(ObjectManagerBase):
             instance.associations["model_browse_entry"] = Association("Entry", 0, -1)
             instance.associations["model_browse_label"] = Association("Label", 0, -1)
             instance.associations["browsers"] = Association("Browser", 0, -1)
+            instance.associations["progressbar"] = Association("ProgressBar", 0, -1)
             instance.associations["parent"] = Association("A", 0, -1)
         elif class_name == "ProcessEnactor":
             instance = ProcessEnactor(self.controller)
@@ -13825,6 +13936,7 @@ class ObjectManager(ObjectManagerBase):
             instance.associations["model_browse_button"] = Association("Button", 0, -1)
             instance.associations["model_browse_entry"] = Association("Entry", 0, -1)
             instance.associations["model_browse_label"] = Association("Label", 0, -1)
+            instance.associations["progressbar"] = Association("Label", 0, -1)
             instance.associations["browsers"] = Association("Browser", 0, -1)
             instance.associations["parent"] = Association("A", 0, -1)
         elif class_name == "ActivityCreator":