diff options
-rw-r--r-- | grc/blocks/options.xml | 29 | ||||
-rw-r--r-- | grc/gui/PropsDialog.py | 11 | ||||
-rw-r--r-- | grc/python/flow_graph.tmpl | 5 |
3 files changed, 33 insertions, 12 deletions
diff --git a/grc/blocks/options.xml b/grc/blocks/options.xml index 1798a69f8..4d0dd2899 100644 --- a/grc/blocks/options.xml +++ b/grc/blocks/options.xml @@ -78,19 +78,36 @@ else: self.stop(); self.wait()</callback> <hide>#if $generate_options() == 'hb' then 'none' else 'all'#</hide> </param> <param> + <name>Run Options</name> + <key>run_options</key> + <value>prompt</value> + <type>enum</type> + <hide>#if $generate_options() == 'no_gui' then 'none' else 'all'#</hide> + <option> + <name>Run to Completion</name> + <key>run</key> + </option> + <option> + <name>Prompt for Exit</name> + <key>prompt</key> + </option> + </param> + <param> <name>Run</name> <key>run</key> <value>True</value> <type>bool</type> - <hide>#if $generate_options() == 'wx_gui' - #if str($run) == 'True' -part#slurp + <hide> +#if $generate_options() == 'wx_gui' + #if $run() + part #else -none#slurp + none #end if #else -all#slurp -#end if</hide> + all +#end if + </hide> <option> <name>Autostart</name> <key>True</key> diff --git a/grc/gui/PropsDialog.py b/grc/gui/PropsDialog.py index a7822b228..cc84fd088 100644 --- a/grc/gui/PropsDialog.py +++ b/grc/gui/PropsDialog.py @@ -93,15 +93,14 @@ class PropsDialog(gtk.Dialog): Ex: Added, removed, type change, hide change... To the props dialog, the hide setting of 'none' and 'part' are identical. Therfore, the props dialog only cares if the hide setting is/not 'all'. - Make a hash that uniquely represents the params state. + Make a hash that uniquely represents the params' state. @return true if changed """ old_hash = self._hash - self._hash = 0 - for param in self._block.get_params(): - self._hash ^= hash(param) - self._hash ^= hash(param.get_type()) - self._hash ^= hash(param.get_hide() == 'all') + #create a tuple of things from each param that affects the params box + self._hash = hash(tuple([( + hash(param), param.get_type(), param.get_hide() == 'all', + ) for param in self._block.get_params()])) return self._hash != old_hash def _handle_changed(self, *args): diff --git a/grc/python/flow_graph.tmpl b/grc/python/flow_graph.tmpl index dce4037d5..31d99a61c 100644 --- a/grc/python/flow_graph.tmpl +++ b/grc/python/flow_graph.tmpl @@ -233,9 +233,14 @@ if __name__ == '__main__': #if $generate_options == 'wx_gui' tb.Run($flow_graph.get_option('run')) #elif $generate_options == 'no_gui' + #set $run_options = $flow_graph.get_option('run_options') + #if $run_options == 'prompt' tb.start() raw_input('Press Enter to quit: ') tb.stop() + #elif $run_options == 'run' + tb.run() + #end if #end if #end if |