WX GUI Chooservariable_chooserWX GUI Widgetsfrom gnuradio.wxgui import formsself.$(id) = $(id) = $value#set $parent = $notebook() and 'self.%s.GetPage(%s)'%$notebook() or 'self'
#set $win = 'self._%s_chooser'%$id
$win = forms.$(type)(
parent=$(parent).GetWin(),
value=self.$id,
callback=self.set_$(id),
#if $label()
label=$label,
#else
label='$id',
#end if
choices=$choices,
labels=$labels,
#if $type() == 'radio_buttons'
style=$style,
#end if
)
#if not $grid_pos()
$(parent).Add($win)
#else
$(parent).GridAdd($win, $(', '.join(map(str, $grid_pos()))))
#end ifself.set_$(id)($value)self._$(id)_chooser.set_value($id)Labellabelstring#if $label() then 'none' else 'part'#Default Valuevalue1rawChoiceschoices[1, 2, 3]rawLabelslabels[]rawTypetypedrop_downenumStylestylewx.RA_HORIZONTALenum#if $type() == 'radio_buttons' then 'part' else 'all'#Grid Positiongrid_posgrid_posNotebooknotebooknotebook$value in $choicesnot $labels or len($labels) == len($choices)
This block creates a variable with a drop down, radio buttons, or a button. \
Leave the label blank to use the variable id as the label. \
The value index is the index of a particular choice, \
which defines the default choice when the flow graph starts. \
The choices must be a list of possible values. \
Leave labels empty to use the choices as the labels.
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.