def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"Encrypted Files", pos = wx.DefaultPosition, size = wx.Size( 600,400 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
BodySizer = wx.BoxSizer( wx.VERTICAL )
self.m_panel4 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
TextCtrlSizer = wx.BoxSizer( wx.VERTICAL )
self.EncryptedFilesTextCtrl = wx.TextCtrl( self.m_panel4, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_DONTWRAP|wx.TE_MULTILINE|wx.TE_READONLY )
TextCtrlSizer.Add( self.EncryptedFilesTextCtrl, 1, wx.ALL|wx.EXPAND, 5 )
self.m_panel4.SetSizer( TextCtrlSizer )
self.m_panel4.Layout()
TextCtrlSizer.Fit( self.m_panel4 )
BodySizer.Add( self.m_panel4, 1, wx.EXPAND |wx.ALL, 5 )
self.SetSizer( BodySizer )
self.Layout()
self.Centre( wx.BOTH )
python类VERTICAL的实例源码
GUI_wxPython.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def addFileWidgets(self):
boxSizerH = wx.BoxSizer(wx.HORIZONTAL)
boxSizerH.Add(wx.Button(self.panel, label='Browse to File...'))
boxSizerH.Add(wx.TextCtrl( self.panel, size=(174, -1), value= "Z:\\" ))
boxSizerH1 = wx.BoxSizer(wx.HORIZONTAL)
boxSizerH1.Add(wx.Button(self.panel, label='Copy File To: '))
boxSizerH1.Add(wx.TextCtrl( self.panel, size=(174, -1), value= "Z:\\Backup" ))
boxSizerV = wx.BoxSizer(wx.VERTICAL)
boxSizerV.Add(boxSizerH)
boxSizerV.Add(boxSizerH1)
self.statBoxSizerMgrV.Add( boxSizerV, 1, wx.ALL )
#====================================================================
def __init__(self, parent=None, first_run=False):
wx.Dialog.__init__(self, parent, title="Settings", style=wx.DEFAULT_DIALOG_STYLE)
self._first_run = first_run
self._sizer = wx.BoxSizer(wx.VERTICAL)
self._defaults = {}
self._sizer.Add(URLEntryPanel(self, default_url=read_config_option("baseurl")), flag=wx.EXPAND | wx.ALL, border=5)
authorization_sizer = wx.BoxSizer(wx.HORIZONTAL)
authorization_sizer.Add(ClientDetailsPanel(self, default_client_id=read_config_option("client_id"), default_client_secret=read_config_option("client_secret")), flag=wx.EXPAND | wx.RIGHT, border=2, proportion=1)
authorization_sizer.Add(UserDetailsPanel(self, default_user=read_config_option("username"), default_pass=read_config_option("password")), flag=wx.EXPAND | wx.LEFT, border=2, proportion=1)
self._sizer.Add(authorization_sizer, flag=wx.EXPAND | wx.ALL, border=5)
self._sizer.Add(PostProcessingTaskPanel(self, default_post_process=read_config_option("completion_cmd")), flag=wx.EXPAND | wx.ALL, border=5)
self._sizer.Add(DefaultDirectoryPanel(self, default_directory=read_config_option("default_dir"), monitor_directory=read_config_option("monitor_default_dir", expected_type=bool)), flag=wx.EXPAND | wx.ALL, border=5)
self._sizer.Add(self.CreateSeparatedButtonSizer(flags=wx.OK), flag=wx.EXPAND | wx.ALL, border=5)
self.SetSizerAndFit(self._sizer)
self.Layout()
pub.subscribe(self._field_changed, SettingsDialog.field_changed_topic)
self.Bind(wx.EVT_CLOSE, self._on_close)
self.Bind(wx.EVT_BUTTON, self._on_close, id=wx.ID_OK)
threading.Thread(target=connect_to_irida).start()
def initNTrial(self):
trialSizer = wx.BoxSizer(orient=wx.HORIZONTAL)
trainTrialControlBox = widgets.ControlBox(self, label='Train Trials', orient=wx.VERTICAL)
self.trainTrialSpinCtrl = wx.SpinCtrl(self, #style=wx.SP_WRAP,
value=str(self.pg.nTrainTrial), min=2, max=100)
self.Bind(wx.EVT_SPINCTRL, self.setNTrainTrial, self.trainTrialSpinCtrl)
self.offlineControls += [self.trainTrialSpinCtrl]
trainTrialControlBox.Add(self.trainTrialSpinCtrl, proportion=1,
flag=wx.ALL | wx.EXPAND, border=10)
trialSizer.Add(trainTrialControlBox, proportion=1,
flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
testTrialControlBox = widgets.ControlBox(self, label='Test Trials', orient=wx.VERTICAL)
self.testTrialSpinCtrl = wx.SpinCtrl(self, #style=wx.SP_WRAP,
value=str(self.pg.nTestTrial), min=1, max=100)
self.Bind(wx.EVT_SPINCTRL, self.setNTestTrial, self.testTrialSpinCtrl)
self.offlineControls += [self.testTrialSpinCtrl]
testTrialControlBox.Add(self.testTrialSpinCtrl, proportion=1,
flag=wx.ALL | wx.EXPAND, border=10)
trialSizer.Add(testTrialControlBox, proportion=1,
flag=wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
self.sizer.Add(trialSizer, proportion=0, flag=wx.EXPAND)
def initGain(self):
gainSizer = wx.BoxSizer(orient=wx.VERTICAL)
gainControlBox = widgets.ControlBox(self, label='Gain', orient=wx.HORIZONTAL)
self.gainText = wx.StaticText(self, label='%0.2f' % self.pg.gain)
gainTextSizer = wx.BoxSizer(orient=wx.VERTICAL)
gainTextSizer.Add(self.gainText, proportion=1, flag=wx.EXPAND)
self.gainSlider = wx.Slider(self, style=wx.SL_HORIZONTAL,
value=int(self.pg.gain*100.0), minValue=1, maxValue=100)
self.Bind(wx.EVT_SLIDER, self.setGain, self.gainSlider)
gainControlBox.Add(gainTextSizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=10)
gainControlBox.Add(self.gainSlider, proportion=1, flag=wx.ALL | wx.EXPAND, border=10)
gainSizer.Add(gainControlBox,
flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
self.sizer.Add(gainSizer, proportion=0, flag=wx.EXPAND)
def initNTrial(self):
trialSizer = wx.BoxSizer(orient=wx.HORIZONTAL)
trainTrialControlBox = widgets.ControlBox(self, label='Train Trials', orient=wx.VERTICAL)
self.trainTrialSpinCtrl = wx.SpinCtrl(self, #style=wx.SP_WRAP,
value=str(self.pg.nTrainTrial), min=10, max=100)
self.Bind(wx.EVT_SPINCTRL, self.setNTrainTrial, self.trainTrialSpinCtrl)
self.offlineControls += [self.trainTrialSpinCtrl]
trainTrialControlBox.Add(self.trainTrialSpinCtrl, proportion=1,
flag=wx.ALL | wx.EXPAND, border=10)
trialSizer.Add(trainTrialControlBox, proportion=1,
flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
testTrialControlBox = widgets.ControlBox(self, label='Test Trials', orient=wx.VERTICAL)
self.testTrialSpinCtrl = wx.SpinCtrl(self, #style=wx.SP_WRAP,
value=str(self.pg.nTestTrial), min=1, max=100)
self.Bind(wx.EVT_SPINCTRL, self.setNTestTrial, self.testTrialSpinCtrl)
self.offlineControls += [self.testTrialSpinCtrl]
testTrialControlBox.Add(self.testTrialSpinCtrl, proportion=1,
flag=wx.ALL | wx.EXPAND, border=10)
trialSizer.Add(testTrialControlBox, proportion=1,
flag=wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
self.sizer.Add(trialSizer, proportion=0, flag=wx.EXPAND)
def initChoices(self):
choiceControlBox = widgets.ControlBox(self, label='Choices', orient=wx.VERTICAL)
choiceGridSizer = wx.GridSizer(1, 2, 10, 10)
self.leftChoiceTextCtrl = wx.TextCtrl(parent=self, value=self.pg.choices[0],
style=wx.TE_PROCESS_ENTER)
self.Bind(wx.EVT_TEXT_ENTER, self.setChoices, self.leftChoiceTextCtrl)
self.leftChoiceTextCtrl.Bind(wx.EVT_KILL_FOCUS, self.setChoices, self.leftChoiceTextCtrl)
self.offlineControls += [self.leftChoiceTextCtrl]
choiceGridSizer.Add(self.leftChoiceTextCtrl, proportion=0,
flag=wx.ALL | wx.EXPAND, border=10)
self.rightChoiceTextCtrl = wx.TextCtrl(parent=self, value=self.pg.choices[1],
style=wx.TE_PROCESS_ENTER)
self.Bind(wx.EVT_TEXT_ENTER, self.setChoices, self.rightChoiceTextCtrl)
self.rightChoiceTextCtrl.Bind(wx.EVT_KILL_FOCUS, self.setChoices, self.rightChoiceTextCtrl)
self.offlineControls += [self.rightChoiceTextCtrl]
choiceGridSizer.Add(self.rightChoiceTextCtrl, proportion=0,
flag=wx.ALL | wx.EXPAND, border=10)
choiceControlBox.Add(choiceGridSizer, proportion=1,
flag=wx.ALL | wx.EXPAND, border=0)
self.sizer.Add(choiceControlBox, proportion=0, flag=wx.ALL | wx.EXPAND, border=10)
def initNTrial(self):
trialSizer = wx.BoxSizer(orient=wx.HORIZONTAL)
trainTrialControlBox = widgets.ControlBox(self, label='Train Trials', orient=wx.VERTICAL)
self.trainTrialSpinCtrl = wx.SpinCtrl(self, #style=wx.SP_WRAP,
value=str(self.pg.nTrainTrial), min=2, max=100)
self.Bind(wx.EVT_SPINCTRL, self.setNTrainTrial, self.trainTrialSpinCtrl)
self.offlineControls += [self.trainTrialSpinCtrl]
trainTrialControlBox.Add(self.trainTrialSpinCtrl, proportion=1,
flag=wx.ALL | wx.EXPAND, border=10)
trialSizer.Add(trainTrialControlBox, proportion=1,
flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
testTrialControlBox = widgets.ControlBox(self, label='Test Trials', orient=wx.VERTICAL)
self.testTrialSpinCtrl = wx.SpinCtrl(self, #style=wx.SP_WRAP,
value=str(self.pg.nTestTrial), min=1, max=100)
self.Bind(wx.EVT_SPINCTRL, self.setNTestTrial, self.testTrialSpinCtrl)
self.offlineControls += [self.testTrialSpinCtrl]
testTrialControlBox.Add(self.testTrialSpinCtrl, proportion=1,
flag=wx.ALL | wx.EXPAND, border=10)
trialSizer.Add(testTrialControlBox, proportion=1,
flag=wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
self.sizer.Add(trialSizer, proportion=0, flag=wx.EXPAND)
def initMethod(self):
methodControlBox = widgets.ControlBox(self, label='Method', orient=wx.VERTICAL)
self.methodComboBox = wx.ComboBox(self, value=self.pg.method,
style=wx.CB_READONLY, choices=('Welch Power', 'Autoregressive'))
self.Bind(wx.EVT_COMBOBOX, self.setMethod, self.methodComboBox)
self.offlineControls += [self.methodComboBox]
methodControlBox.Add(self.methodComboBox, proportion=0,
flag=wx.ALL | wx.EXPAND, border=10)
self.sizer.Add(methodControlBox, proportion=0,
flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
self.methodConfigSizer = wx.BoxSizer(orient=wx.VERTICAL)
self.welchPanel = WelchConfigPanel(self, pg=self.pg, cp=self)
self.methodConfigSizer.Add(self.welchPanel, proportion=1, flag=wx.EXPAND)
self.autoregPanel = AutoregConfigPanel(self, pg=self.pg, cp=self)
self.methodConfigSizer.Add(self.autoregPanel, proportion=1, flag=wx.EXPAND)
self.sizer.Add(self.methodConfigSizer, proportion=1, flag=wx.EXPAND)
self.methodConfig = self.welchPanel
def initNTrial(self):
trialSizer = wx.BoxSizer(orient=wx.HORIZONTAL)
trainTrialControlBox = widgets.ControlBox(self, label='Train Trials', orient=wx.VERTICAL)
self.trainTrialSpinCtrl = wx.SpinCtrl(self, #style=wx.SP_WRAP,
value=str(self.pg.nTrainTrial), min=10, max=100)
self.Bind(wx.EVT_SPINCTRL, self.setNTrainTrial, self.trainTrialSpinCtrl)
self.offlineControls += [self.trainTrialSpinCtrl]
trainTrialControlBox.Add(self.trainTrialSpinCtrl, proportion=1,
flag=wx.ALL | wx.EXPAND, border=10)
trialSizer.Add(trainTrialControlBox, proportion=1,
flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
testTrialControlBox = widgets.ControlBox(self, label='Test Trials', orient=wx.VERTICAL)
self.testTrialSpinCtrl = wx.SpinCtrl(self, #style=wx.SP_WRAP,
value=str(self.pg.nTestTrial), min=1, max=100)
self.Bind(wx.EVT_SPINCTRL, self.setNTestTrial, self.testTrialSpinCtrl)
self.offlineControls += [self.testTrialSpinCtrl]
testTrialControlBox.Add(self.testTrialSpinCtrl, proportion=1,
flag=wx.ALL | wx.EXPAND, border=10)
trialSizer.Add(testTrialControlBox, proportion=1,
flag=wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
self.sizer.Add(trialSizer, proportion=0, flag=wx.EXPAND)
def __init__(self, parent, pg, *args, **kwargs):
"""Construct a new panel containing configuration widgets.
Args:
parent: Parent in wx hierarchy.
pg: Page to be configured.
*args, **kwargs: Additional arguments passed
to the wx.Panel base class.
"""
# initialize wx.Panel base class
ScrolledPanel.__init__(self, parent=parent, *args, **kwargs)
# page to be configured
self.pg = pg
# main sizer
self.sizer = wx.BoxSizer(orient=wx.VERTICAL)
self.SetSizer(self.sizer)
self.SetupScrolling()#scroll_x=False, scroll_y=True)
self.offlineControls = []
def initSigControls(self):
"""Initialize signal controls.
"""
sigSizer = wx.BoxSizer(orient=wx.VERTICAL)
scaleControlBox = widgets.ControlBox(self, label='Noise', orient=wx.VERTICAL)
self.scaleText = wx.StaticText(self, label='%4.1f' % self.src.scale.value)
scaleTextSizer = wx.BoxSizer(orient=wx.VERTICAL)
scaleTextSizer.Add(self.scaleText, proportion=1, flag=wx.EXPAND)
self.scaleSlider = wx.Slider(self, style=wx.SL_VERTICAL,
value=self.src.scale.value*10.0, minValue=1, maxValue=100)
self.Bind(wx.EVT_SLIDER, self.setScale, self.scaleSlider)
scaleControlBox.Add(scaleTextSizer, proportion=0,
flag=wx.ALL | wx.EXPAND, border=10)
scaleControlBox.Add(self.scaleSlider, proportion=1,
flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
sigSizer.Add(scaleControlBox, proportion=1,
flag=wx.ALL | wx.EXPAND, border=10)
self.sizer.Add(sigSizer, proportion=1, flag=wx.EXPAND)
def initOptions(self):
STransConfigPanel.initOptions(self)
optionsSizer = wx.BoxSizer(wx.HORIZONTAL)
kurtosisControlBox = widgets.ControlBox(self, label='Kurtosis', orient=wx.VERTICAL)
self.kurtosisComboBox = wx.ComboBox(self, choices=('Adapt', 'Sub', 'Super'),
value=self.flt.kurtosis, style=wx.CB_DROPDOWN)
self.Bind(wx.EVT_COMBOBOX, self.setKurtosis, self.kurtosisComboBox)
kurtosisControlBox.Add(self.kurtosisComboBox, proportion=1, flag=wx.ALL, border=8)
optionsSizer.Add(kurtosisControlBox, proportion=1,
flag=wx.LEFT | wx.RIGHT, border=8)
maxIterControlBox = widgets.ControlBox(self, label='Max Iter.', orient=wx.HORIZONTAL)
self.maxIterSpinCtrl = wx.SpinCtrl(self, value=str(self.flt.maxIter), min=50, max=3500)
self.Bind(wx.EVT_SPINCTRL, self.setMaxIter, self.maxIterSpinCtrl)
maxIterControlBox.Add(self.maxIterSpinCtrl, proportion=1,
flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL, border=8)
optionsSizer.Add(maxIterControlBox, proportion=0,
flag=wx.RIGHT | wx.EXPAND, border=8)
#lrControlBox = widgets.ControlBox(self, label='Learning Rate.', orient=wx.HORIZONTAL)
self.sizer.Add(optionsSizer, proportion=0)
def __do_layout(self):
# begin wxGlade: Dialog_snapshot.__do_layout
sizer_2 = wx.BoxSizer(wx.VERTICAL)
grid_sizer_2 = wx.FlexGridSizer(4, 2, 10, 10)
grid_sizer_2.Add(self.label_1, 0, 0, 0)
grid_sizer_2.Add(self.nombre_snap, 0, 0, 0)
grid_sizer_2.Add(self.label_2, 0, 0, 0)
grid_sizer_2.Add(self.descripcion_snap, 0, 0, 0)
grid_sizer_2.Add(self.checkbox_memory, 0, 0, 0)
grid_sizer_2.Add(self.checkbox_quiesce, 0, 0, 0)
grid_sizer_2.Add(self.snap_ok, 0, wx.ALIGN_RIGHT | wx.RIGHT, 0)
grid_sizer_2.Add(self.snap_cancel, 0, 0, 0)
grid_sizer_2.AddGrowableCol(1)
sizer_2.Add(grid_sizer_2, 1, wx.ALL | wx.EXPAND, 10)
self.SetSizer(sizer_2)
sizer_2.Fit(self)
self.Layout()
# end wxGlade
# end of class Dialog_snapshot
def __do_layout(self):
# begin wxGlade: Dialogo_user_pass.__do_layout
sizer_3 = wx.BoxSizer(wx.VERTICAL)
grid_sizer_4 = wx.FlexGridSizer(1, 2, 0, 0)
grid_sizer_1 = wx.FlexGridSizer(2, 2, 5, 5)
grid_sizer_1.Add(self.label_3, 0, 0, 0)
grid_sizer_1.Add(self.usuario, 0, 0, 0)
grid_sizer_1.Add(self.label_4, 0, 0, 0)
grid_sizer_1.Add(self.password, 0, 0, 0)
grid_sizer_1.AddGrowableCol(0)
sizer_3.Add(grid_sizer_1, 1, wx.ALIGN_CENTER | wx.ALIGN_RIGHT | wx.ALL | wx.EXPAND, 10)
grid_sizer_4.Add(self.button_OK, 0, 0, 0)
grid_sizer_4.Add(self.button_cancel, 0, wx.ALIGN_RIGHT, 0)
sizer_3.Add(grid_sizer_4, 1, wx.ALIGN_RIGHT | wx.ALL, 4)
self.SetSizer(sizer_3)
sizer_3.Fit(self)
self.Layout()
# end wxGlade
# end of class Dialogo_user_pass
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_4 = wx.BoxSizer(wx.VERTICAL)
sizer_5 = wx.BoxSizer(wx.HORIZONTAL)
sizer_5.Add(self.label_5, 0, wx.ALIGN_CENTER_VERTICAL, 0)
sizer_5.Add(self.text_ctrl_bucar, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 7)
sizer_5.Add(self.button_buscar, 0, wx.ALIGN_CENTER_VERTICAL, 0)
sizer_5.Add(self.label_6, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)
sizer_5.Add(self.bitmap_button_1, 0, wx.ALIGN_CENTER_VERTICAL, 0)
sizer_4.Add(sizer_5, 1, wx.ALIGN_BOTTOM | wx.ALIGN_RIGHT | wx.ALL, 6)
sizer_4.Add(self.list_ctrl_1, 1, 0, 0)
self.SetSizer(sizer_4)
sizer_4.Fit(self)
self.Layout()
# end wxGlade
# end of class MyFrame
def __do_layout(self):
# begin wxGlade: Dialogo_acceso_vcenter.__do_layout
sizer_6 = wx.BoxSizer(wx.VERTICAL)
grid_sizer_6 = wx.FlexGridSizer(1, 2, 0, 0)
grid_sizer_5 = wx.FlexGridSizer(4, 2, 5, 5)
grid_sizer_5.Add(self.label_7, 0, 0, 0)
grid_sizer_5.Add(self.nombre_vcenter, 0, 0, 0)
grid_sizer_5.Add(self.label_9, 0, 0, 0)
grid_sizer_5.Add(self.login_vcenter, 0, 0, 0)
grid_sizer_5.Add(self.label_10, 0, 0, 0)
grid_sizer_5.Add(self.passwor_vcenter, 0, 0, 0)
grid_sizer_5.Add(self.label_8, 0, 0, 0)
grid_sizer_5.Add(self.puert_vcenter, 0, 0, 0)
sizer_6.Add(grid_sizer_5, 1, wx.ALIGN_CENTER | wx.ALIGN_RIGHT | wx.ALL | wx.EXPAND, 10)
grid_sizer_6.Add(self.button_Exit, 0, wx.RIGHT, 3)
grid_sizer_6.Add(self.button_Connect, 0, 0, 0)
sizer_6.Add(grid_sizer_6, 1, wx.ALIGN_RIGHT | wx.ALL, 4)
self.SetSizer(sizer_6)
self.Layout()
# end wxGlade
# end of class Dialogo_acceso_vcenter
def __init__(self, parent):
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = StaticTextNew(self, label="Sum or Subtract Arrays")
title.SetToolTipNew("Sum or subtract array2 from array 1")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.input_filename = TextPanelObject(self, "Input File 1: ", "",150,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.input_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.input_filename1 = TextPanelObject(self, "Input File 2: ", "",150,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.input_filename1, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.output_filename = TextPanelObject(self, "Output File: ", "output.npy",150,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.output_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.addsub = RadioBoxNew(self, label="Add or Subtract:", choices=['Add','Subtract'], majorDimension=2, style=wx.RA_SPECIFY_COLS)
self.addsub.SetToolTipNew("Add or Subtract")
vbox.Add(self.addsub, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = StaticTextNew(self, label="Rotate Support Array")
title.SetToolTipNew("Rotate support (binary complex) arrays only. \nStrange results will ensue if used on data arrays.")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.input_filename = TextPanelObject(self, "Input File: ", "",150,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.input_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.output_filename = TextPanelObject(self, "Output File: ", "data_rotated.npy",150,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.output_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.rotationaxis = SpinnerObject(self,"Axis:",3,1,1,1,150,150)
self.rotationaxis.label.SetToolTipNew("Rotation axis.")
vbox.Add(self.rotationaxis, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.rotationangle = SpinnerObject(self,"Angle:",360,-360,1,0,150,150)
self.rotationangle.label.SetToolTipNew("Rotation angle in degrees.")
vbox.Add(self.rotationangle, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="Create binary mask from Numpy array")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.input_filename = TextPanelObject(self, "Input File: ", "",150,'*.npy')
vbox.Add(self.input_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.output_filename = TextPanelObject(self, "Output File: ", "mask.npy",150,'*.npy')
vbox.Add(self.output_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.max = SpinnerObject(self,"Maximum Value:",MAX_INT,MIN_INT,1.0,MAX_INT,150,150)
self.max.label.SetToolTipNew("Data within the min/max range "+os.linesep+"will result in a non-zero mask value.")
self.min = SpinnerObject(self,"Minimum Value:",MAX_INT,MIN_INT,1,50.0,150,150)
self.min.label.SetToolTipNew("Data within the min/max range "+os.linesep+"will result in a non-zero mask value.")
vbox.Add(self.max, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
vbox.Add(self.min, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = StaticTextNew(self, label="Bin Numpy Array")
title.SetToolTipNew("Input array will be binned "+os.linesep+"according to the values below.")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.input_filename = TextPanelObject(self, "Input File: ", "",150,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.input_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.output_filename = TextPanelObject(self, "Output File: ", "",150,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.output_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
title2 = wx.StaticText(self, label="Bin dimensions: ")
vbox.Add(title2 ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.bdims=[{} for i in range(3)]
self.bdims[0] = SpinnerObject(self,"x",MAX_INT_16,1,1,1,20,60)
self.bdims[1] = SpinnerObject(self,"y",MAX_INT_16,1,1,1,20,60)
self.bdims[2] = SpinnerObject(self,"z",MAX_INT_16,1,1,1,20,60)
hbox = wx.BoxSizer(wx.HORIZONTAL)
hbox.Add(self.bdims[0], 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=10)
hbox.Add(self.bdims[1], 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=10)
hbox.Add(self.bdims[2], 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=10)
vbox.Add(hbox, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = StaticTextNew(self, label="Threshold data in Numpy array")
title.SetToolTipNew("Data outside range is set to zero.")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.input_filename = TextPanelObject(self, "Input File: ", "",150,'*.npy')
vbox.Add(self.input_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.output_filename = TextPanelObject(self, "Output File: ", "data_thresh.npy",150,'*.npy')
vbox.Add(self.output_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.max = SpinnerObject(self,"Maximum Value:",MAX_INT,MIN_INT,1.0,MAX_INT,150,150)
self.max.label.SetToolTipNew("Data within the min/max range "+os.linesep+"will result in a non-zero mask value.")
self.min = SpinnerObject(self,"Minimum Value:",MAX_INT,MIN_INT,1,50.0,150,150)
self.min.label.SetToolTipNew("Data within the min/max range "+os.linesep+"will result in a non-zero mask value.")
vbox.Add(self.max, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
vbox.Add(self.min, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self, parent):
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="Filter array with median filter.")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.input_filename = TextPanelObject(self, "Input File: ", "",150,'*.npy')
vbox.Add(self.input_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.output_filename = TextPanelObject(self, "Output File: ", "output.npy",150,'*.npy')
vbox.Add(self.output_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
title2 = wx.StaticText(self, label="Filter kernel dimensions: ")
vbox.Add(title2 ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.kdims=[{} for i in range(3)]
self.kdims[0] = SpinnerObject(self,"x",MAX_INT_16,1,1,3,20,60)
self.kdims[1] = SpinnerObject(self,"y",MAX_INT_16,1,1,3,20,60)
self.kdims[2] = SpinnerObject(self,"z",MAX_INT_16,1,1,1,20,60)
hbox = wx.BoxSizer(wx.HORIZONTAL)
hbox.Add(self.kdims[0], 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=10)
hbox.Add(self.kdims[1], 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=10)
hbox.Add(self.kdims[2], 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.BOTTOM, border=10)
vbox.Add(hbox, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.maxdev = SpinnerObject(self,"Normal deviation:",MAX_INT_16,0.0,0.1,0.5,150,150)
self.maxdev.label.SetToolTipNew("Maximum element-wise normal deviation.")
vbox.Add(self.maxdev, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.SetAutoLayout(True)
self.SetSizer( vbox )
def __init__(self,parent):
wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
vbox = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, label="Numpy array with coordinates to VTK array")
vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
self.input_filename = TextPanelObject(self, "Input file: ", "input.npy",150,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
vbox.Add(self.input_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
vbox.Add((-1, 5))
self.coords_filename = TextPanelObject(self, "Co-ord's file: ", "coordinates.npy",150,'*.npy')
vbox.Add(self.coords_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
vbox.Add((-1, 5))
self.output_filename = TextPanelObject(self, "Output file: ", "output.vtk",150,"VTK files (*.vtk)|*.vtk|All files (*.*)|*.*")
vbox.Add(self.output_filename, 0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
vbox.Add((-1, 5))
self.rbampphase = wx.RadioBox(self, label="Type", choices=['Amplitude','Phase'], majorDimension=2, style=wx.RA_SPECIFY_COLS)
vbox.Add(self.rbampphase,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")
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,parent):
wx.Panel.__init__(self, parent)
self.panelvisual = self.GetParent().GetParent().GetParent()
self.vbox = wx.BoxSizer(wx.VERTICAL)
self.hbox_btn = wx.BoxSizer(wx.HORIZONTAL)
self.chkbox_enable = CheckBoxNew(self, -1, 'Enable XYZ Axes')
self.chkbox_enable.SetToolTipNew("Enable Widget")
if self.panelvisual.widget.GetEnabled() == 0:
self.chkbox_enable.SetValue(False)
else:
self.chkbox_enable.SetValue(True)
self.Bind(wx.EVT_CHECKBOX, self.OnChkbox, self.chkbox_enable)
self.hbox_btn.Add(self.chkbox_enable, 1, flag=wx.CENTER)
self.vbox.Add(self.hbox_btn, 1, flag=wx.CENTER, border=2)
self.SetSizer(self.vbox)
self.Fit()
self.Show()
def OnScroll(self, evt):
if not self._adjustingSB:
self._sb_ignore = True
sbpos = evt.GetPosition()
if evt.GetOrientation() == wx.VERTICAL:
fullrange, pagesize = self.sb_vert.GetRange(
), self.sb_vert.GetPageSize()
sbpos = fullrange - pagesize - sbpos
dist = sbpos * self._sb_xunit - \
(self._getXCurrentRange()[0] - self._sb_xfullrange)
self.ScrollUp(dist)
if evt.GetOrientation() == wx.HORIZONTAL:
dist = sbpos * self._sb_xunit - \
(self._getXCurrentRange()[0] - self._sb_xfullrange[0])
self.ScrollRight(dist)
# Private Methods **************************************************