def InitUI(self):
#draw the pannel
wx.StaticText(self, label='Select elements to download to local storage', pos=(30, 5))
self.cb_conf = wx.CheckBox(self, label='Config',pos = (80,30))
self.cb_logs = wx.CheckBox(self, label='Logs',pos = (80,55))
self.cb_cron = wx.CheckBox(self, label='Crontab',pos = (80,80))
self.cb_pics = wx.CheckBox(self, label='Photos',pos = (80,105))
self.cb_graph = wx.CheckBox(self, label='Graphs',pos = (80,130))
#right side
self.cb_all = wx.CheckBox(self, label='Back up\nWhole Pigrow Folder',pos = (270,75))
#progress bar
wx.StaticText(self, label='saving to; '+ localfiles_info_pnl.local_path, pos=(15, 155))
self.current_file_txt = wx.StaticText(self, label='--', pos=(30, 190))
self.current_dest_txt = wx.StaticText(self, label='--', pos=(30, 215))
#buttons
self.start_download_btn = wx.Button(self, label='Download files', pos=(40, 240), size=(175, 50))
self.start_download_btn.Bind(wx.EVT_BUTTON, self.start_download_click)
self.close_btn = wx.Button(self, label='Close', pos=(415, 240), size=(175, 50))
self.close_btn.Bind(wx.EVT_BUTTON, self.OnClose)
## universal controls
pnl = wx.Panel(self)
python类CheckBox()的实例源码
GUI_wxPython.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 18
收藏 0
点赞 0
评论 0
def addCheckBoxes(self):
# Regular Box Sizer
boxSizerH = wx.BoxSizer(wx.HORIZONTAL)
chk1 = wx.CheckBox(self.panel, label='Disabled')
chk1.SetValue(True)
chk1.Disable()
boxSizerH.Add(chk1)
chk2 = wx.CheckBox(self.panel, label='UnChecked')
boxSizerH.Add(chk2, flag=wx.LEFT, border=10)
chk3 = wx.CheckBox(self.panel, label='Toggle')
boxSizerH.Add(chk3, flag=wx.LEFT, border=10)
chk3.SetValue(True)
# Add Regular Box Sizer to StaticBox sizer
self.statBoxSizerV.Add(boxSizerH, flag=wx.LEFT, border=10)
self.statBoxSizerV.Add((0, 8))
#----------------------------------------------------------
def __init__(self, parent=None, default_directory="", monitor_directory=False):
wx.Panel.__init__(self, parent)
self._sizer = wx.BoxSizer(wx.HORIZONTAL)
directory_label = wx.StaticText(self, label="Default directory")
directory_label.SetToolTipString("Default directory to scan for uploads")
self._sizer.Add(directory_label, flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, border=5, proportion=0)
directory = wx.DirPickerCtrl(self, path=default_directory)
self.Bind(wx.EVT_DIRPICKER_CHANGED, lambda evt: send_message(SettingsDialog.field_changed_topic, field_name="default_dir", field_value=directory.GetPath()))
self._sizer.Add(directory, flag=wx.EXPAND, proportion=1)
monitor_checkbox = wx.CheckBox(self, label="Monitor directory for new runs?")
monitor_checkbox.SetValue(monitor_directory)
monitor_checkbox.SetToolTipString("Monitor the default directory for when the Illumina Software indicates that the analysis is complete and ready to upload (when CompletedJobInfo.xml is written to the directory).")
monitor_checkbox.Bind(wx.EVT_CHECKBOX, lambda evt: send_message(SettingsDialog.field_changed_topic, field_name="monitor_default_dir", field_value=str(monitor_checkbox.GetValue())))
self._sizer.Add(monitor_checkbox, flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT, border=5, proportion=0)
self.SetSizerAndFit(self._sizer)
self.Layout()
def __init__(self, parent, message, caption, choices=[]):
wx.Dialog.__init__(self, parent, -1)
self.SetTitle(caption)
sizer = wx.BoxSizer(wx.VERTICAL)
self.message = wx.StaticText(self, -1, message)
self.clb = wx.CheckListBox(self, -1, choices=choices)
self.chbox = wx.CheckBox(self, -1, 'Select all')
self.btns = self.CreateSeparatedButtonSizer(wx.OK | wx.CANCEL)
self.Bind(wx.EVT_CHECKBOX, self.EvtChBox, self.chbox)
sizer.Add(self.message, 0, wx.ALL | wx.EXPAND, 5)
sizer.Add(self.clb, 1, wx.ALL | wx.EXPAND, 5)
sizer.Add(self.chbox, 0, wx.ALL | wx.EXPAND, 5)
sizer.Add(self.btns, 0, wx.ALL | wx.EXPAND, 5)
self.SetSizer(sizer)
# self.Fit()
def initOptions(self):
optionsSizer = wx.BoxSizer(wx.HORIZONTAL)
self.filtTypeComboBox = wx.ComboBox(self, choices=self.flt.filtMap.keys(),
value=self.flt.filtType, style=wx.CB_DROPDOWN)
self.Bind(wx.EVT_COMBOBOX, self.setFiltType, self.filtTypeComboBox)
optionsSizer.Add(self.filtTypeComboBox, proportion=1,
flag=wx.LEFT | wx.TOP | wx.RIGHT | wx.ALIGN_CENTER, border=20)
self.zeroPhaseCheckBox = wx.CheckBox(self, label='Zero Phase')
self.zeroPhaseCheckBox.SetValue(self.flt.zeroPhase)
self.Bind(wx.EVT_CHECKBOX, self.setZeroPhase, self.zeroPhaseCheckBox)
optionsSizer.Add(self.zeroPhaseCheckBox, proportion=1,
flag=wx.LEFT | wx.TOP | wx.ALIGN_CENTER, border=20)
self.sizer.Add(optionsSizer, proportion=0)#, flag=wx.EXPAND)
def __init__(self, *args, **kwds):
# begin wxGlade: Dialog_snapshot.__init__
kwds["style"] = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
wx.Dialog.__init__(self, *args, **kwds)
self.label_1 = wx.StaticText(self, wx.ID_ANY, "Nombre:")
self.nombre_snap = wx.TextCtrl(self, wx.ID_ANY, "")
self.label_2 = wx.StaticText(self, wx.ID_ANY, u"Descripci\u00f3n:")
self.descripcion_snap = wx.TextCtrl(self, wx.ID_ANY, "")
self.checkbox_memory = wx.CheckBox(self, wx.ID_ANY, "memory")
self.checkbox_quiesce = wx.CheckBox(self, wx.ID_ANY, "quiesce")
self.snap_ok = wx.Button(self, wx.ID_OK, "OK")
self.snap_cancel = wx.Button(self, wx.ID_CANCEL, "Cancel")
self.__set_properties()
self.__do_layout()
# end wxGlade
def makeSettings(self, settingsSizer):
# Translators: This is the static text of the Quick Profile Wizard dialog.
msgIntro=_("Choose which options you want to reset to the default value for the Lambdas profile")
self.introStxt=wx.StaticText(self,-1,label=msgIntro)
settingsSizer.Add(self.introStxt,flag=wx.BOTTOM)
# Translators: This is the label for a checkbox in the
# Quick Profile Wizard dialog.
self.defaultTranslationTableCheckBox=wx.CheckBox(self,wx.NewId(),label=_("Keep the LAMBDA braille table for the current language (%s)") % TABLE_NAME)
self.defaultTranslationTableCheckBox.SetValue(True)
settingsSizer.Add(self.defaultTranslationTableCheckBox,border=10,flag=wx.BOTTOM)
# Translators: This is the label for a checkbox in the
# Quick Profile Wizard dialog.
self.brailleTetherToFocusCheckBox=wx.CheckBox(self,wx.NewId(),label=_("Set the braille cursor to tether the focus"))
self.brailleTetherToFocusCheckBox.SetValue(True)
settingsSizer.Add(self.brailleTetherToFocusCheckBox,border=10,flag=wx.BOTTOM)
# Translators: This is the label for a checkbox in the
# Quick Profile Wizard dialog.
self.disableReadByParagraphCheckBox=wx.CheckBox(self,wx.NewId(),label=_("Disable the Braille reading by paragraph"))
self.disableReadByParagraphCheckBox.SetValue(True)
settingsSizer.Add(self.disableReadByParagraphCheckBox,border=10,flag=wx.BOTTOM)
# Translators: This is the label for a checkbox in the
# Quick Profile Wizard dialog.
self.disableBrailleWordWrapCheckBox=wx.CheckBox(self,wx.NewId(),label=_("Disable word wrappping of the braille line"))
self.disableBrailleWordWrapCheckBox.SetValue(True)
settingsSizer.Add(self.disableBrailleWordWrapCheckBox,border=10,flag=wx.BOTTOM)
def InitUI(self):
#draw the pannel
wx.StaticText(self, label='Select elements to upload from local storage to pi\n\n ** Warning this will overwrite current pigrow files \n which may result in loss of data **', pos=(30, 5))
self.cb_conf = wx.CheckBox(self, label='Config',pos = (80,90))
self.cb_logs = wx.CheckBox(self, label='Logs',pos = (80,115))
self.cb_cron = wx.CheckBox(self, label='Crontab',pos = (80,140))
self.cb_pics = wx.CheckBox(self, label='Photos',pos = (80,165))
self.cb_graph = wx.CheckBox(self, label='Graphs',pos = (80,190))
#right side
self.cb_all = wx.CheckBox(self, label='Restore Back up\nof whole Pigrow Folder',pos = (270,130))
#progress bar
wx.StaticText(self, label='uploading from; '+ localfiles_info_pnl.local_path, pos=(15, 215))
self.current_file_txt = wx.StaticText(self, label='--', pos=(30, 245))
self.current_dest_txt = wx.StaticText(self, label='--', pos=(30, 270))
#buttons
self.start_upload_btn = wx.Button(self, label='Upload files', pos=(40, 300), size=(175, 50))
self.start_upload_btn.Bind(wx.EVT_BUTTON, self.start_upload_click)
self.close_btn = wx.Button(self, label='Close', pos=(415, 300), size=(175, 50))
self.close_btn.Bind(wx.EVT_BUTTON, self.OnClose)
## universal controls
pnl = wx.Panel(self)
def __init__(self, parent):
self.start_iter = None
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="HIO Algorithm")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.exp_amps = TextPanelObject(self, "Exp Amp: ", "",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.exp_amps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox_sqrt_expamps = wx.CheckBox(self, -1, 'Square Root Exp Amp', (50, 10))
self.chkbox_sqrt_expamps.SetValue(True)
vbox.Add(self.chkbox_sqrt_expamps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=5)
self.support = TextPanelObject(self,"Support: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
self.support.label.SetToolTipNew("Support. If empty, previous instance will be used.")
vbox.Add(self.support, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.beta = SpinnerObject(self,"Beta: ",1.0,0.0,0.01,0.9,100,100)
vbox.Add(self.beta, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.niter = SpinnerObject(self,"Iterations: ",MAX_INT,1,1,1,100,100)
vbox.Add(self.niter, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
self.start_iter = None
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="ER Algorithm")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.exp_amps = TextPanelObject(self, "Exp Amp: ", "",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.exp_amps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox_sqrt_expamps = wx.CheckBox(self, -1, 'Square Root Exp Amp', (50, 10))
self.chkbox_sqrt_expamps.SetValue(True)
vbox.Add(self.chkbox_sqrt_expamps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=5)
self.support = TextPanelObject(self,"Support: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
self.support.label.SetToolTipNew("Support. If empty, previous instance will be used.")
vbox.Add(self.support, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
#self.mask = TextPanelObject(self,"Mask: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
#vbox.Add(self.mask, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.niter = SpinnerObject(self,"Iterations: ",MAX_INT,1,1,1,100,100)
vbox.Add(self.niter, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
self.start_iter = None
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="Phase-Only Algorithm")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.exp_amps = TextPanelObject(self, "Exp Amp: ", "",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.exp_amps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox_sqrt_expamps = wx.CheckBox(self, -1, 'Square Root Exp Amp', (50, 10))
self.chkbox_sqrt_expamps.SetValue(True)
vbox.Add(self.chkbox_sqrt_expamps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=5)
self.support = TextPanelObject(self,"Support: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
self.support.label.SetToolTipNew("Support. If empty, previous instance will be used.")
vbox.Add(self.support, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.mask = TextPanelObject(self,"Mask: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.mask, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.niter = SpinnerObject(self,"Iterations: ",MAX_INT,1,1,1,100,100)
vbox.Add(self.niter, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
self.start_iter = None
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="HIO Algorithm with positivity constraint")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.exp_amps = TextPanelObject(self, "Exp Amp: ", "",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.exp_amps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox_sqrt_expamps = wx.CheckBox(self, -1, 'Square Root Exp Amp', (50, 10))
self.chkbox_sqrt_expamps.SetValue(True)
vbox.Add(self.chkbox_sqrt_expamps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=5)
self.support = TextPanelObject(self,"Support: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
self.support.label.SetToolTipNew("Support. If empty, previous instance will be used.")
vbox.Add(self.support, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.mask = TextPanelObject(self,"Mask: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.mask, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.beta = SpinnerObject(self,"Beta: ",1.0,0.0,0.01,0.9,100,100)
vbox.Add(self.beta, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.niter = SpinnerObject(self,"Iterations: ",MAX_INT,1,1,1,100,100)
vbox.Add(self.niter, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, *args, **kwds):
self.settings = kwds['settings']
del kwds['settings']
# begin wxGlade: TerminalSettingsDialog.__init__
kwds["style"] = wx.DEFAULT_DIALOG_STYLE
wx.Dialog.__init__(self, *args, **kwds)
self.checkbox_echo = wx.CheckBox(self, -1, "Local Echo")
self.checkbox_unprintable = wx.CheckBox(self, -1, "Show unprintable characters")
self.radio_box_newline = wx.RadioBox(self, -1, "Newline Handling", choices=["CR only", "LF only", "CR+LF"], majorDimension=0, style=wx.RA_SPECIFY_ROWS)
self.sizer_4_staticbox = wx.StaticBox(self, -1, "Input/Output")
self.button_ok = wx.Button(self, wx.ID_OK, "")
self.button_cancel = wx.Button(self, wx.ID_CANCEL, "")
self.__set_properties()
self.__do_layout()
# end wxGlade
self.__attach_events()
self.checkbox_echo.SetValue(self.settings.echo)
self.checkbox_unprintable.SetValue(self.settings.unprintable)
self.radio_box_newline.SetSelection(self.settings.newline)
def __init__(self, *args, **kwds):
self.settings = kwds['settings']
del kwds['settings']
# begin wxGlade: TerminalSettingsDialog.__init__
kwds["style"] = wx.DEFAULT_DIALOG_STYLE
wx.Dialog.__init__(self, *args, **kwds)
self.checkbox_echo = wx.CheckBox(self, -1, "Local Echo")
self.checkbox_unprintable = wx.CheckBox(self, -1, "Show unprintable characters")
self.radio_box_newline = wx.RadioBox(self, -1, "Newline Handling", choices=["CR only", "LF only", "CR+LF"], majorDimension=0, style=wx.RA_SPECIFY_ROWS)
self.button_ok = wx.Button(self, -1, "OK")
self.button_cancel = wx.Button(self, -1, "Cancel")
self.__set_properties()
self.__do_layout()
# end wxGlade
self.__attach_events()
self.checkbox_echo.SetValue(self.settings.echo)
self.checkbox_unprintable.SetValue(self.settings.unprintable)
self.radio_box_newline.SetSelection(self.settings.newline)
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY,
'My First Plot (to take over the world!)')
# Add a panel so it looks the correct on all platforms
panel = wx.Panel(self, wx.ID_ANY)
# create some sizers
mainSizer = wx.BoxSizer(wx.VERTICAL)
checkSizer = wx.BoxSizer(wx.HORIZONTAL)
# create the widgets
self.canvas = PlotCanvas(panel)
self.canvas.Draw(drawBarGraph())
toggleGrid = wx.CheckBox(panel, label="Show Grid")
toggleGrid.Bind(wx.EVT_CHECKBOX, self.onToggleGrid)
toggleLegend = wx.CheckBox(panel, label="Show Legend")
toggleLegend.Bind(wx.EVT_CHECKBOX, self.onToggleLegend)
# layout the widgets
mainSizer.Add(self.canvas, 1, wx.EXPAND)
checkSizer.Add(toggleGrid, 0, wx.ALL, 5)
checkSizer.Add(toggleLegend, 0, wx.ALL, 5)
mainSizer.Add(checkSizer)
panel.SetSizer(mainSizer)
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY,
'It Looks Like a Line Graph!')
# Add a panel so it looks the correct on all platforms
panel = wx.Panel(self, wx.ID_ANY)
# create some sizers
mainSizer = wx.BoxSizer(wx.VERTICAL)
checkSizer = wx.BoxSizer(wx.HORIZONTAL)
# create the widgets
self.canvas = PlotCanvas(panel)
self.canvas.Draw(drawLinePlot())
toggleGrid = wx.CheckBox(panel, label="Show Grid")
toggleGrid.Bind(wx.EVT_CHECKBOX, self.onToggleGrid)
toggleLegend = wx.CheckBox(panel, label="Show Legend")
toggleLegend.Bind(wx.EVT_CHECKBOX, self.onToggleLegend)
# layout the widgets
mainSizer.Add(self.canvas, 1, wx.EXPAND)
checkSizer.Add(toggleGrid, 0, wx.ALL, 5)
checkSizer.Add(toggleLegend, 0, wx.ALL, 5)
mainSizer.Add(checkSizer)
panel.SetSizer(mainSizer)
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY,
'Sin / Cos Plot')
# Add a panel so it looks the correct on all platforms
panel = wx.Panel(self, wx.ID_ANY)
# create some sizers
mainSizer = wx.BoxSizer(wx.VERTICAL)
checkSizer = wx.BoxSizer(wx.HORIZONTAL)
# create the widgets
self.canvas = PlotCanvas(panel)
self.canvas.Draw(drawSinCosWaves())
toggleGrid = wx.CheckBox(panel, label="Show Grid")
toggleGrid.Bind(wx.EVT_CHECKBOX, self.onToggleGrid)
toggleLegend = wx.CheckBox(panel, label="Show Legend")
toggleLegend.Bind(wx.EVT_CHECKBOX, self.onToggleLegend)
# layout the widgets
mainSizer.Add(self.canvas, 1, wx.EXPAND)
checkSizer.Add(toggleGrid, 0, wx.ALL, 5)
checkSizer.Add(toggleLegend, 0, wx.ALL, 5)
mainSizer.Add(checkSizer)
panel.SetSizer(mainSizer)
def __init__(self, parent, name):
wxskinDialog.__init__(self, parent, -1, "Phonebook import")
self.SetAutoLayout(True)
self.function = 0
# Main window resizer object
border = wx.BoxSizer(wx.VERTICAL)
label = wx.StaticText(self, -1, "Name '%s' already exists in SIM phonebook.\n\nDo you want to overwrite exisiting, duplicate or skip!?" % (name))
border.Add(label, 1, wx.ALL, 10)
buttons = wx.BoxSizer(wx.HORIZONTAL)
buttons.Add(wx.Button(self, ID_BUTTON_OVERWRITE, "Overwrite"), 1, wx.ALIGN_LEFT | wx.ALL, 20)
buttons.Add(wx.Button(self, ID_BUTTON_COPY, "Duplicate"), 1, wx.ALIGN_RIGHT | wx.ALL, 20)
buttons.Add(wx.Button(self, ID_BUTTON_SKIP, "Skip"), 1, wx.ALIGN_RIGHT | wx.ALL, 20)
buttons.Add(wx.Button(self, wx.ID_CANCEL, "Cancel"), 1, wx.ALIGN_RIGHT | wx.ALL, 20)
border.Add(buttons, 1, wx.ALL)
self.applyAll = wx.CheckBox(self, ID_CHECKBOX_APPLY_ALL, " Apply to all", wx.Point(65, 40), wx.Size(150, 20), wx.NO_BORDER)
border.Add(self.applyAll, 1, wx.ALIGN_CENTER | wx.ALL)
wx.EVT_BUTTON(self, ID_BUTTON_OVERWRITE, self.onOverwrite)
wx.EVT_BUTTON(self, ID_BUTTON_COPY, self.onDuplicate)
wx.EVT_BUTTON(self, ID_BUTTON_SKIP, self.onSkip)
self.SetAutoLayout(1);
self.SetSizer(border)
border.Fit(self)
self.Layout()
def __init__(self, parent, name):
wxskinDialog.__init__(self, parent, -1, "Phonebook import")
self.SetAutoLayout(True)
self.function = 0
# Main window resizer object
border = wx.BoxSizer(wx.VERTICAL)
label = wx.StaticText(self, -1, "Name '%s' already exists in SIM phonebook.\n\nDo you want to overwrite exisiting, duplicate or skip!?" % (name))
border.Add(label, 1, wx.ALL, 10)
buttons = wx.BoxSizer(wx.HORIZONTAL)
buttons.Add(wx.Button(self, ID_BUTTON_OVERWRITE, "Overwrite"), 1, wx.ALIGN_LEFT | wx.ALL, 20)
buttons.Add(wx.Button(self, ID_BUTTON_COPY, "Duplicate"), 1, wx.ALIGN_RIGHT | wx.ALL, 20)
buttons.Add(wx.Button(self, ID_BUTTON_SKIP, "Skip"), 1, wx.ALIGN_RIGHT | wx.ALL, 20)
buttons.Add(wx.Button(self, wx.ID_CANCEL, "Cancel"), 1, wx.ALIGN_RIGHT | wx.ALL, 20)
border.Add(buttons, 1, wx.ALL)
self.applyAll = wx.CheckBox(self, ID_CHECKBOX_APPLY_ALL, " Apply to all", wx.Point(65, 40), wx.Size(150, 20), wx.NO_BORDER)
border.Add(self.applyAll, 1, wx.ALIGN_CENTER | wx.ALL)
wx.EVT_BUTTON(self, ID_BUTTON_OVERWRITE, self.onOverwrite)
wx.EVT_BUTTON(self, ID_BUTTON_COPY, self.onDuplicate)
wx.EVT_BUTTON(self, ID_BUTTON_SKIP, self.onSkip)
self.SetAutoLayout(1);
self.SetSizer(border)
border.Fit(self)
self.Layout()
def __init__(self, parent, date, number):
wxskinDialog.__init__(self, parent, -1, "SMS import")
self.SetAutoLayout(False)
self.function = 0
# Main window resizer object
border = wx.BoxSizer(wx.VERTICAL)
label = wx.StaticText(self, -1, "SMS from '%s' on '%s' already exists in SMS folder.\n\nDo you want to overwrite exisiting, duplicate or skip!?" % (number, date))
border.Add(label, 1, wx.ALL, 10)
buttons = wx.BoxSizer(wx.HORIZONTAL)
buttons.Add(wx.Button(self, ID_BUTTON_OVERWRITE, "Overwrite"), 1, wx.ALIGN_LEFT | wx.ALL, 20)
buttons.Add(wx.Button(self, ID_BUTTON_COPY, "Duplicate"), 1, wx.ALIGN_RIGHT | wx.ALL, 20)
buttons.Add(wx.Button(self, ID_BUTTON_SKIP, "Skip"), 1, wx.ALIGN_RIGHT | wx.ALL, 20)
buttons.Add(wx.Button(self, wx.ID_CANCEL, "Cancel"), 1, wx.ALIGN_RIGHT | wx.ALL, 20)
border.Add(buttons, 1, wx.ALL)
self.applyAll = wx.CheckBox(self, ID_CHECKBOX_APPLY_ALL, " Apply to all", wx.Point(65, 40), wx.Size(150, 20), wx.NO_BORDER)
border.Add(self.applyAll, 1, wx.ALIGN_CENTER | wx.ALL)
wx.EVT_BUTTON(self, ID_BUTTON_OVERWRITE, self.onOverwrite)
wx.EVT_BUTTON(self, ID_BUTTON_COPY, self.onDuplicate)
wx.EVT_BUTTON(self, ID_BUTTON_SKIP, self.onSkip)
#EVT_CHECKBOX(self, ID_CHECKBOX_APPLY_ALL, self.EvtCheckBox)
self.SetAutoLayout(1);
self.SetSizer(border)
border.Fit(self)
self.Layout()
def initSigControls(self):
"""Initialize signal controls.
"""
sigSizer = wx.BoxSizer(orient=wx.VERTICAL)
distControlBox = widgets.ControlBox(self, label='Distribution', orient=wx.VERTICAL)
self.distComboBox = wx.ComboBox(self, choices=list(distributions.keys()),
value='uniform', style=wx.CB_SORT | wx.CB_READONLY)
self.distComboBox.Bind(wx.EVT_COMBOBOX, self.setDist, self.distComboBox)
distControlBox.Add(self.distComboBox, proportion=0, flag=wx.ALL, border=10)
self.walkCheckBox = wx.CheckBox(self, label='Walk')
self.walkCheckBox.Bind(wx.EVT_CHECKBOX, self.setWalk, self.walkCheckBox)
distControlBox.Add(self.walkCheckBox, proportion=0,
flag=wx.LEFT | wx.BOTTOM | wx.RIGHT, border=10)
sigSizer.Add(distControlBox, proportion=0, flag=wx.ALL, border=10)
scaleControlBox = widgets.ControlBox(self, label='Scale', orient=wx.HORIZONTAL)
self.scaleText = wx.StaticText(self, label='%4.1f' % 1.0)
scaleTextSizer = wx.BoxSizer(orient=wx.VERTICAL)
scaleTextSizer.Add(self.scaleText, proportion=1, flag=wx.EXPAND)
self.scaleSlider = wx.Slider(self, style=wx.SL_HORIZONTAL, value=10, minValue=1, maxValue=300)
self.Bind(wx.EVT_SLIDER, self.setScale, self.scaleSlider)
scaleControlBox.Add(scaleTextSizer, proportion=0, flag=wx.ALL, border=10)
scaleControlBox.Add(self.scaleSlider, proportion=1, flag=wx.ALL | wx.EXPAND, border=10)
sigSizer.Add(scaleControlBox, proportion=0,
flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border=10)
self.sizer.Add(sigSizer)
def __init__(self, parent):
self.start_iter = None
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="ER Mask Algorithm")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.exp_amps = TextPanelObject(self, "Exp Amp: ", "",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.exp_amps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox_sqrt_expamps = wx.CheckBox(self, -1, 'Square Root Exp Amp', (50, 10))
self.chkbox_sqrt_expamps.SetValue(True)
vbox.Add(self.chkbox_sqrt_expamps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=5)
self.support = TextPanelObject(self,"Support: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
self.support.label.SetToolTipNew("Support. If empty, previous instance will be used.")
vbox.Add(self.support, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.mask = TextPanelObject(self,"Mask: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.mask, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.niter = SpinnerObject(self,"Iterations: ",MAX_INT,1,1,1,100,100)
vbox.Add(self.niter, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
vbox.Add((-1, 5))
self.chkbox = CheckBoxNew(self, -1, 'Relax Modulus Constraint', size=(200, 20))
self.chkbox.SetToolTipNew("Do not apply modulus constraint if the change in amplitude"+os.linesep+" is within the Poisson noise.")
self.chkbox.Bind(wx.EVT_CHECKBOX, self.OnCheck)
vbox.Add(self.chkbox, 0,flag=wx.EXPAND|wx.LEFT|wx.RIGHT, border=2)
self.niter_relax = SpinnerObject(self,"Relax iters: ",MAX_INT,0,1,0,100,100)
self.niter_relax.label.SetToolTipNew("Reduce the relaxtion to zero linearly over this many iterations.")
self.niter_relax.Disable()
vbox.Add(self.niter_relax, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox.Hide()
self.niter_relax.Hide()
vbox.Add((-1, 5))
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
self.start_iter = None
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="RAAR Algorithm")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.exp_amps = TextPanelObject(self, "Exp Amp: ", "",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.exp_amps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox_sqrt_expamps = wx.CheckBox(self, -1, 'Square Root Exp Amp', (50, 10))
self.chkbox_sqrt_expamps.SetValue(True)
vbox.Add(self.chkbox_sqrt_expamps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=5)
self.support = TextPanelObject(self,"Support: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
self.support.label.SetToolTipNew("Support. If empty, previous instance will be used.")
vbox.Add(self.support, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.mask = TextPanelObject(self,"Mask: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.mask, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.beta = SpinnerObject(self,"Beta: ",1.0,0.0,0.01,0.9,100,100)
vbox.Add(self.beta, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.niter = SpinnerObject(self,"Iterations: ",MAX_INT,1,1,1,100,100)
vbox.Add(self.niter, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
vbox.Add((-1, 5))
self.chkbox = CheckBoxNew(self, -1, 'Relax Modulus Constraint', size=(200, 20))
self.chkbox.SetToolTipNew("Do not apply modulus constraint if the change in amplitude"+os.linesep+" is within the Poisson noise.")
self.chkbox.Bind(wx.EVT_CHECKBOX, self.OnCheck)
vbox.Add(self.chkbox, 0,flag=wx.EXPAND|wx.LEFT|wx.RIGHT, border=2)
self.niter_relax = SpinnerObject(self,"Relax iters: ",MAX_INT,0,1,0,100,100)
self.niter_relax.label.SetToolTipNew("Reduce the relaxtion to zero linearly over this many iterations.")
self.niter_relax.Disable()
vbox.Add(self.niter_relax, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox.Hide()
self.niter_relax.Hide()
vbox.Add((-1, 5))
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
self.start_iter = None
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="HIO Algorithm")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.exp_amps = TextPanelObject(self, "Exp Amp: ", "",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.exp_amps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox_sqrt_expamps = wx.CheckBox(self, -1, 'Square Root Exp Amp', (50, 10))
self.chkbox_sqrt_expamps.SetValue(True)
vbox.Add(self.chkbox_sqrt_expamps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=5)
self.support = TextPanelObject(self,"Support: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
self.support.label.SetToolTipNew("Support. If empty, previous instance will be used.")
vbox.Add(self.support, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.mask = TextPanelObject(self,"Mask: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.mask, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.beta = SpinnerObject(self,"Beta: ",1.0,0.0,0.01,0.9,100,100)
vbox.Add(self.beta, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.niter = SpinnerObject(self,"Iterations: ",MAX_INT,1,1,1,100,100)
vbox.Add(self.niter, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
vbox.Add((-1, 5))
self.chkbox = CheckBoxNew(self, -1, 'Relax Modulus Constraint', size=(200, 20))
self.chkbox.SetToolTipNew("Do not apply modulus constraint if the change in amplitude"+os.linesep+" is within the Poisson noise.")
self.chkbox.Bind(wx.EVT_CHECKBOX, self.OnCheck)
vbox.Add(self.chkbox, 0,flag=wx.EXPAND|wx.LEFT|wx.RIGHT, border=2)
self.niter_relax = SpinnerObject(self,"Relax iters: ",MAX_INT,0,1,0,100,100)
self.niter_relax.label.SetToolTipNew("Reduce the relaxtion to zero linearly over this many iterations.")
self.niter_relax.Disable()
vbox.Add(self.niter_relax, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox.Hide()
self.niter_relax.Hide()
vbox.Add((-1, 5))
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
from math import pi
self.start_iter = None
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="Phase Constrained HIO Algorithm")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.exp_amps = TextPanelObject(self, "Exp Amp: ", "",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.exp_amps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.chkbox_sqrt_expamps = wx.CheckBox(self, -1, 'Square Root Exp Amp', (50, 10))
self.chkbox_sqrt_expamps.SetValue(True)
vbox.Add(self.chkbox_sqrt_expamps, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=5)
self.support = TextPanelObject(self,"Support: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
self.support.label.SetToolTipNew("Support. If empty, previous instance will be used.")
vbox.Add(self.support, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.mask = TextPanelObject(self,"Mask: ","",100,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.mask, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.beta = SpinnerObject(self,"Beta: ",1.0,0.0,0.01,0.9,100,100)
vbox.Add(self.beta, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.niter = SpinnerObject(self,"Iterations: ",MAX_INT,1,1,1,100,100)
vbox.Add(self.niter, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.phasemax = SpinnerObject(self,"Phase Max: ",pi,0.0,0.01,pi,100,150)
vbox.Add(self.phasemax, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.phasemin = SpinnerObject(self,"Phase Min: ",0.0,-pi,0.01,-pi,100,150)
vbox.Add(self.phasemin, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
self.panel = wx.ScrolledWindow.__init__(self, parent)
self.SetScrollRate(5, 5)
self.panelphase = self.GetParent().panelphase
self.panelvisual = self.GetParent().panelvisual
self.cmvbox = wx.BoxSizer(wx.VERTICAL)
self.cmhbox = []
self.imglist = []
self.sellist = []
self.rb = []
self.chkb = []
array = self.panelphase.cms[0][1]
dc = wx.ScreenDC()
dc.SetFont(self.panelvisual.font)
w,h = dc.GetTextExtent("TestString")
height = h
if IsNotWX4():
image = wx.EmptyImage(array.shape[0],height)
else:
image = wx.Image(array.shape[0],height)
newarray = numpy.zeros((height, array.shape[0], 3), dtype=numpy.uint8)
for i in range(self.panelphase.cms.shape[0]):
self.cmhbox.append( wx.BoxSizer(wx.HORIZONTAL) )
name = self.panelphase.cms[i][0]
array = self.panelphase.cms[i][1]
for j in range(height):
newarray[j,:,:] = numpy.uint8(255.0*array)
image.SetData( newarray.tostring())
bmp = image.ConvertToBitmap()
self.imglist.append(wx.StaticBitmap(self, -1, bmp))
self.rb.append( wx.RadioButton(self, -1, label=name, size=(160, height) ) )
self.cmhbox[-1].Add(self.rb[-1], 0)
self.cmhbox[-1].Add((5, -1))
self.cmhbox[-1].Add(self.imglist[-1], 1, wx.EXPAND)
self.chkb.append( wx.CheckBox(self, -1, 'Reverse', size=(160, height)) )
self.cmhbox[-1].Add(self.chkb[-1], 0, wx.EXPAND)
self.cmvbox.Add(self.cmhbox[-1], 1, wx.EXPAND)
self.SetSizer(self.cmvbox)
self.Fit()
self.Layout()
self.Show()
def __init__(self, title, pos, size):
self.threads = []
self.getsession = []
self.MAC=''
self.IP=''
wx.Frame.__init__(self, None, -1, title, pos, size)
menuFile = wx.Menu()
menuFile.Append(1, u"&??...",u"?????")
menuFile.Append(3,u"&????",u"?????IP")
menuFile.AppendSeparator()
menuFile.Append(2,u"&Bug Report",u"???????bug?")
menuBar = wx.MenuBar()
menuBar.Append(menuFile, u"&??")
self.SetMenuBar(menuBar)
self.Bind(wx.EVT_MENU, self.OnAbout,id=1)
self.Bind(wx.EVT_MENU,self.OnBugReport,id=2)
hosts = self.Bind(wx.EVT_MENU,self.OnSet,id=3)
self.CreateStatusBar()
self.SetStatusText(u"????")
panel = wx.Panel(self)
self.connect = wx.Button(panel,label=u"??",pos=(240, 60),size=(80, 50))
self.disconnect = wx.Button(panel,label=u"??",pos=(330,60),size=(80,50))
self.connect.Disable()
self.disconnect.Disable()
self.Bind(wx.EVT_BUTTON, self.OnDisconnect,self.disconnect)
self.Bind(wx.EVT_BUTTON,self.OnConnect,self.connect)
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
wx.StaticText(panel, -1, u"???:", pos=(28, 40))
self.username = wx.TextCtrl(panel, -1 ,pos=(80, 40))
self.username.SetInsertionPoint(0)
self.Bind(wx.EVT_TEXT,self.Onuser,self.username)
wx.StaticText(panel,-1,u"??:",pos=(242,40))
self.pwd = wx.TextCtrl(panel, -1,pos=(280,40),style=wx.TE_PASSWORD |wx.TE_PROCESS_ENTER)
self.Bind(wx.EVT_TEXT,self.Onpwd,self.pwd)
wx.CheckBox(panel, -1, u"????", (20, 80), (150, 20))
wx.CheckBox(panel, -1, u"????", (110, 80), (150, 20))
def __init__(self, parent):
# Translators: The title of a dialog to configure advanced WinTenApps add-on options such as update checking.
super(WinTenAppsConfigDialog, self).__init__(parent, title=_("Windows 10 App Essentials settings"))
mainSizer = wx.BoxSizer(wx.VERTICAL)
w10Helper = gui.guiHelper.BoxSizerHelper(self, orientation=wx.VERTICAL)
# Translators: A checkbox to toggle automatic add-on updates.
self.autoUpdateCheckbox=w10Helper.addItem(wx.CheckBox(self,label=_("Automatically check for add-on &updates")))
self.autoUpdateCheckbox.SetValue(config.conf["wintenApps"]["autoUpdateCheck"])
# Translators: The label for a setting in WinTenApps add-on settings to select automatic update interval in days.
self.updateInterval=w10Helper.addLabeledControl(_("Update &interval in days"), gui.nvdaControls.SelectOnFocusSpinCtrl, min=0, max=30, initial=config.conf["wintenApps"]["updateCheckTimeInterval"])
# Translators: The label for a combo box to select update channel.
labelText = _("&Add-on update channel:")
self.channels=w10Helper.addLabeledControl(labelText, wx.Choice, choices=["development", "stable"])
self.updateChannels = ("dev", "stable")
self.channels.SetSelection(self.updateChannels.index(config.conf["wintenApps"]["updateChannel"]))
if canUpdate:
# Translators: The label of a button to check for add-on updates.
updateCheckButton = w10Helper.addItem(wx.Button(self, label=_("Check for add-on &update")))
updateCheckButton.Bind(wx.EVT_BUTTON, self.onUpdateCheck)
w10Helper.addDialogDismissButtons(self.CreateButtonSizer(wx.OK | wx.CANCEL))
self.Bind(wx.EVT_BUTTON, self.onOk, id=wx.ID_OK)
self.Bind(wx.EVT_BUTTON, self.onCancel, id=wx.ID_CANCEL)
mainSizer.Add(w10Helper.sizer, border=gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
mainSizer.Fit(self)
self.Sizer = mainSizer
self.autoUpdateCheckbox.SetFocus()
self.Center(wx.BOTH | (wx.CENTER_ON_SCREEN if hasattr(wx, "CENTER_ON_SCREEN") else 2))
def __init__(self, parent, **kwargs):
wx.Panel.__init__(self, parent, **kwargs)
self.parent = parent
# Plot type chooser box
self.plottype_p = PlotTypePanel(self)
# Field type chooser box
self.fieldtype_p = FieldTypePanel(self, size = (-1, 400))
# Component chooser combo box
self.component_p = FieldComponentPanel(self)
# Autoscale button
self.autoscale_b = wx.CheckBox(self,-1,label='Autoscale')
# Min and max values for autoscale
self.minpspin = wx.TextCtrl(self,style=wx.TE_PROCESS_ENTER,size=(70,-1))
self.maxpspin = wx.TextCtrl(self,style=wx.TE_PROCESS_ENTER,size=(70,-1))
# Save buttons (figure, data, script)
self.save_b = SaveFigurePanel(self)
self.save_d = SaveDataPanel(self)
self.save_s = SaveScriptPanel(self)
# Sizer
vbox = wx.BoxSizer(wx.VERTICAL)
vbox.Add(self.plottype_p, 0,wx.EXPAND, 0)
vbox.Add(self.fieldtype_p,0,wx.EXPAND, 0)
vbox.Add(self.component_p,0,wx.EXPAND, 0)
hbox = wx.BoxSizer(wx.HORIZONTAL)
vbox.Add(hbox,0,wx.EXPAND, 0)
hbox.Add(self.autoscale_b,0,wx.EXPAND, 0)
hbox.Add(self.minpspin,0,wx.EXPAND, 0)
hbox.Add(self.maxpspin,0,wx.EXPAND, 0)
hbox = wx.BoxSizer(wx.HORIZONTAL)
vbox.Add(hbox,0,wx.EXPAND, 0)
#label = wx.StaticText(self, 0, 'Save', (20, 20))
#hbox.Add(label, 0,wx.EXPAND, 0)
hbox.Add(self.save_b, 0,wx.EXPAND, 0)
hbox.Add(self.save_d, 0,wx.EXPAND, 0)
hbox.Add(self.save_s, 0,wx.EXPAND, 0)
self.SetSizer(vbox)
def add_check(self, title, key):
box = wx.BoxSizer(wx.HORIZONTAL)
check = wx.CheckBox(self, -1, title)
self.ctrl_dic[key] = check
check.Bind(wx.EVT_CHECKBOX, lambda x : self.para_changed(key))
box.Add(check, 1, wx.ALL, 5)
self.lst.Add(box)