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
|
<?xml version="1.0"?>
<!--
###################################################
##Variable Check Box:
## a gui check box form
###################################################
-->
<block>
<name>WX GUI Check Box</name>
<key>variable_check_box</key>
<category>WX GUI Widgets</category>
<import>from gnuradio.wxgui import forms</import>
<var_make>self.$(id) = $(id) = $value</var_make>
<make>#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self'
#set $win = 'self._%s_check_box'%$id
$win = forms.check_box(
parent=$(parent).GetWin(),
value=self.$id,
callback=self.set_$(id),
#if $label()
label=$label,
#else
label='$id',
#end if
true=$true,
false=$false,
)
#if not $grid_pos()
$(parent).Add($win)
#else
$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos()))))
#end if</make>
<callback>self.set_$(id)($value)</callback>
<callback>self._$(id)_check_box.set_value($id)</callback>
<param>
<name>Label</name>
<key>label</key>
<value></value>
<type>string</type>
<hide>#if $label() then 'none' else 'part'#</hide>
</param>
<param>
<name>Default Value</name>
<key>value</key>
<value>True</value>
<type>raw</type>
</param>
<param>
<name>True</name>
<key>true</key>
<value>True</value>
<type>raw</type>
</param>
<param>
<name>False</name>
<key>false</key>
<value>False</value>
<type>raw</type>
</param>
<param>
<name>Grid Position</name>
<key>grid_pos</key>
<value></value>
<type>grid_pos</type>
</param>
<param>
<name>Notebook</name>
<key>notebook</key>
<value></value>
<type>notebook</type>
</param>
<check>$value in ($true, $false)</check>
<doc>
This block creates a variable with a check box form. \
Leave the label blank to use the variable id as the label.
A check box form can switch between two states; \
the default being True and False. \
Override True and False to use alternative states.
Use the Grid Position (row, column, row span, column span) to position the graphical element in the window.
Use the Notebook Param (notebook-id, page-index) to place the graphical element inside of a notebook page.
</doc>
</block>
|