WX GUI Chooser variable_chooser WX GUI Widgets from gnuradio.wxgui import forms self.$(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 if self.set_$(id)($value) self._$(id)_chooser.set_value($id) Label label string #if $label() then 'none' else 'part'# Default Value value 1 raw Choices choices [1, 2, 3] raw Labels labels [] raw Type type drop_down enum Style style wx.RA_HORIZONTAL enum #if $type() == 'radio_buttons' then 'part' else 'all'# Grid Position grid_pos grid_pos Notebook notebook notebook $value in $choices not $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.