diff options
Diffstat (limited to 'grc/data')
-rw-r--r-- | grc/data/platforms/python/blocks/parameter.xml | 48 | ||||
-rw-r--r-- | grc/data/platforms/python/flow_graph.tmpl | 11 |
2 files changed, 57 insertions, 2 deletions
diff --git a/grc/data/platforms/python/blocks/parameter.xml b/grc/data/platforms/python/blocks/parameter.xml index b9dcce424..de2085011 100644 --- a/grc/data/platforms/python/blocks/parameter.xml +++ b/grc/data/platforms/python/blocks/parameter.xml @@ -7,6 +7,7 @@ <block> <name>Parameter</name> <key>parameter</key> + <import>from optparse import OptionParser</import> <make>$value</make> <param> <name>Label</name> @@ -18,7 +19,50 @@ <name>Value</name> <key>value</key> <value>0</value> - <type>raw</type> + <type>$type.type</type> + </param> + <param> + <name>Type</name> + <key>type</key> + <value></value> + <type>enum</type> + <hide>$type.hide</hide> + <option> + <name>None</name> + <key></key> + <opt>type:raw</opt> + <opt>hide:part</opt> + </option> + <option> + <name>Complex</name> + <key>complex</key> + <opt>type:complex</opt> + <opt>hide:none</opt> + </option> + <option> + <name>Float</name> + <key>float</key> + <opt>type:real</opt> + <opt>hide:none</opt> + </option> + <option> + <name>Int</name> + <key>int</key> + <opt>type:int</opt> + <opt>hide:none</opt> + </option> + <option> + <name>Long</name> + <key>long</key> + <opt>type:int</opt> + <opt>hide:none</opt> + </option> + <option> + <name>String</name> + <key>string</key> + <opt>type:string</opt> + <opt>hide:none</opt> + </option> </param> <doc> This block represents a parameter to the flow graph, \ @@ -27,5 +71,7 @@ used when the flow graph is instantiated as a hier block. The paramater value cannot depend on any variables. Leave the label blank to use the parameter id as the label. + +When type is not None, this parameter also becomes a command line option of the form --[id] [value]. </doc> </block> diff --git a/grc/data/platforms/python/flow_graph.tmpl b/grc/data/platforms/python/flow_graph.tmpl index a5fbc64b4..a9256574c 100644 --- a/grc/data/platforms/python/flow_graph.tmpl +++ b/grc/data/platforms/python/flow_graph.tmpl @@ -179,7 +179,16 @@ class $(class_name)(gr.hier_block2): ######################################################## #if $generate_options != 'hb' if __name__ == '__main__': - tb = $(class_name)() + parser = OptionParser() + #set $args = list() + #for $param in $parameters + #if $param.get_param('type').get_value() + parser.add_option("--$param.get_id()", dest="$param.get_id()", type="$param.get_param('type').get_value()", default=$param.get_make()) + #silent $args.append('%s=options.%s'%($param.get_id(), $param.get_id())) + #end if + #end for + (options, args) = parser.parse_args() + tb = $(class_name)($(', '.join($args))) #if $generate_options == 'wx_gui' tb.Run() #elif $generate_options == 'no_gui' |