summaryrefslogtreecommitdiff
path: root/grc/blocks/parameter.xml
blob: e35b8f4d1d8bc7c7ac9bd14a06acf6cb6a1eb0ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?xml version="1.0"?>
<!--
###################################################
##Parameter block: a grc variable with key, value
###################################################
 -->
<block>
	<name>Parameter</name>
	<key>parameter</key>
	<var_make>self.$(id) = $(id)</var_make>
	<make>$value</make>
	<param>
		<name>Label</name>
		<key>label</key>
		<value></value>
		<type>string</type>
		<hide>#if $label() then 'none' else 'part'#</hide>
	</param>
	<param>
		<name>Value</name>
		<key>value</key>
		<value>0</value>
		<type>$type.type</type>
	</param>
	<param>
		<name>Type</name>
		<key>type</key>
		<value></value>
		<type>enum</type>
		<hide>#if $type() then 'none' else 'part'#</hide>
		<option>
			<name>None</name>
			<key></key>
			<opt>type:raw</opt>
		</option>
		<option>
			<name>Complex</name>
			<key>complex</key>
			<opt>type:complex</opt>
		</option>
		<option>
			<name>Float</name>
			<key>eng_float</key>
			<opt>type:real</opt>
		</option>
		<option>
			<name>Int</name>
			<key>intx</key>
			<opt>type:int</opt>
		</option>
		<option>
			<name>Long</name>
			<key>long</key>
			<opt>type:int</opt>
		</option>
		<option>
			<name>String</name>
			<key>string</key>
			<opt>type:string</opt>
		</option>
		<!-- not supported yet in tmpl
		<option>
			<name>Boolean</name>
			<key>bool</key>
			<opt>type:bool</opt>
		</option>
		-->
	</param>
	<param>
		<name>Short ID</name>
		<key>short_id</key>
		<value></value>
		<type>string</type>
		<hide>#if not $type()
all#slurp
#elif $short_id()
none#slurp
#else
part#slurp
#end if</hide>
	</param>
	<check>len($short_id) in (0, 1)</check>
	<check>$short_id == '' or $(short_id).isalpha()</check>
	<doc>
This block represents a parameter to the flow graph. \
A parameter can be used to pass command line arguments into a top block. \
Or, parameters can pass arguments into an instantiated hierarchical 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:

-[short_id] --[id] [value]

The Short ID field may be left blank.
	</doc>
</block>