def __init__(self, data, OS): """ NOTE constructor:: with 'None' not depend from videomass. With 'parent, -1' if close videomass also close mediainfo window """ self.data = data wx.MiniFrame.__init__(self, None) '''constructor''' # add panel self.panel = wx.Panel(self, wx.ID_ANY, style=wx.TAB_TRAVERSAL) # Add widget controls self.url_select = wx.ListCtrl(self.panel, wx.ID_ANY, style=wx.LC_REPORT | wx.SUNKEN_BORDER) self.textCtrl = wx.TextCtrl(self.panel, wx.ID_ANY, "", style=wx.TE_MULTILINE | wx.TE_DONTWRAP) button_close = wx.Button(self.panel, wx.ID_CLOSE, "") #----------------------Properties----------------------# self.SetTitle('Videomass - Multimedia Streams Information') self.SetMinSize((640, 400)) self.url_select.SetMinSize((640, 200)) self.url_select.InsertColumn(0, _('TITLE'), width=250) self.url_select.InsertColumn(1, _('URL'), width=500) self.textCtrl.SetMinSize((640, 300)) #self.textCtrl.SetDefaultStyle(wx.TextAttr(wx.Colour(30, 62, 164))) if OS == 'Darwin': self.url_select.SetFont( wx.Font(12, wx.MODERN, wx.NORMAL, wx.NORMAL)) self.textCtrl.SetFont(wx.Font(12, wx.MODERN, wx.NORMAL, wx.BOLD)) else: self.url_select.SetFont(wx.Font(9, wx.MODERN, wx.NORMAL, wx.NORMAL)) self.textCtrl.SetFont(wx.Font(9, wx.MODERN, wx.NORMAL, wx.BOLD)) #----------------------Layout--------------------------# sizer_1 = wx.BoxSizer(wx.VERTICAL) sizer_1.Add(self.url_select, 0, wx.ALL | wx.EXPAND, 5) grid_sizer_1 = wx.GridSizer(1, 1, 0, 0) sizer_1.Add(grid_sizer_1, 1, wx.EXPAND, 0) grid_sizer_1.Add(self.textCtrl, 0, wx.ALL | wx.EXPAND, 5) grid_buttons = wx.GridSizer(1, 1, 0, 0) grid_buttons.Add(button_close, 1, wx.ALL, 5) sizer_1.Add(grid_buttons, flag=wx.ALIGN_RIGHT | wx.RIGHT, border=0) self.panel.SetSizer(sizer_1) sizer_1.Fit(self) self.Layout() index = 0 for url in self.data: self.url_select.InsertItem(index, url['title']) self.url_select.SetItem(index, 1, url['url']) index += 1 #----------------------Binding (EVT)----------------------# self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.on_select, self.url_select) self.Bind(wx.EVT_BUTTON, self.on_close, button_close) self.Bind(wx.EVT_CLOSE, self.on_close)
def __init__( self, parent ): wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"pyResMan", pos = wx.DefaultPosition, size = wx.Size( 983,687 ), style = wx.DEFAULT_DIALOG_STYLE|wx.MAXIMIZE_BOX|wx.MINIMIZE_BOX|wx.RESIZE_BORDER|wx.TAB_TRAVERSAL ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) self.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOWTEXT ) ) mainSizer = wx.BoxSizer( wx.VERTICAL ) _connectSizer = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"ReaderName", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText1.Wrap( -1 ) _connectSizer.Add( self.m_staticText1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) _comboReaderNameChoices = [] self._comboReaderName = wx.ComboBox( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( -1,-1 ), _comboReaderNameChoices, wx.CB_READONLY ) self._comboReaderName.SetSelection( 0 ) _connectSizer.Add( self._comboReaderName, 1, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5 ) self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"Protocol", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText2.Wrap( -1 ) _connectSizer.Add( self.m_staticText2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) _comboProtocolChoices = [ u"T0", u"T1", u"T0/T1" ] self._comboProtocol = wx.ComboBox( self, wx.ID_ANY, u"T0/T1", wx.DefaultPosition, wx.Size( 75,-1 ), _comboProtocolChoices, wx.CB_DROPDOWN|wx.CB_READONLY ) self._comboProtocol.SetSelection( 2 ) _connectSizer.Add( self._comboProtocol, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"Mode", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText3.Wrap( -1 ) _connectSizer.Add( self.m_staticText3, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) _comboModeChoices = [ u"EXCLUSIVE", u"SHARED" ] self._comboMode = wx.ComboBox( self, wx.ID_ANY, u"SHARED", wx.DefaultPosition, wx.DefaultSize, _comboModeChoices, wx.CB_READONLY ) self._comboMode.SetSelection( 1 ) _connectSizer.Add( self._comboMode, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonConnect = wx.Button( self, wx.ID_ANY, u"Connect", wx.DefaultPosition, wx.DefaultSize, 0 ) _connectSizer.Add( self._buttonConnect, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) mainSizer.Add( _connectSizer, 0, wx.EXPAND, 5 ) bSizer46 = wx.BoxSizer( wx.VERTICAL ) self.m_splitter2 = wx.SplitterWindow( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SP_3D ) self.m_splitter2.SetSashGravity( 0.65 ) self.m_splitter2.Bind( wx.EVT_IDLE, self.m_splitter2OnIdle ) self.m_splitter2.SetMinimumPaneSize( 1 ) self.m_panel14 = wx.Panel( self.m_splitter2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer47 = wx.BoxSizer( wx.VERTICAL ) self._notebookPages = wx.Notebook( self.m_panel14, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,-1 ), 0 ) self._notebookPages.SetMinSize( wx.Size( -1,300 ) ) self._panelApdu = wx.Panel( self._notebookPages, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) _apduPageSizer = wx.BoxSizer( wx.VERTICAL ) _apduSizer = wx.BoxSizer( wx.VERTICAL ) bSizer5 = wx.BoxSizer( wx.VERTICAL ) bSizer4 = wx.BoxSizer( wx.HORIZONTAL ) self._textctrlCLA = wx.TextCtrl( self._panelApdu, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), 0 ) self._textctrlCLA.SetMaxLength( 2 ) bSizer4.Add( self._textctrlCLA, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlINS = wx.TextCtrl( self._panelApdu, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), 0 ) self._textctrlINS.SetMaxLength( 2 ) bSizer4.Add( self._textctrlINS, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlP1 = wx.TextCtrl( self._panelApdu, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), 0 ) self._textctrlP1.SetMaxLength( 2 ) bSizer4.Add( self._textctrlP1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlP2 = wx.TextCtrl( self._panelApdu, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), 0 ) self._textctrlP2.SetMaxLength( 2 ) bSizer4.Add( self._textctrlP2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlLc = wx.TextCtrl( self._panelApdu, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), wx.TE_READONLY ) self._textctrlLc.SetMaxLength( 2 ) bSizer4.Add( self._textctrlLc, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlData = wx.TextCtrl( self._panelApdu, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( -1,-1 ), 0 ) bSizer4.Add( self._textctrlData, 1, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlLe = wx.TextCtrl( self._panelApdu, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), 0 ) self._textctrlLe.SetMaxLength( 2 ) bSizer4.Add( self._textctrlLe, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer5.Add( bSizer4, 0, wx.EXPAND, 5 ) bSizer6 = wx.BoxSizer( wx.HORIZONTAL ) self._checkboxAutoGetResponse = wx.CheckBox( self._panelApdu, wx.ID_ANY, u"Auto GET RESPONSE", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer6.Add( self._checkboxAutoGetResponse, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonTransmit = wx.Button( self._panelApdu, wx.ID_ANY, u"Transmit", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer6.Add( self._buttonTransmit, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer5.Add( bSizer6, 0, wx.EXPAND, 5 ) _apduSizer.Add( bSizer5, 0, wx.EXPAND, 5 ) _apduPageSizer.Add( _apduSizer, 0, wx.EXPAND, 5 ) self._listctrlApduList = wx.ListCtrl( self._panelApdu, wx.ID_ANY, wx.DefaultPosition, wx.Size( 820,-1 ), wx.LC_REPORT ) _apduPageSizer.Add( self._listctrlApduList, 1, wx.ALL|wx.EXPAND, 5 ) self._panelApdu.SetSizer( _apduPageSizer ) self._panelApdu.Layout() _apduPageSizer.Fit( self._panelApdu ) self._notebookPages.AddPage( self._panelApdu, u"Basic APDU", True ) self._panelGP = wx.Panel( self._notebookPages, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) _gpPageSizer = wx.BoxSizer( wx.VERTICAL ) bSizer41 = wx.BoxSizer( wx.HORIZONTAL ) bSizer52 = wx.BoxSizer( wx.VERTICAL ) bSizer52.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer53 = wx.BoxSizer( wx.HORIZONTAL ) _radioSCPInfoMethodChoices = [ u"Auto Detect", u"User input" ] self._radioSCPInfoMethod = wx.RadioBox( self._panelGP, wx.ID_ANY, u"SCP informations", wx.DefaultPosition, wx.DefaultSize, _radioSCPInfoMethodChoices, 1, wx.RA_SPECIFY_ROWS ) self._radioSCPInfoMethod.SetSelection( 0 ) bSizer53.Add( self._radioSCPInfoMethod, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer37 = wx.BoxSizer( wx.VERTICAL ) bSizer37.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer36 = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText11 = wx.StaticText( self._panelGP, wx.ID_ANY, u"SCP", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText11.Wrap( -1 ) bSizer36.Add( self.m_staticText11, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) _choiceSCPChoices = [ u"1", u"2", u"3" ] self._choiceSCP = wx.Choice( self._panelGP, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, _choiceSCPChoices, 0 ) self._choiceSCP.SetSelection( 1 ) self._choiceSCP.Enable( False ) bSizer36.Add( self._choiceSCP, 0, wx.ALL, 5 ) bSizer36.AddSpacer( ( 10, 0), 0, 0, 5 ) self.m_staticText12 = wx.StaticText( self._panelGP, wx.ID_ANY, u"i", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText12.Wrap( -1 ) bSizer36.Add( self.m_staticText12, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlSCPi = wx.TextCtrl( self._panelGP, wx.ID_ANY, u"15", wx.DefaultPosition, wx.Size( 25,-1 ), 0 ) self._textctrlSCPi.SetMaxLength( 2 ) self._textctrlSCPi.Enable( False ) bSizer36.Add( self._textctrlSCPi, 0, wx.ALL, 5 ) bSizer36.AddSpacer( ( 10, 0), 0, 0, 5 ) bSizer36.AddSpacer( ( 0, 0), 0, 0, 5 ) bSizer37.Add( bSizer36, 0, 0, 5 ) bSizer37.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer53.Add( bSizer37, 0, wx.EXPAND, 5 ) bSizer38 = wx.BoxSizer( wx.VERTICAL ) bSizer38.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) self._buttonMutualAuth = wx.Button( self._panelGP, wx.ID_ANY, u"Mutual Authentication", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer38.Add( self._buttonMutualAuth, 0, wx.ALL, 5 ) bSizer38.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer53.Add( bSizer38, 1, wx.EXPAND, 5 ) bSizer52.Add( bSizer53, 0, wx.EXPAND, 5 ) bSizer41.Add( bSizer52, 1, wx.EXPAND, 5 ) _gpPageSizer.Add( bSizer41, 0, wx.EXPAND, 5 ) self.m_notebook2 = wx.Notebook( self._panelGP, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,500 ), wx.NB_TOP ) self._contentManagerPage = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer231 = wx.BoxSizer( wx.VERTICAL ) bSizer30 = wx.BoxSizer( wx.VERTICAL ) self._filepickerCapFile = wx.FilePickerCtrl( self._contentManagerPage, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.cap", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE ) bSizer30.Add( self._filepickerCapFile, 0, wx.ALL|wx.EXPAND, 5 ) bSizer231.Add( bSizer30, 0, wx.EXPAND, 5 ) bSizer31 = wx.BoxSizer( wx.HORIZONTAL ) self._treectrlCapFileInformation = wx.TreeCtrl( self._contentManagerPage, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,-1 ), wx.TR_DEFAULT_STYLE ) bSizer31.Add( self._treectrlCapFileInformation, 1, wx.ALL|wx.EXPAND, 5 ) bSizer50 = wx.BoxSizer( wx.VERTICAL ) self._buttonLoad = wx.Button( self._contentManagerPage, wx.ID_ANY, u"Load", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonLoad.Enable( False ) bSizer50.Add( self._buttonLoad, 0, wx.ALL, 5 ) self._buttonInstall = wx.Button( self._contentManagerPage, wx.ID_ANY, u"Install", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonInstall.Enable( False ) bSizer50.Add( self._buttonInstall, 0, wx.ALL, 5 ) bSizer50.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer31.Add( bSizer50, 0, wx.EXPAND, 5 ) bSizer231.Add( bSizer31, 1, wx.EXPAND, 5 ) self._contentManagerPage.SetSizer( bSizer231 ) self._contentManagerPage.Layout() bSizer231.Fit( self._contentManagerPage ) self.m_notebook2.AddPage( self._contentManagerPage, u"Content Manager", False ) self._contentViewerPage = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer23 = wx.BoxSizer( wx.HORIZONTAL ) self._treectrlCardContent = wx.TreeCtrl( self._contentViewerPage, wx.ID_ANY, wx.DefaultPosition, wx.Size( 400,-1 ), wx.TR_DEFAULT_STYLE ) bSizer23.Add( self._treectrlCardContent, 1, wx.ALL|wx.EXPAND, 5 ) bSizer26 = wx.BoxSizer( wx.VERTICAL ) self._buttonRefreshCardContent = wx.Button( self._contentViewerPage, wx.ID_ANY, u"Refresh", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer26.Add( self._buttonRefreshCardContent, 0, wx.ALL, 5 ) self._buttonInstallCardContent = wx.Button( self._contentViewerPage, wx.ID_ANY, u"Install", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonInstallCardContent.Enable( False ) bSizer26.Add( self._buttonInstallCardContent, 0, wx.ALL, 5 ) self._buttonSelectCardContent = wx.Button( self._contentViewerPage, wx.ID_ANY, u"Select", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonSelectCardContent.Enable( False ) bSizer26.Add( self._buttonSelectCardContent, 0, wx.ALL, 5 ) self._buttonDeleteCardContent = wx.Button( self._contentViewerPage, wx.ID_ANY, u"Delete", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonDeleteCardContent.Enable( False ) bSizer26.Add( self._buttonDeleteCardContent, 0, wx.ALL, 5 ) bSizer23.Add( bSizer26, 0, wx.EXPAND, 5 ) self._contentViewerPage.SetSizer( bSizer23 ) self._contentViewerPage.Layout() bSizer23.Fit( self._contentViewerPage ) self.m_notebook2.AddPage( self._contentViewerPage, u"Content Viewer", False ) self._keyManagerPage = wx.Panel( self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer342 = wx.BoxSizer( wx.VERTICAL ) bSizer34 = wx.BoxSizer( wx.HORIZONTAL ) bSizer51 = wx.BoxSizer( wx.HORIZONTAL ) self._listctrlKeyData = wx.ListCtrl( self._keyManagerPage, wx.ID_ANY, wx.DefaultPosition, wx.Size( 300,-1 ), wx.LC_REPORT ) bSizer51.Add( self._listctrlKeyData, 1, wx.ALL|wx.EXPAND, 5 ) bSizer34.Add( bSizer51, 1, wx.EXPAND, 5 ) bSizer40 = wx.BoxSizer( wx.VERTICAL ) self._buttonGetKeyTemplateInfo = wx.Button( self._keyManagerPage, wx.ID_ANY, u"Get Key Template Information", wx.DefaultPosition, wx.Size( -1,-1 ), 0 ) bSizer40.Add( self._buttonGetKeyTemplateInfo, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 ) bSizer28 = wx.BoxSizer( wx.VERTICAL ) bSizer29 = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText5 = wx.StaticText( self._keyManagerPage, wx.ID_ANY, u"S-ENC", wx.DefaultPosition, wx.Size( 40,-1 ), 0 ) self.m_staticText5.Wrap( -1 ) bSizer29.Add( self.m_staticText5, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlKey1Length = wx.TextCtrl( self._keyManagerPage, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), wx.TE_READONLY ) bSizer29.Add( self._textctrlKey1Length, 0, wx.ALL, 5 ) self._textctrlKey1 = wx.TextCtrl( self._keyManagerPage, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) self._textctrlKey1.SetMinSize( wx.Size( 300,-1 ) ) bSizer29.Add( self._textctrlKey1, 1, wx.ALL|wx.EXPAND, 5 ) bSizer28.Add( bSizer29, 1, wx.EXPAND, 5 ) bSizer301 = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText6 = wx.StaticText( self._keyManagerPage, wx.ID_ANY, u"S-MAC", wx.DefaultPosition, wx.Size( 40,-1 ), 0 ) self.m_staticText6.Wrap( -1 ) bSizer301.Add( self.m_staticText6, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlKey2Length = wx.TextCtrl( self._keyManagerPage, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), wx.TE_READONLY ) bSizer301.Add( self._textctrlKey2Length, 0, wx.ALL, 5 ) self._textctrlKey2 = wx.TextCtrl( self._keyManagerPage, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) self._textctrlKey2.SetMinSize( wx.Size( 300,-1 ) ) bSizer301.Add( self._textctrlKey2, 1, wx.ALL|wx.EXPAND, 5 ) bSizer28.Add( bSizer301, 1, wx.EXPAND, 5 ) bSizer311 = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText7 = wx.StaticText( self._keyManagerPage, wx.ID_ANY, u" DEK", wx.DefaultPosition, wx.Size( 40,-1 ), 0 ) self.m_staticText7.Wrap( -1 ) bSizer311.Add( self.m_staticText7, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlKey3Length = wx.TextCtrl( self._keyManagerPage, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), wx.TE_READONLY ) bSizer311.Add( self._textctrlKey3Length, 0, wx.ALL, 5 ) self._textctrlKey3 = wx.TextCtrl( self._keyManagerPage, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) self._textctrlKey3.SetMinSize( wx.Size( 300,-1 ) ) bSizer311.Add( self._textctrlKey3, 1, wx.ALL|wx.EXPAND, 5 ) bSizer28.Add( bSizer311, 1, wx.EXPAND, 5 ) bSizer40.Add( bSizer28, 0, wx.EXPAND, 5 ) bSizer33 = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText10 = wx.StaticText( self._keyManagerPage, wx.ID_ANY, u"Old KVN", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText10.Wrap( -1 ) bSizer33.Add( self.m_staticText10, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlOldKVN = wx.TextCtrl( self._keyManagerPage, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), 0 ) self._textctrlOldKVN.SetMaxLength( 2 ) bSizer33.Add( self._textctrlOldKVN, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.m_staticText9 = wx.StaticText( self._keyManagerPage, wx.ID_ANY, u"NewKVN", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText9.Wrap( -1 ) bSizer33.Add( self.m_staticText9, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlNewKVN = wx.TextCtrl( self._keyManagerPage, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 25,-1 ), 0 ) self._textctrlNewKVN.SetMaxLength( 2 ) bSizer33.Add( self._textctrlNewKVN, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonPutKey = wx.Button( self._keyManagerPage, wx.ID_ANY, u"Put Key", wx.DefaultPosition, wx.Size( -1,-1 ), 0 ) bSizer33.Add( self._buttonPutKey, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonDeleteKey = wx.Button( self._keyManagerPage, wx.ID_ANY, u"Delete Key", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer33.Add( self._buttonDeleteKey, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonKeyDefault = wx.Button( self._keyManagerPage, wx.ID_ANY, u"Default", wx.DefaultPosition, wx.Size( -1,-1 ), 0 ) bSizer33.Add( self._buttonKeyDefault, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer40.Add( bSizer33, 0, wx.EXPAND, 5 ) bSizer40.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer34.Add( bSizer40, 0, wx.EXPAND, 5 ) bSizer342.Add( bSizer34, 1, wx.EXPAND, 5 ) self._keyManagerPage.SetSizer( bSizer342 ) self._keyManagerPage.Layout() bSizer342.Fit( self._keyManagerPage ) self.m_notebook2.AddPage( self._keyManagerPage, u"Key Manager", True ) _gpPageSizer.Add( self.m_notebook2, 0, wx.EXPAND |wx.ALL, 5 ) self._panelGP.SetSizer( _gpPageSizer ) self._panelGP.Layout() _gpPageSizer.Fit( self._panelGP ) self._notebookPages.AddPage( self._panelGP, u"GlobalPlatform", False ) self._panelScript = wx.Panel( self._notebookPages, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer44 = wx.BoxSizer( wx.VERTICAL ) bSizer45 = wx.BoxSizer( wx.HORIZONTAL ) self._filepickerScriptFile = wx.FilePickerCtrl( self._panelScript, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.*", wx.DefaultPosition, wx.Size( 650,-1 ), wx.FLP_DEFAULT_STYLE ) bSizer45.Add( self._filepickerScriptFile, 1, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonScriptRefresh = wx.Button( self._panelScript, wx.ID_ANY, u"Refresh", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer45.Add( self._buttonScriptRefresh, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.m_staticText4 = wx.StaticText( self._panelScript, wx.ID_ANY, u"Loop count:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText4.Wrap( -1 ) bSizer45.Add( self.m_staticText4, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._textctrlScriptLoopCount = wx.TextCtrl( self._panelScript, wx.ID_ANY, u"1", wx.DefaultPosition, wx.Size( 50,-1 ), 0 ) bSizer45.Add( self._textctrlScriptLoopCount, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonScriptRun = wx.Button( self._panelScript, wx.ID_ANY, u"Run Script", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer45.Add( self._buttonScriptRun, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonScriptClearResult = wx.Button( self._panelScript, wx.ID_ANY, u"Clear Result", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer45.Add( self._buttonScriptClearResult, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer44.Add( bSizer45, 0, wx.EXPAND, 5 ) self._listctrlScriptList = wx.ListCtrl( self._panelScript, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,-1 ), wx.LC_REPORT ) bSizer44.Add( self._listctrlScriptList, 1, wx.ALL|wx.EXPAND, 5 ) self._panelScript.SetSizer( bSizer44 ) self._panelScript.Layout() bSizer44.Fit( self._panelScript ) self._notebookPages.AddPage( self._panelScript, u"Script", False ) self._panelSCDebugger = wx.Panel( self._notebookPages, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer411 = wx.BoxSizer( wx.VERTICAL ) self.m_panel13 = wx.Panel( self._panelSCDebugger, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer451 = wx.BoxSizer( wx.HORIZONTAL ) self._textctrlDebuggerScriptFilePathName = wx.TextCtrl( self.m_panel13, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY ) bSizer451.Add( self._textctrlDebuggerScriptFilePathName, 1, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonDebuggerScriptLoadFile = wx.Button( self.m_panel13, wx.ID_ANY, u"Load", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonDebuggerScriptLoadFile.SetMaxSize( wx.Size( 50,-1 ) ) bSizer451.Add( self._buttonDebuggerScriptLoadFile, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonDebuggerScriptSaveFile = wx.Button( self.m_panel13, wx.ID_ANY, u"Save", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonDebuggerScriptSaveFile.SetMaxSize( wx.Size( 50,-1 ) ) bSizer451.Add( self._buttonDebuggerScriptSaveFile, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.m_staticText13 = wx.StaticText( self.m_panel13, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 20,-1 ), 0 ) self.m_staticText13.Wrap( -1 ) bSizer451.Add( self.m_staticText13, 0, wx.ALL, 5 ) self._buttonDebuggerScriptItemUp = wx.Button( self.m_panel13, wx.ID_ANY, u"Up", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonDebuggerScriptItemUp.SetMaxSize( wx.Size( 50,-1 ) ) bSizer451.Add( self._buttonDebuggerScriptItemUp, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonDebuggerScriptItemDown = wx.Button( self.m_panel13, wx.ID_ANY, u"Down", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonDebuggerScriptItemDown.SetMaxSize( wx.Size( 50,-1 ) ) bSizer451.Add( self._buttonDebuggerScriptItemDown, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonDebuggerScriptItemDelete = wx.Button( self.m_panel13, wx.ID_ANY, u"Delete", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonDebuggerScriptItemDelete.SetMaxSize( wx.Size( 50,-1 ) ) bSizer451.Add( self._buttonDebuggerScriptItemDelete, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.m_staticText131 = wx.StaticText( self.m_panel13, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 20,-1 ), 0 ) self.m_staticText131.Wrap( -1 ) bSizer451.Add( self.m_staticText131, 0, wx.ALL, 5 ) self._buttonDebuggerScriptRun = wx.Button( self.m_panel13, wx.ID_ANY, u"Play", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonDebuggerScriptRun.SetMaxSize( wx.Size( 50,-1 ) ) bSizer451.Add( self._buttonDebuggerScriptRun, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonDebuggerScriptStep = wx.Button( self.m_panel13, wx.ID_ANY, u"Step", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonDebuggerScriptStep.SetMaxSize( wx.Size( 50,-1 ) ) bSizer451.Add( self._buttonDebuggerScriptStep, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self._buttonDebuggerScriptStop = wx.Button( self.m_panel13, wx.ID_ANY, u"Stop", wx.DefaultPosition, wx.DefaultSize, 0 ) self._buttonDebuggerScriptStop.SetMaxSize( wx.Size( 50,-1 ) ) bSizer451.Add( self._buttonDebuggerScriptStop, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.m_panel13.SetSizer( bSizer451 ) self.m_panel13.Layout() bSizer451.Fit( self.m_panel13 ) bSizer411.Add( self.m_panel13, 0, wx.ALL|wx.EXPAND, 5 ) self.m_splitter21 = wx.SplitterWindow( self._panelSCDebugger, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SP_3D ) self.m_splitter21.SetSashGravity( 0.3 ) self.m_splitter21.Bind( wx.EVT_IDLE, self.m_splitter21OnIdle ) self.m_panel11 = wx.Panel( self.m_splitter21, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer42 = wx.BoxSizer( wx.HORIZONTAL ) self._treectrlDebuggerCommands = wx.TreeCtrl( self.m_panel11, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TR_DEFAULT_STYLE ) bSizer42.Add( self._treectrlDebuggerCommands, 1, wx.ALL|wx.EXPAND, 5 ) self.m_panel11.SetSizer( bSizer42 ) self.m_panel11.Layout() bSizer42.Fit( self.m_panel11 ) self.m_panel12 = wx.Panel( self.m_splitter21, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer441 = wx.BoxSizer( wx.VERTICAL ) self._listctrlDebuggerScriptCommand = wx.grid.Grid( self.m_panel12, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) # Grid self._listctrlDebuggerScriptCommand.CreateGrid( 0, 0 ) self._listctrlDebuggerScriptCommand.EnableEditing( False ) self._listctrlDebuggerScriptCommand.EnableGridLines( True ) self._listctrlDebuggerScriptCommand.EnableDragGridSize( False ) self._listctrlDebuggerScriptCommand.SetMargins( 0, 0 ) # Columns self._listctrlDebuggerScriptCommand.AutoSizeColumns() self._listctrlDebuggerScriptCommand.EnableDragColMove( False ) self._listctrlDebuggerScriptCommand.EnableDragColSize( True ) self._listctrlDebuggerScriptCommand.SetColLabelSize( 0 ) self._listctrlDebuggerScriptCommand.SetColLabelAlignment( wx.ALIGN_CENTRE, wx.ALIGN_CENTRE ) # Rows self._listctrlDebuggerScriptCommand.EnableDragRowSize( True ) self._listctrlDebuggerScriptCommand.SetRowLabelSize( 0 ) self._listctrlDebuggerScriptCommand.SetRowLabelAlignment( wx.ALIGN_CENTRE, wx.ALIGN_CENTRE ) # Label Appearance # Cell Defaults self._listctrlDebuggerScriptCommand.SetDefaultCellAlignment( wx.ALIGN_LEFT, wx.ALIGN_TOP ) bSizer441.Add( self._listctrlDebuggerScriptCommand, 1, wx.ALL|wx.EXPAND, 5 ) self.m_panel12.SetSizer( bSizer441 ) self.m_panel12.Layout() bSizer441.Fit( self.m_panel12 ) self.m_splitter21.SplitVertically( self.m_panel11, self.m_panel12, 0 ) bSizer411.Add( self.m_splitter21, 1, wx.EXPAND, 5 ) self._panelSCDebugger.SetSizer( bSizer411 ) self._panelSCDebugger.Layout() bSizer411.Fit( self._panelSCDebugger ) self._notebookPages.AddPage( self._panelSCDebugger, u"SmartCard Debugger", False ) self._panelAbout = wx.Panel( self._notebookPages, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer331 = wx.BoxSizer( wx.HORIZONTAL ) bSizer331.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer43 = wx.BoxSizer( wx.VERTICAL ) bSizer43.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer401 = wx.BoxSizer( wx.HORIZONTAL ) bSizer401.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) self.m_staticText101 = wx.StaticText( self._panelAbout, wx.ID_ANY, u"PyResMan v3.1", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTRE ) self.m_staticText101.Wrap( -1 ) bSizer401.Add( self.m_staticText101, 0, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer401.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer43.Add( bSizer401, 0, wx.EXPAND, 5 ) bSizer39 = wx.BoxSizer( wx.HORIZONTAL ) bSizer39.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) self.m_hyperlink1 = wx.HyperlinkCtrl( self._panelAbout, wx.ID_ANY, u"JavaCardOS Technologies. All rights reserved.", u"http://www.javacardos.com/?s=pyresman", wx.DefaultPosition, wx.DefaultSize, wx.HL_ALIGN_CENTRE|wx.HL_DEFAULT_STYLE ) bSizer39.Add( self.m_hyperlink1, 0, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer39.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer43.Add( bSizer39, 0, wx.EXPAND, 5 ) bSizer381 = wx.BoxSizer( wx.HORIZONTAL ) bSizer381.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) self.m_hyperlink2 = wx.HyperlinkCtrl( self._panelAbout, wx.ID_ANY, u"Website: http://www.javacardos.com/", u"http://www.javacardos.com/?s=pyresman", wx.DefaultPosition, wx.DefaultSize, wx.HL_ALIGN_CENTRE|wx.HL_DEFAULT_STYLE ) bSizer381.Add( self.m_hyperlink2, 0, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer381.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer43.Add( bSizer381, 0, wx.EXPAND, 5 ) bSizer371 = wx.BoxSizer( wx.HORIZONTAL ) bSizer371.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) self.m_hyperlink3 = wx.HyperlinkCtrl( self._panelAbout, wx.ID_ANY, u"Discussion: http://www.javacardos.com/javacardforum/", u"http://www.javacardos.com/javacardforum//?s=pyresman", wx.DefaultPosition, wx.DefaultSize, wx.HL_ALIGN_CENTRE|wx.HL_DEFAULT_STYLE ) bSizer371.Add( self.m_hyperlink3, 0, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer371.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer43.Add( bSizer371, 0, wx.EXPAND, 5 ) bSizer43.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer331.Add( bSizer43, 1, wx.EXPAND, 5 ) bSizer331.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) self._panelAbout.SetSizer( bSizer331 ) self._panelAbout.Layout() bSizer331.Fit( self._panelAbout ) self._notebookPages.AddPage( self._panelAbout, u"About", False ) bSizer47.Add( self._notebookPages, 1, wx.ALL|wx.EXPAND, 5 ) self.m_panel14.SetSizer( bSizer47 ) self.m_panel14.Layout() bSizer47.Fit( self.m_panel14 ) self.m_panel15 = wx.Panel( self.m_splitter2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer49 = wx.BoxSizer( wx.VERTICAL ) self._textctrlLog = wx.TextCtrl( self.m_panel15, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE|wx.TE_READONLY|wx.TE_RICH2 ) bSizer49.Add( self._textctrlLog, 1, wx.ALL|wx.EXPAND, 5 ) bSizer154 = wx.BoxSizer( wx.VERTICAL ) bSizer154.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) self._buttonClearLog = wx.Button( self.m_panel15, wx.ID_ANY, u"Clear Log", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer154.Add( self._buttonClearLog, 0, wx.ALL|wx.ALIGN_RIGHT, 5 ) bSizer154.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer49.Add( bSizer154, 0, wx.EXPAND, 5 ) self.m_panel15.SetSizer( bSizer49 ) self.m_panel15.Layout() bSizer49.Fit( self.m_panel15 ) self.m_splitter2.SplitHorizontally( self.m_panel14, self.m_panel15, 0 ) bSizer46.Add( self.m_splitter2, 1, wx.EXPAND, 5 ) mainSizer.Add( bSizer46, 1, wx.EXPAND, 5 ) self.SetSizer( mainSizer ) self.Layout() self.Centre( wx.BOTH ) # Connect Events self._buttonConnect.Bind( wx.EVT_BUTTON, self._buttonConnectOnButtonClick ) self._textctrlCLA.Bind( wx.EVT_CHAR, self._textctrlCLAOnChar ) self._textctrlINS.Bind( wx.EVT_CHAR, self._textctrlINSOnChar ) self._textctrlP1.Bind( wx.EVT_CHAR, self._textctrlP1OnChar ) self._textctrlP2.Bind( wx.EVT_CHAR, self._textctrlP2OnChar ) self._textctrlData.Bind( wx.EVT_CHAR, self._textctrlDataOnChar ) self._textctrlData.Bind( wx.EVT_TEXT, self._textctrlDataOnText ) self._textctrlLe.Bind( wx.EVT_CHAR, self._textctrlLeOnChar ) self._buttonTransmit.Bind( wx.EVT_BUTTON, self._buttonTransmitOnButtonClick ) self._radioSCPInfoMethod.Bind( wx.EVT_RADIOBOX, self._radioSCPInfoMethodOnRadioBox ) self._textctrlSCPi.Bind( wx.EVT_CHAR, self._textctrlSCPiOnChar ) self._buttonMutualAuth.Bind( wx.EVT_BUTTON, self._buttonMutualAuthOnButtonClick ) self._filepickerCapFile.Bind( wx.EVT_FILEPICKER_CHANGED, self._filepickerCapFileOnFileChanged ) self._treectrlCapFileInformation.Bind( wx.EVT_TREE_SEL_CHANGED, self._treectrlCapFileInformationOnTreeSelChanged ) self._buttonLoad.Bind( wx.EVT_BUTTON, self._buttonLoadOnButtonClick ) self._buttonInstall.Bind( wx.EVT_BUTTON, self._buttonInstallOnButtonClick ) self._treectrlCardContent.Bind( wx.EVT_TREE_SEL_CHANGED, self._treectrlCardContentOnTreeSelChanged ) self._buttonRefreshCardContent.Bind( wx.EVT_BUTTON, self._buttonRefreshCardContentOnButtonClick ) self._buttonInstallCardContent.Bind( wx.EVT_BUTTON, self._buttonInstallCardContentOnButtonClick ) self._buttonSelectCardContent.Bind( wx.EVT_BUTTON, self._buttonSelectCardContentOnButtonClick ) self._buttonDeleteCardContent.Bind( wx.EVT_BUTTON, self._buttonDeleteCardContentOnButtonClick ) self._listctrlKeyData.Bind( wx.EVT_LIST_ITEM_SELECTED, self._listctrlKeyDataOnListItemSelected ) self._buttonGetKeyTemplateInfo.Bind( wx.EVT_BUTTON, self._buttonGetKeyTemplateInfoOnButtonClick ) self._textctrlKey1.Bind( wx.EVT_CHAR, self._textctrlKey1OnChar ) self._textctrlKey1.Bind( wx.EVT_TEXT, self._textctrlKey1OnText ) self._textctrlKey2.Bind( wx.EVT_CHAR, self._textctrlKey2OnChar ) self._textctrlKey2.Bind( wx.EVT_TEXT, self._textctrlKey2OnText ) self._textctrlKey3.Bind( wx.EVT_CHAR, self._textctrlKey3OnChar ) self._textctrlKey3.Bind( wx.EVT_TEXT, self._textctrlKey3OnText ) self._textctrlOldKVN.Bind( wx.EVT_CHAR, self._oldKVNTextCtrlOnChar ) self._textctrlOldKVN.Bind( wx.EVT_TEXT, self._oldKVNTextCtrlOnText ) self._textctrlNewKVN.Bind( wx.EVT_CHAR, self._newKVNTextCtrlOnChar ) self._textctrlNewKVN.Bind( wx.EVT_TEXT, self._newKVNTextCtrlOnText ) self._buttonPutKey.Bind( wx.EVT_BUTTON, self._buttonPutKeyOnButtonClick ) self._buttonDeleteKey.Bind( wx.EVT_BUTTON, self._buttonDeleteKeyOnButtonClick ) self._buttonKeyDefault.Bind( wx.EVT_BUTTON, self._buttonKeyDefaultOnButtonClick ) self._filepickerScriptFile.Bind( wx.EVT_FILEPICKER_CHANGED, self._filepickerScriptFileOnFileChanged ) self._buttonScriptRefresh.Bind( wx.EVT_BUTTON, self._buttonScriptRefreshOnButtonClick ) self._textctrlScriptLoopCount.Bind( wx.EVT_CHAR, self._textctrlScriptLoopCountOnChar ) self._buttonScriptRun.Bind( wx.EVT_BUTTON, self._buttonScriptRunOnButtonClick ) self._buttonScriptClearResult.Bind( wx.EVT_BUTTON, self._buttonScriptClearResultOnButtonClick ) self._buttonDebuggerScriptLoadFile.Bind( wx.EVT_BUTTON, self._buttonDebuggerScriptLoadFileOnButtonClick ) self._buttonDebuggerScriptSaveFile.Bind( wx.EVT_BUTTON, self._buttonDebuggerScriptSaveFileOnButtonClick ) self._buttonDebuggerScriptItemUp.Bind( wx.EVT_BUTTON, self._buttonDebuggerScriptItemUpOnButtonClick ) self._buttonDebuggerScriptItemDown.Bind( wx.EVT_BUTTON, self._buttonDebuggerScriptItemDownOnButtonClick ) self._buttonDebuggerScriptItemDelete.Bind( wx.EVT_BUTTON, self._buttonDebuggerScriptItemDeleteOnButtonClick ) self._buttonDebuggerScriptRun.Bind( wx.EVT_BUTTON, self._buttonDebuggerScriptRunOnButtonClick ) self._buttonDebuggerScriptStep.Bind( wx.EVT_BUTTON, self._buttonDebuggerScriptStepOnButtonClick ) self._buttonDebuggerScriptStop.Bind( wx.EVT_BUTTON, self._buttonDebuggerScriptStopOnButtonClick ) self._treectrlDebuggerCommands.Bind( wx.EVT_LEFT_DCLICK, self._treectrlDebuggerCommandsOnLeftDClick ) self._listctrlDebuggerScriptCommand.Bind( wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self._listctrlDebuggerScriptCommandOnGridCellLeftDClick ) self._buttonClearLog.Bind( wx.EVT_BUTTON, self._buttonClearLogOnButtonClick )
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(1245, 1193), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) bSizerFrame = wx.BoxSizer(wx.VERTICAL) self.m_panel1 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) self.m_panel1.SetToolTip(u"Video is displayed here") bSizerPanel = wx.BoxSizer(wx.VERTICAL) self.m_staticTextStatus = wx.StaticText(self.m_panel1, wx.ID_ANY, u"Status: ...", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticTextStatus.Wrap(-1) self.m_staticTextStatus.SetToolTip(u"Status is displayed here") bSizerPanel.Add(self.m_staticTextStatus, 0, wx.ALL | wx.EXPAND, 5) self.m_notebookMediaCtrl = wx.Notebook(self.m_panel1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_notebookMediaCtrl.SetMinSize(wx.Size(800, 800)) bSizerPanel.Add(self.m_notebookMediaCtrl, 1, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) bSizer3 = wx.BoxSizer(wx.HORIZONTAL) self.m_buttonPrevfile = wx.Button(self.m_panel1, wx.ID_ANY, u"|<textfile", wx.DefaultPosition, wx.DefaultSize, 0) self.m_buttonPrevfile.SetToolTip(u"Previous in text file") bSizer3.Add(self.m_buttonPrevfile, 0, wx.ALL, 5) self.m_buttonPrev = wx.Button(self.m_panel1, wx.ID_ANY, u"|<", wx.DefaultPosition, wx.DefaultSize, 0) self.m_buttonPrev.SetToolTip(u"Previous media file") bSizer3.Add(self.m_buttonPrev, 0, wx.ALL, 5) self.m_buttonPlay = wx.Button(self.m_panel1, wx.ID_ANY, u">", wx.DefaultPosition, wx.DefaultSize, 0) self.m_buttonPlay.SetToolTip(u"Play") bSizer3.Add(self.m_buttonPlay, 0, wx.ALL, 5) self.m_buttonPause = wx.Button(self.m_panel1, wx.ID_ANY, u">][<", wx.DefaultPosition, wx.DefaultSize, 0) self.m_buttonPause.SetToolTip(u"Pause") bSizer3.Add(self.m_buttonPause, 0, wx.ALL, 5) self.m_buttonNext = wx.Button(self.m_panel1, wx.ID_ANY, u">|", wx.DefaultPosition, wx.DefaultSize, 0) self.m_buttonNext.SetToolTip(u"Next media file") bSizer3.Add(self.m_buttonNext, 0, wx.ALL, 5) self.m_buttonNextFile = wx.Button(self.m_panel1, wx.ID_ANY, u"textfile>|", wx.DefaultPosition, wx.DefaultSize, 0) self.m_buttonNextFile.SetToolTip(u"Next in text file") bSizer3.Add(self.m_buttonNextFile, 0, wx.ALL, 5) self.m_buttonEnterVidNum = wx.Button(self.m_panel1, wx.ID_ANY, u"Enter #...", wx.DefaultPosition, wx.DefaultSize, 0) self.m_buttonEnterVidNum.SetToolTip(u"Enter media number") bSizer3.Add(self.m_buttonEnterVidNum, 0, wx.ALL, 5) self.m_buttonLouder = wx.Button(self.m_panel1, wx.ID_ANY, u"Louder", wx.DefaultPosition, wx.DefaultSize, 0) self.m_buttonLouder.SetToolTip(u"Louder") bSizer3.Add(self.m_buttonLouder, 0, wx.ALL, 5) self.m_buttonSofter = wx.Button(self.m_panel1, wx.ID_ANY, u"Softer", wx.DefaultPosition, wx.DefaultSize, 0) self.m_buttonSofter.SetToolTip(u"Softer") bSizer3.Add(self.m_buttonSofter, 0, wx.ALL, 5) bSizerPanel.Add(bSizer3, 0, wx.ALIGN_CENTER_HORIZONTAL, 5) self.m_textCtrlEntry = wx.TextCtrl( self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_NOHIDESEL | wx.TE_NO_VSCROLL | wx.TE_PROCESS_ENTER) self.m_textCtrlEntry.SetToolTip(u"Enter/Edit Comment") bSizerPanel.Add(self.m_textCtrlEntry, 0, wx.ALL | wx.EXPAND, 5) self.m_listCtrlVidComments = wx.ListCtrl( self.m_panel1, wx.ID_ANY, wx.DefaultPosition, wx.Size(-1, -1), wx.LC_REPORT | wx.BORDER_SUNKEN) self.m_listCtrlVidComments.SetToolTip( u"List of existing Video txt comments") self.m_listCtrlVidComments.SetMinSize(wx.Size(-1, 300)) bSizerPanel.Add(self.m_listCtrlVidComments, 0, wx.ALL | wx.EXPAND, 5) self.m_panel1.SetSizer(bSizerPanel) self.m_panel1.Layout() bSizerPanel.Fit(self.m_panel1) bSizerFrame.Add(self.m_panel1, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(bSizerFrame) self.Layout() self.m_menubarMainFrame = wx.MenuBar(0) self.m_menuFile = wx.Menu() self.m_menuItemFileOpen = wx.MenuItem(self.m_menuFile, wx.ID_ANY, u"Open Video txt...", wx.EmptyString, wx.ITEM_NORMAL) self.m_menuFile.Append(self.m_menuItemFileOpen) self.m_menuItemFileSave = wx.MenuItem(self.m_menuFile, wx.ID_ANY, u"Save Video txt...", wx.EmptyString, wx.ITEM_NORMAL) self.m_menuFile.Append(self.m_menuItemFileSave) self.m_menuItemFileSaveAs = wx.MenuItem(self.m_menuFile, wx.ID_ANY, u"Save As Video txt...", wx.EmptyString, wx.ITEM_NORMAL) self.m_menuFile.Append(self.m_menuItemFileSaveAs) self.m_menuItemQuit = wx.MenuItem(self.m_menuFile, wx.ID_ANY, u"Quit without save...", wx.EmptyString, wx.ITEM_NORMAL) self.m_menuFile.Append(self.m_menuItemQuit) self.m_menuItemeExit = wx.MenuItem(self.m_menuFile, wx.ID_ANY, u"Exit and save", wx.EmptyString, wx.ITEM_NORMAL) self.m_menuFile.Append(self.m_menuItemeExit) self.m_menubarMainFrame.Append(self.m_menuFile, u"File") self.m_menuHelp = wx.Menu() self.m_menuItemHelpAbout = wx.MenuItem(self.m_menuHelp, wx.ID_ANY, u"About...", wx.EmptyString, wx.ITEM_NORMAL) self.m_menuHelp.Append(self.m_menuItemHelpAbout) self.m_menubarMainFrame.Append(self.m_menuHelp, u"Help") self.SetMenuBar(self.m_menubarMainFrame) self.m_timerMedia = wx.Timer() self.m_timerMedia.SetOwner(self, wx.ID_ANY) self.m_timerMedia.Start(125) self.Centre(wx.BOTH) # Connect Events self.m_buttonPrevfile.Bind(wx.EVT_BUTTON, self.onBtnPrevFile) self.m_buttonPrev.Bind(wx.EVT_BUTTON, self.onBtnPrev) self.m_buttonPlay.Bind(wx.EVT_BUTTON, self.onBtnPlay) self.m_buttonPause.Bind(wx.EVT_BUTTON, self.onBtnPause) self.m_buttonNext.Bind(wx.EVT_BUTTON, self.onBtnNext) self.m_buttonNextFile.Bind(wx.EVT_BUTTON, self.onBtnNextFile) self.m_buttonEnterVidNum.Bind(wx.EVT_BUTTON, self.onBtnEnterVidNum) self.m_buttonLouder.Bind(wx.EVT_BUTTON, self.onBtnLouder) self.m_buttonSofter.Bind(wx.EVT_BUTTON, self.onBtnSofter) self.m_textCtrlEntry.Bind(wx.EVT_TEXT_ENTER, self.onTextCtrlEntry) self.m_listCtrlVidComments.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.onListCtrlActivated) self.Bind(wx.EVT_MENU, self.OnFileOpen, id=self.m_menuItemFileOpen.GetId()) self.Bind(wx.EVT_MENU, self.onFileSave, id=self.m_menuItemFileSave.GetId()) self.Bind(wx.EVT_MENU, self.onFileSaveAs, id=self.m_menuItemFileSaveAs.GetId()) self.Bind(wx.EVT_MENU, self.OnFileQuit, id=self.m_menuItemQuit.GetId()) self.Bind(wx.EVT_MENU, self.OnFileExit, id=self.m_menuItemeExit.GetId()) self.Bind(wx.EVT_MENU, self.onHelpAbout, id=self.m_menuItemHelpAbout.GetId()) self.Bind(wx.EVT_TIMER, self.onTimerMedia, id=wx.ID_ANY)
def __init__(self): wx.Frame.__init__(self, None, wx.ID_ANY, "Real-time saliency", size=(1100, 800)) self.SetMinClientSize((600, 400)) self.on_update = None panel = wx.Panel(self, wx.ID_ANY) self.img_viewer = ImgViewPanel(self) self.cls_viewer = ImgViewPanel(self) self.index = 0 self.list_ctrl = wx.ListCtrl(panel, style=wx.LC_REPORT) self.search_ctrl = wx.TextCtrl(panel, value="Search", size=(200, 25)) self.search_ctrl.Bind(wx.EVT_TEXT, self.on_search) self.list_ctrl.InsertColumn(0, "Class name", width=200) self.static_img_picker = wx.FilePickerCtrl(panel) self.static_img_picker.SetPath("Static img (optional)") self.slider_ctrl = wx.Slider( panel, value=4, minValue=-2, maxValue=11, style=wx.SL_MIN_MAX_LABELS | wx.SL_VALUE_LABEL, ) self.slider_ctrl.Bind(wx.EVT_SCROLL, self.on_slide) self.info = wx.StaticText(panel) self.info_ = wx.StaticText(panel, label="Confidence:") self.show_items_that_contain() btn = wx.Button(panel, label="Choose") btn.Bind(wx.EVT_BUTTON, self.choose_class) save_btn = wx.Button(panel, label="Save") save_btn.Bind(wx.EVT_BUTTON, self.save_imgs) hsizer = wx.BoxSizer(wx.HORIZONTAL) hsizer.Add(panel, 1, wx.ALL | wx.EXPAND, 5) hsizer.Add(self.img_viewer, 2, wx.ALL | wx.EXPAND, 5) self.SetSizer(hsizer) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.static_img_picker, 0, wx.EXPAND, 5) sizer.Add(self.info, 0, wx.ALL | wx.EXPAND, 5) sizer.Add(self.info_, 0, wx.TOP | wx.LEFT | wx.EXPAND, 5) sizer.Add(self.slider_ctrl, 0, wx.EXPAND, 0) sizer.Add(self.list_ctrl, 3, wx.ALL | wx.EXPAND, 5) sizer.Add(self.search_ctrl, 0, wx.ALL | wx.EXPAND, 5) btn_h_sizer = wx.BoxSizer(wx.HORIZONTAL) btn_h_sizer.Add(btn, 0, wx.ALL | wx.CENTER, 5) btn_h_sizer.Add(save_btn, 0, wx.ALL | wx.CENTER, 5) sizer.Add(btn_h_sizer, 0, wx.ALL | wx.CENTER, 0) sizer.Add(self.cls_viewer, 2, wx.ALL | wx.EXPAND, 5) panel.SetSizer(sizer) wx.CallLater(100, self.update)
def __init__(self, *args, **kwds): # begin wxGlade: All_Widgets_Frame.__init__ kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.SetSize((800, 417)) self.SetTitle(_("All Widgets")) _icon = wx.NullIcon _icon.CopyFromBitmap( wx.ArtProvider.GetBitmap(wx.ART_TIP, wx.ART_OTHER, (32, 32))) self.SetIcon(_icon) # Menu Bar self.All_Widgets_menubar = wx.MenuBar() global mn_IDUnix mn_IDUnix = wx.NewId() global mn_IDWindows mn_IDWindows = wx.NewId() wxglade_tmp_menu = wx.Menu() wxglade_tmp_menu.Append(wx.ID_OPEN, _("&Open"), _("Open an existing document")) wxglade_tmp_menu.Append(wx.ID_CLOSE, _("&Close file"), _("Close current document")) wxglade_tmp_menu.AppendSeparator() wxglade_tmp_menu.Append(wx.ID_EXIT, _("E&xit"), _("Finish program")) self.All_Widgets_menubar.Append(wxglade_tmp_menu, _("&File")) wxglade_tmp_menu = wx.Menu() self.All_Widgets_menubar.mn_Unix = wxglade_tmp_menu.Append( mn_IDUnix, _("Unix"), _("Use Unix line endings"), wx.ITEM_RADIO) self.Bind(wx.EVT_MENU, self.onSelectUnix, id=mn_IDUnix) self.All_Widgets_menubar.mn_Windows = wxglade_tmp_menu.Append( mn_IDWindows, _("Windows"), _("Use Windows line endings"), wx.ITEM_RADIO) self.Bind(wx.EVT_MENU, self.onSelectWindows, id=mn_IDWindows) wxglade_tmp_menu.AppendSeparator() self.All_Widgets_menubar.mn_RemoveTabs = wxglade_tmp_menu.Append( wx.ID_ANY, _("Remove Tabs"), _("Remove all leading tabs"), wx.ITEM_CHECK) self.Bind(wx.EVT_MENU, self.onRemoveTabs, self.All_Widgets_menubar.mn_RemoveTabs) self.All_Widgets_menubar.Append(wxglade_tmp_menu, _("&Edit")) wxglade_tmp_menu = wx.Menu() wxglade_tmp_menu.Append(wx.ID_HELP, _("Manual"), _("Show the application manual")) self.Bind(wx.EVT_MENU, self.onShowManual, id=wx.ID_HELP) wxglade_tmp_menu.AppendSeparator() wxglade_tmp_menu.Append(wx.ID_ABOUT, _("About"), _("Show the About dialog")) self.All_Widgets_menubar.Append(wxglade_tmp_menu, _("&Help")) self.SetMenuBar(self.All_Widgets_menubar) # Menu Bar end self.All_Widgets_statusbar = self.CreateStatusBar( 1, wx.STB_ELLIPSIZE_MIDDLE | wx.STB_SHOW_TIPS | wx.STB_SIZEGRIP) self.All_Widgets_statusbar.SetStatusWidths([-1]) # statusbar fields All_Widgets_statusbar_fields = [_("All Widgets statusbar")] for i in range(len(All_Widgets_statusbar_fields)): self.All_Widgets_statusbar.SetStatusText( All_Widgets_statusbar_fields[i], i) # Tool Bar self.All_Widgets_toolbar = wx.ToolBar(self, -1) self.All_Widgets_toolbar.AddLabelTool( wx.ID_UP, _("UpDown"), wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_OTHER, (32, 32)), wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_OTHER, (32, 32)), wx.ITEM_CHECK, _("Up or Down"), _("Up or Down")) self.All_Widgets_toolbar.AddLabelTool(wx.ID_OPEN, _("Open"), wx.EmptyBitmap(32, 32), wx.NullBitmap, wx.ITEM_NORMAL, _("Open a new file"), _("Open a new file")) self.SetToolBar(self.All_Widgets_toolbar) self.All_Widgets_toolbar.Realize() # Tool Bar end sizer_1 = wx.FlexGridSizer(3, 1, 0, 0) self.notebook_1 = wx.Notebook(self, wx.ID_ANY, style=wx.NB_BOTTOM) sizer_1.Add(self.notebook_1, 1, wx.EXPAND, 0) self.notebook_1_wxBitmapButton = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxBitmapButton, _("wxBitmapButton")) sizer_13 = wx.FlexGridSizer(2, 2, 0, 0) self.bitmap_button_icon1 = wx.BitmapButton( self.notebook_1_wxBitmapButton, wx.ID_ANY, wx.Bitmap("icon.png", wx.BITMAP_TYPE_ANY)) self.bitmap_button_icon1.SetSize( self.bitmap_button_icon1.GetBestSize()) self.bitmap_button_icon1.SetDefault() sizer_13.Add(self.bitmap_button_icon1, 1, wx.ALL | wx.EXPAND, 5) self.bitmap_button_empty1 = wx.BitmapButton( self.notebook_1_wxBitmapButton, wx.ID_ANY, wx.EmptyBitmap(10, 10)) self.bitmap_button_empty1.SetSize( self.bitmap_button_empty1.GetBestSize()) self.bitmap_button_empty1.SetDefault() sizer_13.Add(self.bitmap_button_empty1, 1, wx.ALL | wx.EXPAND, 5) self.bitmap_button_icon2 = wx.BitmapButton( self.notebook_1_wxBitmapButton, wx.ID_ANY, wx.Bitmap("icon.png", wx.BITMAP_TYPE_ANY), style=wx.BORDER_NONE | wx.BU_BOTTOM) self.bitmap_button_icon2.SetBitmapDisabled(wx.EmptyBitmap(32, 32)) self.bitmap_button_icon2.SetSize( self.bitmap_button_icon2.GetBestSize()) self.bitmap_button_icon2.SetDefault() sizer_13.Add(self.bitmap_button_icon2, 1, wx.ALL | wx.EXPAND, 5) self.bitmap_button_art = wx.BitmapButton( self.notebook_1_wxBitmapButton, wx.ID_ANY, wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_OTHER, (32, 32)), style=wx.BORDER_NONE | wx.BU_BOTTOM) self.bitmap_button_art.SetSize(self.bitmap_button_art.GetBestSize()) self.bitmap_button_art.SetDefault() sizer_13.Add(self.bitmap_button_art, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxButton = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxButton, _("wxButton")) sizer_28 = wx.BoxSizer(wx.HORIZONTAL) self.button_3 = wx.Button(self.notebook_1_wxButton, wx.ID_BOLD, "") sizer_28.Add(self.button_3, 0, wx.ALL, 5) self.notebook_1_wxCalendarCtrl = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxCalendarCtrl, _("wxCalendarCtrl")) sizer_12 = wx.BoxSizer(wx.HORIZONTAL) self.calendar_ctrl_1 = wx.calendar.CalendarCtrl( self.notebook_1_wxCalendarCtrl, wx.ID_ANY, style=wx.calendar.CAL_MONDAY_FIRST | wx.calendar.CAL_SEQUENTIAL_MONTH_SELECTION | wx.calendar.CAL_SHOW_SURROUNDING_WEEKS | wx.calendar.CAL_SHOW_WEEK_NUMBERS) sizer_12.Add(self.calendar_ctrl_1, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxGenericCalendarCtrl = wx.Panel( self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxGenericCalendarCtrl, _("wxGenericCalendarCtrl")) sizer_27 = wx.BoxSizer(wx.HORIZONTAL) self.generic_calendar_ctrl_1 = wx.calendar.GenericCalendarCtrl( self.notebook_1_wxGenericCalendarCtrl, wx.ID_ANY, style=wx.calendar.CAL_MONDAY_FIRST) sizer_27.Add(self.generic_calendar_ctrl_1, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxCheckBox = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxCheckBox, _("wxCheckBox")) sizer_21 = wx.GridSizer(2, 3, 0, 0) self.checkbox_1 = wx.CheckBox(self.notebook_1_wxCheckBox, wx.ID_ANY, _("one (unchecked)")) sizer_21.Add(self.checkbox_1, 0, wx.EXPAND, 0) self.checkbox_2 = wx.CheckBox(self.notebook_1_wxCheckBox, wx.ID_ANY, _("two (checked)")) self.checkbox_2.SetValue(1) sizer_21.Add(self.checkbox_2, 0, wx.EXPAND, 0) self.checkbox_3 = wx.CheckBox(self.notebook_1_wxCheckBox, wx.ID_ANY, _("three"), style=wx.CHK_2STATE) sizer_21.Add(self.checkbox_3, 0, wx.EXPAND, 0) self.checkbox_4 = wx.CheckBox(self.notebook_1_wxCheckBox, wx.ID_ANY, _("four (unchecked)"), style=wx.CHK_3STATE) self.checkbox_4.Set3StateValue(wx.CHK_UNCHECKED) sizer_21.Add(self.checkbox_4, 0, wx.EXPAND, 0) self.checkbox_5 = wx.CheckBox(self.notebook_1_wxCheckBox, wx.ID_ANY, _("five (checked)"), style=wx.CHK_3STATE | wx.CHK_ALLOW_3RD_STATE_FOR_USER) self.checkbox_5.Set3StateValue(wx.CHK_CHECKED) sizer_21.Add(self.checkbox_5, 0, wx.EXPAND, 0) self.checkbox_6 = wx.CheckBox(self.notebook_1_wxCheckBox, wx.ID_ANY, _("six (undetermined)"), style=wx.CHK_3STATE | wx.CHK_ALLOW_3RD_STATE_FOR_USER) self.checkbox_6.Set3StateValue(wx.CHK_UNDETERMINED) sizer_21.Add(self.checkbox_6, 0, wx.EXPAND, 0) self.notebook_1_wxCheckListBox = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxCheckListBox, _("wxCheckListBox")) sizer_26 = wx.BoxSizer(wx.HORIZONTAL) self.check_list_box_1 = wx.CheckListBox( self.notebook_1_wxCheckListBox, wx.ID_ANY, choices=[_("one"), _("two"), _("three"), _("four")]) self.check_list_box_1.SetSelection(2) sizer_26.Add(self.check_list_box_1, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxChoice = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxChoice, _("wxChoice")) sizer_5 = wx.BoxSizer(wx.HORIZONTAL) self.choice_empty = wx.Choice(self.notebook_1_wxChoice, wx.ID_ANY, choices=[]) sizer_5.Add(self.choice_empty, 1, wx.ALL, 5) self.choice_filled = wx.Choice( self.notebook_1_wxChoice, wx.ID_ANY, choices=[_("Item 1"), _("Item 2 (pre-selected)")]) self.choice_filled.SetSelection(1) sizer_5.Add(self.choice_filled, 1, wx.ALL, 5) self.notebook_1_wxComboBox = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxComboBox, _("wxComboBox")) sizer_6 = wx.BoxSizer(wx.VERTICAL) sizer_7 = wx.BoxSizer(wx.HORIZONTAL) sizer_6.Add(sizer_7, 1, wx.EXPAND, 0) self.combo_box_empty = wx.ComboBox(self.notebook_1_wxComboBox, wx.ID_ANY, choices=[], style=0) sizer_7.Add(self.combo_box_empty, 1, wx.ALL, 5) self.combo_box_filled = wx.ComboBox( self.notebook_1_wxComboBox, wx.ID_ANY, choices=[_("Item 1 (pre-selected)"), _("Item 2")], style=0) self.combo_box_filled.SetSelection(0) sizer_7.Add(self.combo_box_filled, 1, wx.ALL, 5) self.notebook_1_wxDatePickerCtrl = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxDatePickerCtrl, _("wxDatePickerCtrl")) sizer_17 = wx.BoxSizer(wx.HORIZONTAL) self.datepicker_ctrl_1 = wx.DatePickerCtrl( self.notebook_1_wxDatePickerCtrl, wx.ID_ANY, style=wx.DP_SHOWCENTURY) sizer_17.Add(self.datepicker_ctrl_1, 1, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) self.notebook_1_wxGauge = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxGauge, _("wxGauge")) sizer_15 = wx.BoxSizer(wx.HORIZONTAL) self.gauge_1 = wx.Gauge(self.notebook_1_wxGauge, wx.ID_ANY, 20) sizer_15.Add(self.gauge_1, 1, wx.ALL, 5) self.notebook_1_wxGrid = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxGrid, _("wxGrid")) sizer_19 = wx.BoxSizer(wx.HORIZONTAL) self.grid_1 = wx.grid.Grid(self.notebook_1_wxGrid, wx.ID_ANY, size=(1, 1)) self.grid_1.CreateGrid(10, 3) self.grid_1.SetSelectionMode(wx.grid.Grid.SelectColumns) self.grid_1.SetColLabelValue(1, _("B\nB")) sizer_19.Add(self.grid_1, 1, wx.EXPAND, 0) self.notebook_1_wxHyperlinkCtrl = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxHyperlinkCtrl, _("wxHyperlinkCtrl")) sizer_20 = wx.BoxSizer(wx.HORIZONTAL) self.hyperlink_1 = wx.HyperlinkCtrl(self.notebook_1_wxHyperlinkCtrl, wx.ID_ANY, _("Homepage wxGlade"), _("http://wxglade.sf.net")) sizer_20.Add(self.hyperlink_1, 0, wx.ALL, 5) self.notebook_1_wxListBox = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxListBox, _("wxListBox")) sizer_4 = wx.BoxSizer(wx.VERTICAL) self.list_box_empty = wx.ListBox(self.notebook_1_wxListBox, wx.ID_ANY, choices=[], style=0) sizer_4.Add(self.list_box_empty, 1, wx.ALL | wx.EXPAND, 5) self.list_box_filled = wx.ListBox( self.notebook_1_wxListBox, wx.ID_ANY, choices=[_("Item 1"), _("Item 2 (pre-selected)")], style=wx.LB_MULTIPLE | wx.LB_SORT) self.list_box_filled.SetSelection(1) sizer_4.Add(self.list_box_filled, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxListCtrl = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxListCtrl, _("wxListCtrl")) sizer_3 = wx.BoxSizer(wx.HORIZONTAL) self.list_ctrl_1 = wx.ListCtrl(self.notebook_1_wxListCtrl, wx.ID_ANY, style=wx.BORDER_SUNKEN | wx.LC_REPORT) sizer_3.Add(self.list_ctrl_1, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxPropertyGridManager = wx.Panel( self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxPropertyGridManager, _("wxPropertyGridManager")) sizer_34 = wx.BoxSizer(wx.HORIZONTAL) self.property_grid_2 = wx.propgrid.PropertyGridManager( self.notebook_1_wxPropertyGridManager, wx.ID_ANY, style=wx.propgrid.PG_ALPHABETIC_MODE) sizer_34.Add(self.property_grid_2, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxRadioBox = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxRadioBox, _("wxRadioBox")) grid_sizer_1 = wx.GridSizer(2, 2, 0, 0) self.radio_box_empty1 = wx.RadioBox(self.notebook_1_wxRadioBox, wx.ID_ANY, _("radio_box_empty1"), choices=[""], majorDimension=1, style=wx.RA_SPECIFY_ROWS) grid_sizer_1.Add(self.radio_box_empty1, 1, wx.ALL | wx.EXPAND, 5) self.radio_box_filled1 = wx.RadioBox(self.notebook_1_wxRadioBox, wx.ID_ANY, _("radio_box_filled1"), choices=[ _("choice 1"), _("choice 2 (pre-selected)"), _("choice 3") ], majorDimension=0, style=wx.RA_SPECIFY_ROWS) self.radio_box_filled1.SetSelection(1) grid_sizer_1.Add(self.radio_box_filled1, 1, wx.ALL | wx.EXPAND, 5) self.radio_box_empty2 = wx.RadioBox(self.notebook_1_wxRadioBox, wx.ID_ANY, _("radio_box_empty2"), choices=[""], majorDimension=1, style=wx.RA_SPECIFY_COLS) grid_sizer_1.Add(self.radio_box_empty2, 1, wx.ALL | wx.EXPAND, 5) self.radio_box_filled2 = wx.RadioBox( self.notebook_1_wxRadioBox, wx.ID_ANY, _("radio_box_filled2"), choices=[_("choice 1"), _("choice 2 (pre-selected)")], majorDimension=0, style=wx.RA_SPECIFY_COLS) self.radio_box_filled2.SetSelection(1) grid_sizer_1.Add(self.radio_box_filled2, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxRadioButton = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxRadioButton, _("wxRadioButton")) sizer_8 = wx.StaticBoxSizer( wx.StaticBox(self.notebook_1_wxRadioButton, wx.ID_ANY, _("My RadioButton Group")), wx.HORIZONTAL) grid_sizer_2 = wx.FlexGridSizer(3, 2, 0, 0) sizer_8.Add(grid_sizer_2, 1, wx.EXPAND, 0) self.radio_btn_1 = wx.RadioButton(self.notebook_1_wxRadioButton, wx.ID_ANY, _("Alice"), style=wx.RB_GROUP) grid_sizer_2.Add(self.radio_btn_1, 1, wx.ALL | wx.EXPAND, 5) self.text_ctrl_1 = wx.TextCtrl(self.notebook_1_wxRadioButton, wx.ID_ANY, "") grid_sizer_2.Add(self.text_ctrl_1, 1, wx.ALL | wx.EXPAND, 5) self.radio_btn_2 = wx.RadioButton(self.notebook_1_wxRadioButton, wx.ID_ANY, _("Bob")) grid_sizer_2.Add(self.radio_btn_2, 1, wx.ALL | wx.EXPAND, 5) self.text_ctrl_2 = wx.TextCtrl(self.notebook_1_wxRadioButton, wx.ID_ANY, "") grid_sizer_2.Add(self.text_ctrl_2, 1, wx.ALL | wx.EXPAND, 5) self.radio_btn_3 = wx.RadioButton(self.notebook_1_wxRadioButton, wx.ID_ANY, _("Malroy")) grid_sizer_2.Add(self.radio_btn_3, 1, wx.ALL | wx.EXPAND, 5) self.text_ctrl_3 = wx.TextCtrl(self.notebook_1_wxRadioButton, wx.ID_ANY, "") grid_sizer_2.Add(self.text_ctrl_3, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxSlider = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxSlider, _("wxSlider")) sizer_22 = wx.BoxSizer(wx.HORIZONTAL) self.slider_1 = wx.Slider(self.notebook_1_wxSlider, wx.ID_ANY, 5, 0, 10, style=0) sizer_22.Add(self.slider_1, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxSpinButton = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxSpinButton, _("wxSpinButton (with wxTextCtrl)")) sizer_16 = wx.BoxSizer(wx.HORIZONTAL) self.tc_spin_button = wx.TextCtrl(self.notebook_1_wxSpinButton, wx.ID_ANY, _("1"), style=wx.TE_RIGHT) sizer_16.Add(self.tc_spin_button, 1, wx.ALL, 5) self.spin_button = wx.SpinButton(self.notebook_1_wxSpinButton, wx.ID_ANY) sizer_16.Add(self.spin_button, 1, wx.ALL, 5) self.notebook_1_wxSpinCtrl = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxSpinCtrl, _("wxSpinCtrl")) sizer_14 = wx.BoxSizer(wx.HORIZONTAL) self.spin_ctrl_1 = wx.SpinCtrl(self.notebook_1_wxSpinCtrl, wx.ID_ANY, "4", min=0, max=100, style=wx.ALIGN_RIGHT | wx.SP_ARROW_KEYS) sizer_14.Add(self.spin_ctrl_1, 1, wx.ALL, 5) self.notebook_1_wxSplitterWindow_horizontal = wx.ScrolledWindow( self.notebook_1, wx.ID_ANY, style=wx.TAB_TRAVERSAL) self.notebook_1_wxSplitterWindow_horizontal.SetScrollRate(10, 10) self.notebook_1.AddPage(self.notebook_1_wxSplitterWindow_horizontal, _("wxSplitterWindow (horizontally)")) sizer_29 = wx.BoxSizer(wx.HORIZONTAL) self.splitter_1 = wx.SplitterWindow( self.notebook_1_wxSplitterWindow_horizontal, wx.ID_ANY, style=0) self.splitter_1.SetBackgroundColour(wx.Colour(255, 0, 0)) self.splitter_1.SetMinimumPaneSize(20) sizer_29.Add(self.splitter_1, 1, wx.ALL | wx.EXPAND, 5) self.splitter_1_pane_1 = wx.Panel(self.splitter_1, wx.ID_ANY) sizer_30 = wx.BoxSizer(wx.HORIZONTAL) self.label_top_pane = wx.StaticText(self.splitter_1_pane_1, wx.ID_ANY, _("top pane")) sizer_30.Add(self.label_top_pane, 1, wx.ALL | wx.EXPAND, 5) self.splitter_1_pane_2 = wx.Panel(self.splitter_1, wx.ID_ANY) sizer_31 = wx.BoxSizer(wx.HORIZONTAL) self.label_buttom_pane = wx.StaticText(self.splitter_1_pane_2, wx.ID_ANY, _("bottom pane")) sizer_31.Add(self.label_buttom_pane, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxSplitterWindow_vertical = wx.ScrolledWindow( self.notebook_1, wx.ID_ANY, style=wx.TAB_TRAVERSAL) self.notebook_1_wxSplitterWindow_vertical.SetScrollRate(10, 10) self.notebook_1.AddPage(self.notebook_1_wxSplitterWindow_vertical, _("wxSplitterWindow (vertically)")) sizer_25 = wx.BoxSizer(wx.HORIZONTAL) self.splitter_2 = wx.SplitterWindow( self.notebook_1_wxSplitterWindow_vertical, wx.ID_ANY, style=0) self.splitter_2.SetMinimumPaneSize(20) sizer_25.Add(self.splitter_2, 1, wx.ALL | wx.EXPAND, 5) self.splitter_2_pane_1 = wx.Panel(self.splitter_2, wx.ID_ANY) sizer_32 = wx.BoxSizer(wx.VERTICAL) self.label_left_pane = wx.StaticText(self.splitter_2_pane_1, wx.ID_ANY, _("left pane")) sizer_32.Add(self.label_left_pane, 1, wx.ALL | wx.EXPAND, 5) self.splitter_2_pane_2 = wx.Panel(self.splitter_2, wx.ID_ANY) sizer_33 = wx.BoxSizer(wx.VERTICAL) self.label_right_pane = wx.StaticText(self.splitter_2_pane_2, wx.ID_ANY, _("right pane")) sizer_33.Add(self.label_right_pane, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxStaticBitmap = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxStaticBitmap, _("wxStaticBitmap")) sizer_11 = wx.BoxSizer(wx.VERTICAL) self.bitmap_empty = wx.StaticBitmap(self.notebook_1_wxStaticBitmap, wx.ID_ANY, wx.EmptyBitmap(32, 32)) sizer_11.Add(self.bitmap_empty, 1, wx.ALL | wx.EXPAND, 5) self.bitmap_file = wx.StaticBitmap( self.notebook_1_wxStaticBitmap, wx.ID_ANY, wx.Bitmap("icon.png", wx.BITMAP_TYPE_ANY)) sizer_11.Add(self.bitmap_file, 1, wx.ALL | wx.EXPAND, 5) self.bitmap_nofile = wx.StaticBitmap( self.notebook_1_wxStaticBitmap, wx.ID_ANY, wx.Bitmap("non-existing.bmp", wx.BITMAP_TYPE_ANY)) sizer_11.Add(self.bitmap_nofile, 1, wx.ALL | wx.EXPAND, 5) self.bitmap_art = wx.StaticBitmap( self.notebook_1_wxStaticBitmap, wx.ID_ANY, wx.ArtProvider.GetBitmap(wx.ART_PRINT, wx.ART_OTHER, (32, 32))) sizer_11.Add(self.bitmap_art, 1, wx.ALL | wx.EXPAND, 5) self.bitmap_null = wx.StaticBitmap(self.notebook_1_wxStaticBitmap, wx.ID_ANY, wx.NullBitmap) sizer_11.Add(self.bitmap_null, 1, wx.ALL | wx.EXPAND, 5) self.bitmap_null_sized = wx.StaticBitmap( self.notebook_1_wxStaticBitmap, wx.ID_ANY, wx.EmptyBitmap(50, 50)) self.bitmap_null_sized.SetMinSize((50, 50)) sizer_11.Add(self.bitmap_null_sized, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxStaticLine = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxStaticLine, _("wxStaticLine")) sizer_9 = wx.BoxSizer(wx.VERTICAL) sizer_10 = wx.BoxSizer(wx.HORIZONTAL) sizer_9.Add(sizer_10, 1, wx.EXPAND, 0) self.static_line_2 = wx.StaticLine(self.notebook_1_wxStaticLine, wx.ID_ANY, style=wx.LI_VERTICAL) sizer_10.Add(self.static_line_2, 1, wx.ALL | wx.EXPAND, 5) self.static_line_3 = wx.StaticLine(self.notebook_1_wxStaticLine, wx.ID_ANY, style=wx.LI_VERTICAL) sizer_10.Add(self.static_line_3, 1, wx.ALL | wx.EXPAND, 5) self.static_line_4 = wx.StaticLine(self.notebook_1_wxStaticLine, wx.ID_ANY) sizer_9.Add(self.static_line_4, 1, wx.ALL | wx.EXPAND, 5) self.static_line_5 = wx.StaticLine(self.notebook_1_wxStaticLine, wx.ID_ANY) sizer_9.Add(self.static_line_5, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxStaticText = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxStaticText, _("wxStaticText")) grid_sizer_3 = wx.FlexGridSizer(1, 3, 0, 0) self.label_1 = wx.StaticText(self.notebook_1_wxStaticText, wx.ID_ANY, _("red text (RGB)"), style=wx.ALIGN_CENTER_HORIZONTAL) self.label_1.SetForegroundColour(wx.Colour(255, 0, 0)) grid_sizer_3.Add(self.label_1, 1, wx.ALL | wx.EXPAND, 5) self.label_4 = wx.StaticText(self.notebook_1_wxStaticText, wx.ID_ANY, _("black on red (RGB)"), style=wx.ALIGN_CENTER_HORIZONTAL) self.label_4.SetBackgroundColour(wx.Colour(255, 0, 0)) self.label_4.SetToolTip( wx.ToolTip( _("Background colour won't show, check documentation for more details" ))) grid_sizer_3.Add(self.label_4, 1, wx.ALL | wx.EXPAND, 5) self.label_5 = wx.StaticText(self.notebook_1_wxStaticText, wx.ID_ANY, _("green on pink (RGB)"), style=wx.ALIGN_CENTER_HORIZONTAL) self.label_5.SetBackgroundColour(wx.Colour(255, 0, 255)) self.label_5.SetForegroundColour(wx.Colour(0, 255, 0)) self.label_5.SetToolTip( wx.ToolTip( _("Background colour won't show, check documentation for more details" ))) grid_sizer_3.Add(self.label_5, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_Spacer = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_Spacer, _("Spacer")) grid_sizer_4 = wx.FlexGridSizer(1, 3, 0, 0) self.label_3 = wx.StaticText(self.notebook_1_Spacer, wx.ID_ANY, _("Two labels with a")) grid_sizer_4.Add(self.label_3, 1, wx.ALL | wx.EXPAND, 5) grid_sizer_4.Add((60, 20), 1, wx.ALL | wx.EXPAND, 5) self.label_2 = wx.StaticText(self.notebook_1_Spacer, wx.ID_ANY, _("spacer between")) grid_sizer_4.Add(self.label_2, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxTextCtrl = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxTextCtrl, _("wxTextCtrl")) sizer_18 = wx.BoxSizer(wx.HORIZONTAL) self.text_ctrl = wx.TextCtrl(self.notebook_1_wxTextCtrl, wx.ID_ANY, _("This\nis\na\nmultiline\nwxTextCtrl"), style=wx.TE_CHARWRAP | wx.TE_MULTILINE | wx.TE_WORDWRAP) sizer_18.Add(self.text_ctrl, 1, wx.ALL | wx.EXPAND, 5) self.notebook_1_wxToggleButton = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxToggleButton, _("wxToggleButton")) sizer_23 = wx.BoxSizer(wx.HORIZONTAL) self.button_2 = wx.ToggleButton(self.notebook_1_wxToggleButton, wx.ID_ANY, _("Toggle Button 1")) sizer_23.Add(self.button_2, 1, wx.ALL, 5) self.button_4 = wx.ToggleButton(self.notebook_1_wxToggleButton, wx.ID_ANY, _("Toggle Button 2"), style=wx.BU_BOTTOM | wx.BU_EXACTFIT) sizer_23.Add(self.button_4, 1, wx.ALL, 5) self.notebook_1_wxTreeCtrl = wx.Panel(self.notebook_1, wx.ID_ANY) self.notebook_1.AddPage(self.notebook_1_wxTreeCtrl, _("wxTreeCtrl")) sizer_24 = wx.BoxSizer(wx.HORIZONTAL) self.tree_ctrl_1 = wx.TreeCtrl(self.notebook_1_wxTreeCtrl, wx.ID_ANY, style=0) sizer_24.Add(self.tree_ctrl_1, 1, wx.ALL | wx.EXPAND, 5) self.static_line_1 = wx.StaticLine(self, wx.ID_ANY) sizer_1.Add(self.static_line_1, 0, wx.ALL | wx.EXPAND, 5) sizer_2 = wx.FlexGridSizer(1, 2, 0, 0) sizer_1.Add(sizer_2, 0, wx.ALIGN_RIGHT, 0) self.button_5 = wx.Button(self, wx.ID_CLOSE, "") sizer_2.Add(self.button_5, 0, wx.ALIGN_RIGHT | wx.ALL, 5) self.button_1 = wx.Button(self, wx.ID_OK, "", style=wx.BU_TOP) sizer_2.Add(self.button_1, 0, wx.ALIGN_RIGHT | wx.ALL, 5) self.notebook_1_wxTreeCtrl.SetSizer(sizer_24) self.notebook_1_wxToggleButton.SetSizer(sizer_23) self.notebook_1_wxTextCtrl.SetSizer(sizer_18) self.notebook_1_Spacer.SetSizer(grid_sizer_4) self.notebook_1_wxStaticText.SetSizer(grid_sizer_3) self.notebook_1_wxStaticLine.SetSizer(sizer_9) self.notebook_1_wxStaticBitmap.SetSizer(sizer_11) self.splitter_2_pane_2.SetSizer(sizer_33) self.splitter_2_pane_1.SetSizer(sizer_32) self.splitter_2.SplitVertically(self.splitter_2_pane_1, self.splitter_2_pane_2) self.notebook_1_wxSplitterWindow_vertical.SetSizer(sizer_25) self.splitter_1_pane_2.SetSizer(sizer_31) self.splitter_1_pane_1.SetSizer(sizer_30) self.splitter_1.SplitHorizontally(self.splitter_1_pane_1, self.splitter_1_pane_2) self.notebook_1_wxSplitterWindow_horizontal.SetSizer(sizer_29) self.notebook_1_wxSpinCtrl.SetSizer(sizer_14) self.notebook_1_wxSpinButton.SetSizer(sizer_16) self.notebook_1_wxSlider.SetSizer(sizer_22) self.notebook_1_wxRadioButton.SetSizer(sizer_8) self.notebook_1_wxRadioBox.SetSizer(grid_sizer_1) self.notebook_1_wxPropertyGridManager.SetSizer(sizer_34) self.notebook_1_wxListCtrl.SetSizer(sizer_3) self.notebook_1_wxListBox.SetSizer(sizer_4) self.notebook_1_wxHyperlinkCtrl.SetSizer(sizer_20) self.notebook_1_wxGrid.SetSizer(sizer_19) self.notebook_1_wxGauge.SetSizer(sizer_15) self.notebook_1_wxDatePickerCtrl.SetSizer(sizer_17) self.notebook_1_wxComboBox.SetSizer(sizer_6) self.notebook_1_wxChoice.SetSizer(sizer_5) self.notebook_1_wxCheckListBox.SetSizer(sizer_26) self.notebook_1_wxCheckBox.SetSizer(sizer_21) self.notebook_1_wxGenericCalendarCtrl.SetSizer(sizer_27) self.notebook_1_wxCalendarCtrl.SetSizer(sizer_12) self.notebook_1_wxButton.SetSizer(sizer_28) sizer_13.AddGrowableRow(0) sizer_13.AddGrowableRow(1) sizer_13.AddGrowableCol(0) sizer_13.AddGrowableCol(1) self.notebook_1_wxBitmapButton.SetSizer(sizer_13) sizer_1.AddGrowableRow(0) sizer_1.AddGrowableCol(0) self.SetSizer(sizer_1) sizer_1.SetSizeHints(self) self.Layout() self.Centre() self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.OnNotebookPageChanged, self.notebook_1) self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING, self.OnNotebookPageChanging, self.notebook_1) self.Bind(wx.EVT_NAVIGATION_KEY, self.OnBitmapButtonPanelNavigationKey) self.Bind(wx.EVT_BUTTON, self.onStartConverting, self.button_1)
def __init__(self): self.ttimer = 40 self.conf = Conf() self.home = self.conf.home self.currentpath = self.home + self.conf.get( 'GENERAL', 'op_folder') + '/openplotter' try: self.ser = serial.Serial(self.conf.get('N2K', 'can_usb'), 115200, timeout=0.5) except: print 'failed to start N2K input diagnostic on ' + self.conf.get( 'N2K', 'can_usb') sys.exit(0) Language(self.conf) list_N2K_txt = [] self.list_N2K = [] with open(self.currentpath + '/classes/N2K_PGN.csv') as f: list_N2K_txt = [x.strip('\n\r').split(',') for x in f.readlines()] for ii in list_N2K_txt: pgn = int(ii[0]) self.list_N2K.append([pgn, ii[1]]) self.Buffer = [0] * 500 self.Zustand = 6 self.list_iter = [] wx.Frame.__init__(self, None, title='diagnostic N2K input', size=(650, 435)) self.Bind(wx.EVT_CLOSE, self.OnClose) panel = wx.Panel(self, wx.ID_ANY) self.timer = wx.Timer(self) self.Bind(wx.EVT_TIMER, self.timer_act, self.timer) self.SetFont( wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)) self.icon = wx.Icon(self.currentpath + '/openplotter.ico', wx.BITMAP_TYPE_ICO) self.SetIcon(self.icon) self.list = wx.ListCtrl(panel, -1, style=wx.LC_REPORT | wx.SUNKEN_BORDER) self.list.InsertColumn(0, _('PGN'), wx.LIST_FORMAT_RIGHT, width=62) self.list.InsertColumn(1, _('SRC'), wx.LIST_FORMAT_RIGHT, width=38) self.list.InsertColumn(2, _('DST'), wx.LIST_FORMAT_RIGHT, width=38) self.list.InsertColumn(3, _('Name'), width=180) self.list.InsertColumn(4, _('Interval'), wx.LIST_FORMAT_RIGHT, width=45) self.list.InsertColumn(5, _('Data'), width=350) sort_SRC = wx.Button(panel, label=_('Sort SRC')) sort_SRC.Bind(wx.EVT_BUTTON, self.on_sort_SRC) sort_PGN = wx.Button(panel, label=_('Sort PGN')) sort_PGN.Bind(wx.EVT_BUTTON, self.on_sort_PGN) hlistbox = wx.BoxSizer(wx.HORIZONTAL) hlistbox.Add(self.list, 1, wx.ALL | wx.EXPAND, 5) hbox = wx.BoxSizer(wx.HORIZONTAL) hbox.Add(sort_SRC, 0, wx.RIGHT | wx.LEFT, 5) hbox.Add(sort_PGN, 0, wx.RIGHT | wx.LEFT, 5) vbox = wx.BoxSizer(wx.VERTICAL) vbox.Add(hlistbox, 1, wx.ALL | wx.EXPAND, 0) vbox.Add(hbox, 0, wx.ALL | wx.EXPAND, 0) panel.SetSizer(vbox) self.CreateStatusBar() self.Show(True) self.status = '' self.data = [] self.baudc = 0 self.baud = 0 self.timer.Start(self.ttimer)
def __init__(self, *args, **kw): self.wxobj = args[0] self.verbose = self.wxobj.verbose from wx.lib.buttons import GenBitmapTextButton bmp = wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN, wx.ART_OTHER, (16, 16)) wx.Dialog.__init__(self, None, title="Dataset Dialog") self.ID_DONE = wx.NewId() self.SetSize((900, 800)) self.SetTitle("Please select files for the second condition.") mainSizer = wx.BoxSizer(wx.VERTICAL) self.SetSizer(mainSizer) warningText = """ The Genetic Interactions method requires a total of four sets of datasets. Typically these are 2 strain backgrounds (e.g. Wildtype and Knockout) each grown under two conditions (e.g. in vitro and in vivo, or rich-media and presence of antibiotic). The Control and Experimental datasets added in the main TRANSIT interface are assumed to be the two strain backgrounds grown under the first condition. This interface allows you to add the remaining datasets for the second condition. """ warningStaticBox = wx.StaticText(self, wx.ID_ANY, warningText, (-1, -1), (-1, -1), wx.EXPAND) warningStaticBox.Wrap(800) mainSizer.Add(warningStaticBox, flag=wx.CENTER, border=5) # CONTROL ctrlSizerB = wx.StaticBoxSizer( wx.StaticBox(self, wx.ID_ANY, u"Control Samples - Condition B"), wx.VERTICAL) bSizer2 = wx.BoxSizer(wx.HORIZONTAL) self.ctrlRemoveButton = wx.Button(self, wx.ID_ANY, u"Remove", wx.DefaultPosition, (96, -1), 0) bSizer2.Add(self.ctrlRemoveButton, 0, wx.ALL, 5) self.ctrlView = wx.Button(self, wx.ID_ANY, u"Track View", wx.DefaultPosition, wx.DefaultSize, 0) self.ctrlView.Hide() bSizer2.Add(self.ctrlView, 0, wx.ALL, 5) self.ctrlScatter = wx.Button(self, wx.ID_ANY, u"Scatter", wx.DefaultPosition, wx.DefaultSize, 0) self.ctrlScatter.Hide() bSizer2.Add(self.ctrlScatter, 0, wx.ALL, 5) self.ctrlFilePicker = GenBitmapTextButton( self, 1, bmp, '[Click to add Control Dataset(s)]', size=wx.Size(500, -1)) bSizer2.Add(self.ctrlFilePicker, 1, wx.ALIGN_CENTER_VERTICAL, 5) ctrlSizerB.Add(bSizer2, 0, wx.EXPAND, 5) self.list_ctrl = wx.ListCtrl(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_REPORT | wx.SUNKEN_BORDER) self.list_ctrl.SetMaxSize(wx.Size(940, 200)) ctrlSizerB.Add(self.list_ctrl, 1, wx.ALL | wx.EXPAND, 5) # EXPERIMENTAL expSizerB = wx.StaticBoxSizer( wx.StaticBox(self, wx.ID_ANY, u"Experimental Samples - Condition B"), wx.VERTICAL) bSizer3 = wx.BoxSizer(wx.HORIZONTAL) self.expRemoveButton = wx.Button(self, wx.ID_ANY, u"Remove", wx.DefaultPosition, (96, -1), 0) bSizer3.Add(self.expRemoveButton, 0, wx.ALL, 5) self.expView = wx.Button(self, wx.ID_ANY, u"Track View", wx.DefaultPosition, wx.DefaultSize, 0) self.expView.Hide() bSizer3.Add(self.expView, 0, wx.ALL, 5) self.expScatter = wx.Button(self, wx.ID_ANY, u"Scatter", wx.DefaultPosition, wx.DefaultSize, 0) self.expScatter.Hide() bSizer3.Add(self.expScatter, 0, wx.ALL, 5) self.expFilePicker = GenBitmapTextButton( self, 1, bmp, '[Click to add Experimental Dataset(s)]', size=wx.Size(500, -1)) bSizer3.Add(self.expFilePicker, 1, wx.ALIGN_CENTER_VERTICAL, 5) expSizerB.Add(bSizer3, 0, wx.EXPAND, 5) self.list_exp = wx.ListCtrl(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_REPORT | wx.SUNKEN_BORDER) self.list_exp.SetMaxSize(wx.Size(940, 200)) expSizerB.Add(self.list_exp, 1, wx.ALL | wx.EXPAND, 5) # MAIN mainSizer.Add(ctrlSizerB, 1, wx.EXPAND, 5) mainSizer.Add(expSizerB, 1, wx.EXPAND, 5) button_sizer = wx.BoxSizer(wx.HORIZONTAL) doneButton = wx.Button(self, self.ID_DONE, label='Done') cancelButton = wx.Button(self, wx.ID_CANCEL, label='Cancel') button_sizer.Add(doneButton, flag=wx.LEFT, border=5) button_sizer.Add(cancelButton, flag=wx.LEFT, border=5) self.expFilePicker.Bind(wx.EVT_BUTTON, self.loadExpFileFunc) self.ctrlFilePicker.Bind(wx.EVT_BUTTON, self.loadCtrlFileFunc) mainSizer.Add(button_sizer, flag=wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, border=10) doneButton.Bind(wx.EVT_BUTTON, self.OnClose) cancelButton.Bind(wx.EVT_BUTTON, self.OnClose) self.ctrlFilePicker.Bind(wx.EVT_BUTTON, self.loadCtrlFileFunc) self.expFilePicker.Bind(wx.EVT_BUTTON, self.loadExpFileFunc) self.ctrlRemoveButton.Bind(wx.EVT_BUTTON, self.ctrlRemoveFunc) self.expRemoveButton.Bind(wx.EVT_BUTTON, self.expRemoveFunc) self.index_ctrl = 0 self.list_ctrl.InsertColumn(0, 'File', width=210) self.list_ctrl.InsertColumn(1, 'Total Reads', width=85) self.list_ctrl.InsertColumn(2, 'Density', width=85) self.list_ctrl.InsertColumn(3, 'Mean Count', width=90) self.list_ctrl.InsertColumn(4, 'Max Count', width=85) self.list_ctrl.InsertColumn(5, 'Full Path', width=403) self.index_exp = 0 self.list_exp.InsertColumn(0, 'File', width=210) self.list_exp.InsertColumn(1, 'Total Reads', width=85) self.list_exp.InsertColumn(2, 'Density', width=85) self.list_exp.InsertColumn(3, 'Mean Count', width=90) self.list_exp.InsertColumn(4, 'Max Count', width=85) self.list_exp.InsertColumn(5, 'Full Path', width=403)
def __init__(self, title): wx.Frame.__init__(self, None, title=title, size=(500, 600)) self.CreateStatusBar() menuBar = wx.MenuBar() filemenu = wx.Menu() menuBar.Append(filemenu, "&File") menuAbout = filemenu.Append(wx.ID_ABOUT, "&About", " Information about this program") filemenu.AppendSeparator() menuQuit = filemenu.Append(wx.ID_EXIT, "Q&uit", " Terminate the program") self.Bind(wx.EVT_MENU, self.OnAbout, menuAbout) self.Bind(wx.EVT_MENU, self.onQuit, menuQuit) self.SetMenuBar(menuBar) panel = wx.Panel(self) codeSizer = wx.BoxSizer(wx.HORIZONTAL) labelText = wx.StaticText(panel, label="Stock Code:") codeSizer.Add(labelText, 0, wx.ALIGN_BOTTOM) codeSizer.Add((10, 10)) addressText = wx.TextCtrl(panel, value='AAPL') addressText.SetSize(addressText.GetBestFittingSize()) codeSizer.Add(addressText) #self.addressText.Layout() #self.control.Show(True) self.list = wx.ListCtrl(panel, wx.NewId(), style=wx.LC_REPORT) self.list.InsertColumn(0, "Symbol") self.list.InsertColumn(1, "Name") self.list.InsertColumn(2, "Last Trade") pos = self.list.InsertStringItem(0, "--") self.list.SetStringItem(pos, 1, "loading...") self.list.SetStringItem(pos, 2, "--") self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnClick, self.list) vsizer = wx.BoxSizer(wx.VERTICAL) vsizer.Add(codeSizer, 0, wx.ALL, 10) vsizer.Add(self.list, -1, wx.ALL | wx.EXPAND, 10) #panel.SetSizer(self.sizer) hsizer = wx.BoxSizer(wx.HORIZONTAL) hsizer.Add((10, 10)) buttonQuit = wx.Button(panel, -1, "Quit") self.Bind(wx.EVT_BUTTON, self.onQuit, buttonQuit) buttonQuit.SetDefault() hsizer.Add(buttonQuit, 1) buttonRefresh = wx.Button(panel, -1, "Refresh") self.Bind(wx.EVT_BUTTON, self.onRefresh, buttonRefresh) hsizer.Add(buttonRefresh, 1) #self.buttonGroupSizer.Layout() #self.buttonGroupSizer.Fit(self) vsizer.Add(hsizer, 0, wx.ALIGN_BOTTOM) #self.sizer.Layout() #vsizer.Fit(self) #self.buttonGroupSizer.Fit(self) ###self.SetSizer(self.buttonGroupSizer) panel.SetSizerAndFit(vsizer) panel.Layout() #self.Show(True) '''frameSizer = wx.BoxSizer(wx.VERTICAL)
def __init__(self, parent, ID, title): wx.Frame.__init__(self, parent, ID, title, wx.DefaultPosition, wx.Size(800, 400)) # 生成一个列表 self.list = wx.ListCtrl(self, -1, size=(800, 300), style=wx.LC_REPORT | wx.LC_HRULES | wx.LC_VRULES) self.list.InsertColumn(0, u"编号") self.list.InsertColumn(1, u"题目") self.list.InsertColumn(2, u"配伍穴位") self.list.InsertColumn(3, u"录入者") # 设置各列的宽度 self.list.SetColumnWidth(0, 150) self.list.SetColumnWidth(1, 250) self.list.SetColumnWidth(2, 250) self.list.SetColumnWidth(3, 100) # 添加一组按钮,实现增删改查,用一个panel来管理该组按钮的布局 self.panel = wx.Panel(self, pos=(0, 300), size=(400, 100)) # 定义一组按钮 # base information of database table_list = ['Acupoint', 'Information'] self.qName = wx.StaticText(self.panel, -1, "DataBase:", pos=(10, 15), size=(60, 30)) self.qName0 = wx.TextCtrl(self.panel, -1, value='Acupuncture', pos=(80, 15), style=wx.TE_READONLY | wx.TE_CENTER, size=(80, -1)) self.qName1 = wx.StaticText(self.panel, -1, "Table:", pos=(180, 15)) self.qName0 = wx.TextCtrl(self.panel, -1, value='Information', pos=(230, 15), style=wx.TE_READONLY | wx.TE_CENTER, size=(80, -1)) # 操作按钮 add_button = wx.Button(self.panel, label=u"添加", pos=(10, 50), size=(60, 30)) # , size = (75, 30) del_button = wx.Button(self.panel, label=u"删除", pos=(110, 50), size=(60, 30)) # , size = (75, 30) update_button = wx.Button(self.panel, label=u"修改", pos=(210, 50), size=(60, 30)) # , size = (75, 30) query_button = wx.Button(self.panel, label=u"查看", pos=(310, 50), size=(60, 30)) # , size = (75, 30) # 为按钮绑定相应事件函数 self.Bind(wx.EVT_BUTTON, self.add_data, add_button) self.Bind(wx.EVT_BUTTON, self.delete, del_button) self.Bind(wx.EVT_BUTTON, self.modify, update_button) self.Bind(wx.EVT_BUTTON, self.select_data, query_button) self.sizer = wx.BoxSizer(wx.VERTICAL) self.sizer.Add(self.list, 3, wx.EXPAND) self.sizer.Add(self.panel, 1, wx.EXPAND | wx.ALL) self.SetSizer(self.sizer) self.Fit() # 添加数据库操作对象 self.dbhelper = Infoact() datas = self.dbhelper.getAll() for j in range(len(datas)): data = datas[j] index = self.list.InsertStringItem(sys.maxint, data[0]) # self.list.SetStringItem(index, 1, str(data[0])) self.list.SetStringItem(index, 1, data[1]) self.list.SetStringItem(index, 2, data[2]) self.list.SetStringItem(index, 3, data[3])
def _init_ctrls(self, prnt): # generated method, don't edit wx.Frame.__init__(self, id=wxID_KEJADIAN_LAIN, name=u'kejadian_lain', parent=prnt, pos=wx.Point(300, 64), size=wx.Size(888, 639), style=wx.FRAME_NO_TASKBAR, title=u'Peristiwa Lain Kependudukan') self.SetClientSize(wx.Size(888, 639)) self.Center(wx.BOTH) self.label_nomor_kk = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_NOMOR_KK, label=u'Nomor KK', name=u'label_nomor_kk', parent=self, pos=wx.Point(8, 152), size=wx.Size(168, 17), style=0) self.input_no_kk = wx.TextCtrl(id=wxID_KEJADIAN_LAININPUT_NO_KK, name=u'input_no_kk', parent=self, pos=wx.Point(8, 168), size=wx.Size(240, 25), style=0, value=u'') self.input_alamat = wx.TextCtrl(id=wxID_KEJADIAN_LAININPUT_ALAMAT, name=u'input_alamat', parent=self, pos=wx.Point(272, 168), size=wx.Size(288, 25), style=0, value=u'') self.input_dusun = wx.TextCtrl(id=wxID_KEJADIAN_LAININPUT_DUSUN, name=u'input_dusun', parent=self, pos=wx.Point(592, 168), size=wx.Size(280, 25), style=0, value=u'') self.label_alamat = wx.StaticText(id=wxID_KEJADIAN_LAINLABEL_ALAMAT, label=u'Alamat', name=u'label_alamat', parent=self, pos=wx.Point(272, 152), size=wx.Size(47, 17), style=0) self.label_dusun = wx.StaticText(id=wxID_KEJADIAN_LAINLABEL_DUSUN, label=u'Dusun - RT - RW', name=u'label_dusun', parent=self, pos=wx.Point(592, 152), size=wx.Size(144, 17), style=0) self.photo = wx.StaticBitmap(bitmap=wx.Bitmap( '/opt/sidesa/png/photo.png', wx.BITMAP_TYPE_PNG), id=wxID_KEJADIAN_LAINPHOTO, name=u'photo', parent=self, pos=wx.Point(16, 200), size=wx.Size(110, 140), style=0) self.pilihphoto = wx.FilePickerCtrl( id=wxID_KEJADIAN_LAINPILIHPHOTO, name=u'pilihphoto', parent=self, pos=wx.Point(16, 344), size=wx.Size(170, 30), style=wx.FLP_OPEN | wx.FLP_FILE_MUST_EXIST | wx.FLP_USE_TEXTCTRL) self.input_nik = wx.TextCtrl(id=wxID_KEJADIAN_LAININPUT_NIK, name=u'input_nik', parent=self, pos=wx.Point(192, 208), size=wx.Size(200, 25), style=0, value=u'') self.lebel_nik = wx.StaticText(id=wxID_KEJADIAN_LAINLEBEL_NIK, label=u'N I K *', name=u'lebel_nik', parent=self, pos=wx.Point(192, 192), size=wx.Size(40, 17), style=0) self.label_nama_lengkap = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_NAMA_LENGKAP, label=u'Nama Lengkap', name=u'label_nama_lengkap', parent=self, pos=wx.Point(192, 232), size=wx.Size(98, 17), style=0) self.input_nama = wx.TextCtrl(id=wxID_KEJADIAN_LAININPUT_NAMA, name=u'input_nama', parent=self, pos=wx.Point(192, 248), size=wx.Size(200, 25), style=0, value=u'') self.label_jenis_kelamin = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_JENIS_KELAMIN, label=u'Jenis Kelamin', name=u'label_jenis_kelamin', parent=self, pos=wx.Point(192, 272), size=wx.Size(152, 17), style=0) self.input_tempat_lahir = wx.TextCtrl( id=wxID_KEJADIAN_LAININPUT_TEMPAT_LAHIR, name=u'input_tempat_lahir', parent=self, pos=wx.Point(192, 328), size=wx.Size(200, 25), style=0, value=u'') self.pilihan_jenis_kelamin = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_JENIS_KELAMIN, name=u'pilihan_jenis_kelamin', parent=self, pos=wx.Point(192, 288), size=wx.Size(200, 27), style=0, value=u'') self.label_tempat_lahir = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_TEMPAT_LAHIR, label=u'Tempat Lahir', name=u'label_tempat_lahir', parent=self, pos=wx.Point(192, 312), size=wx.Size(176, 17), style=0) self.label_tanggal_lahir = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_TANGGAL_LAHIR, label=u'Tanggal Lahir', name=u'label_tanggal_lahir', parent=self, pos=wx.Point(192, 352), size=wx.Size(152, 17), style=0) self.label_golongan_darah = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_GOLONGAN_DARAH, label=u'Golongan Darah', name=u'label_golongan_darah', parent=self, pos=wx.Point(192, 392), size=wx.Size(200, 17), style=0) self.pilihan_golongan_darah = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_GOLONGAN_DARAH, name=u'pilihan_golongan_darah', parent=self, pos=wx.Point(192, 408), size=wx.Size(80, 25), style=0, value=u'') self.label_agama = wx.StaticText(id=wxID_KEJADIAN_LAINLABEL_AGAMA, label=u'Agama', name=u'label_agama', parent=self, pos=wx.Point(400, 192), size=wx.Size(120, 17), style=0) self.pilihan_agama = wx.TextCtrl(id=wxID_KEJADIAN_LAINPILIHAN_AGAMA, name=u'pilihan_agama', parent=self, pos=wx.Point(400, 208), size=wx.Size(216, 25), style=0, value=u'') self.label_kewarganegaraan = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_KEWARGANEGARAAN, label=u'Kewarganegaraan', name=u'label_kewarganegaraan', parent=self, pos=wx.Point(400, 232), size=wx.Size(168, 17), style=0) self.pilihan_warganegara = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_WARGANEGARA, name=u'pilihan_warganegara', parent=self, pos=wx.Point(400, 248), size=wx.Size(216, 25), style=0, value=u'') self.label_pendidikan_terakhir = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_PENDIDIKAN_TERAKHIR, label=u'Pendidikan Terakhir', name=u'label_pendidikan_terakhir', parent=self, pos=wx.Point(400, 272), size=wx.Size(184, 17), style=0) self.pilihan_pendidikan_terakhir = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_PENDIDIKAN_TERAKHIR, name=u'pilihan_pendidikan_terakhir', parent=self, pos=wx.Point(400, 288), size=wx.Size(216, 25), style=0, value=u'') self.label_pendidikan_tempuh = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_PENDIDIKAN_TEMPUH, label=u'Pendidikan Saat Ini Ditempuh', name=u'label_pendidikan_tempuh', parent=self, pos=wx.Point(400, 312), size=wx.Size(264, 17), style=0) self.pilihan_pendidikan_ditempuh = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_PENDIDIKAN_DITEMPUH, name=u'pilihan_pendidikan_ditempuh', parent=self, pos=wx.Point(400, 328), size=wx.Size(216, 25), style=0) self.label_pekerjaan = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_PEKERJAAN, label=u'Pekerjaan Utama', name=u'label_pekerjaan', parent=self, pos=wx.Point(400, 352), size=wx.Size(200, 17), style=0) self.pilihan_pekerjaan = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_PEKERJAAN, name=u'pilihan_pekerjaan', parent=self, pos=wx.Point(400, 370), size=wx.Size(216, 25), style=0, value=u'') self.label_pekerjaan_lainnya = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_PEKERJAAN_LAINNYA, label=u'Pekerjaan Lainnya', name=u'label_pekerjaan_lainnya', parent=self, pos=wx.Point(400, 392), size=wx.Size(168, 17), style=0) self.label_status_perkawinan = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_STATUS_PERKAWINAN, label=u'Status Perkawinan', name=u'label_status_perkawinan', parent=self, pos=wx.Point(624, 192), size=wx.Size(176, 17), style=0) self.pilihan_status = wx.TextCtrl(id=wxID_KEJADIAN_LAINPILIHAN_STATUS, name=u'pilihan_status', parent=self, pos=wx.Point(624, 208), size=wx.Size(248, 25), style=0) self.label_status_kependudukan = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_STATUS_KEPENDUDUKAN, label=u'Status Kependudukan', name=u'label_status_kependudukan', parent=self, pos=wx.Point(624, 232), size=wx.Size(184, 17), style=0) self.pilihan_status_kependudukan = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_STATUS_KEPENDUDUKAN, name=u'pilihan_status_kependudukan', parent=self, pos=wx.Point(624, 248), size=wx.Size(248, 25), style=0, value=u'') self.label_status_tinggal = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_STATUS_TINGGAL, label=u'Status Tinggal', name=u'label_status_tinggal', parent=self, pos=wx.Point(624, 272), size=wx.Size(152, 17), style=0) self.pilihan_status_tinggal = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_STATUS_TINGGAL, name=u'pilihan_status_tinggal', parent=self, pos=wx.Point(624, 288), size=wx.Size(248, 25), style=0, value=u'') self.pilihan_status_tinggal.Bind( wx.EVT_COMBOBOX, self.OnPilihan_status_tinggalCombobox, id=wxID_KEJADIAN_LAINPILIHAN_STATUS_TINGGAL) self.label_difabelitas = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_DIFABELITAS, label=u'Penyandang Difabelitas', name=u'label_difabelitas', parent=self, pos=wx.Point(624, 312), size=wx.Size(184, 17), style=0) self.pilihan_difabelitas = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_DIFABELITAS, name=u'pilihan_difabelitas', parent=self, pos=wx.Point(624, 328), size=wx.Size(248, 25), style=0, value=u'') self.pilihan_difabelitas.Bind(wx.EVT_COMBOBOX, self.OnPilihan_difabelitasCombobox, id=wxID_KEJADIAN_LAINPILIHAN_DIFABELITAS) self.label_kontrasepsi = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_KONTRASEPSI, label=u'Penggunaan Kontrasepsi', name=u'label_kontrasepsi', parent=self, pos=wx.Point(624, 352), size=wx.Size(192, 17), style=0) self.pilihan_kontrasepsi = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_KONTRASEPSI, name=u'pilihan_kontrasepsi', parent=self, pos=wx.Point(624, 368), size=wx.Size(248, 25), style=0, value=u'') self.pilihan_kontrasepsi.Bind(wx.EVT_COMBOBOX, self.OnPilihan_kontrasepsiCombobox, id=wxID_KEJADIAN_LAINPILIHAN_KONTRASEPSI) self.label_shdk = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_SHDK, label=u'Status Hubungan Dalam Keluarga', name=u'label_shdk', parent=self, pos=wx.Point(24, 536), size=wx.Size(320, 17), style=0) self.pilihan_shdk = wx.TextCtrl(id=wxID_KEJADIAN_LAINPILIHAN_SHDK, name=u'pilihan_shdk', parent=self, pos=wx.Point(24, 560), size=wx.Size(304, 25), style=0, value=u'') self.label_nama_ayah = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_NAMA_AYAH, label=u'Nama Ayah', name=u'label_nama_ayah', parent=self, pos=wx.Point(344, 536), size=wx.Size(152, 17), style=0) self.input_ayah = wx.TextCtrl(id=wxID_KEJADIAN_LAININPUT_AYAH, name=u'input_ayah', parent=self, pos=wx.Point(344, 560), size=wx.Size(280, 25), style=0, value=u'') self.label_nama_ibu = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_NAMA_IBU, label=u'Nama Ibu', name=u'label_nama_ibu', parent=self, pos=wx.Point(632, 536), size=wx.Size(160, 17), style=0) self.input_ibu = wx.TextCtrl(id=wxID_KEJADIAN_LAININPUT_IBU, name=u'input_ibu', parent=self, pos=wx.Point(632, 560), size=wx.Size(240, 25), style=0, value=u'') self.label_resiko_kehamilan = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_RESIKO_KEHAMILAN, label=u'Resiko Kehamilan', name=u'label_resiko_kehamilan', parent=self, pos=wx.Point(624, 392), size=wx.Size(176, 17), style=0) self.pilihan_kehamilan = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_KEHAMILAN, name=u'pilihan_kehamilan', parent=self, pos=wx.Point(624, 408), size=wx.Size(248, 25), style=0, value=u'') self.pilihan_pekerjaan_lainnya = wx.TextCtrl( id=wxID_KEJADIAN_LAINPILIHAN_PEKERJAAN_LAINNYA, name=u'pilihan_pekerjaan_lainnya', parent=self, pos=wx.Point(400, 408), size=wx.Size(216, 25), style=0, value=u'') self.tanggal_lahir = wx.TextCtrl(id=wxID_KEJADIAN_LAINTANGGAL_LAHIR, name=u'tanggal_lahir', parent=self, pos=wx.Point(192, 368), size=wx.Size(200, 26), style=0, value=u'') self.tombol_tambah_data = wx.Button( id=wxID_KEJADIAN_LAINTOMBOL_TAMBAH_DATA, label=u'Tambah Data', name=u'tombol_tambah_data', parent=self, pos=wx.Point(128, 600), size=wx.Size(200, 32), style=0) self.tombol_tambah_data.Bind(wx.EVT_BUTTON, self.OnTombol_tambah_dataButton, id=wxID_KEJADIAN_LAINTOMBOL_TAMBAH_DATA) self.tombol_tambah_kembali = wx.Button( id=wxID_KEJADIAN_LAINTOMBOL_TAMBAH_KEMBALI, label=u'Tambah Dan Keluar', name=u'tombol_tambah_kembali', parent=self, pos=wx.Point(344, 600), size=wx.Size(224, 32), style=0) self.tombol_tambah_kembali.Bind( wx.EVT_BUTTON, self.OnTombol_tambah_kembaliButton, id=wxID_KEJADIAN_LAINTOMBOL_TAMBAH_KEMBALI) self.kembali = wx.Button(id=wxID_KEJADIAN_LAINKEMBALI, label=u'Kembali Ke Menu', name=u'kembali', parent=self, pos=wx.Point(584, 600), size=wx.Size(208, 32), style=0) self.kembali.Bind(wx.EVT_BUTTON, self.OnKembaliButton, id=wxID_KEJADIAN_LAINKEMBALI) self.cek_akta_lahir = wx.CheckBox(id=wxID_KEJADIAN_LAINCEK_AKTA_LAHIR, label=u'Akta Kelahiran', name=u'cek_akta_lahir', parent=self, pos=wx.Point(16, 456), size=wx.Size(208, 24), style=0) self.cek_akta_lahir.SetValue(False) self.dokumen = wx.StaticText(id=wxID_KEJADIAN_LAINDOKUMEN, label=u'Kepemilikan Dokumen', name=u'dokumen', parent=self, pos=wx.Point(24, 440), size=wx.Size(304, 17), style=0) self.cek_akta_nikah = wx.CheckBox(id=wxID_KEJADIAN_LAINCEK_AKTA_NIKAH, label=u'Akta Nikah', name=u'cek_akta_nikah', parent=self, pos=wx.Point(16, 472), size=wx.Size(160, 40), style=0) self.cek_akta_nikah.SetValue(False) self.cek_akta_cerai = wx.CheckBox(id=wxID_KEJADIAN_LAINCEK_AKTA_CERAI, label=u'Akta Cerai', name=u'cek_akta_cerai', parent=self, pos=wx.Point(16, 496), size=wx.Size(200, 32), style=0) self.cek_akta_cerai.SetValue(False) self.cek_akta_kematian = wx.CheckBox( id=wxID_KEJADIAN_LAINCEK_AKTA_KEMATIAN, label=u'Akta Kematian', name=u'cek_akta_kematian', parent=self, pos=wx.Point(152, 456), size=wx.Size(184, 24), style=0) self.cek_akta_kematian.SetValue(False) self.cek_ktp = wx.CheckBox(id=wxID_KEJADIAN_LAINCEK_KTP, label=u'KTP Sementara', name=u'cek_ktp', parent=self, pos=wx.Point(152, 480), size=wx.Size(128, 24), style=0) self.cek_ktp.SetValue(False) self.cek_kitas = wx.CheckBox(id=wxID_KEJADIAN_LAINCEK_KITAS, label=u'KITAS', name=u'cek_kitas', parent=self, pos=wx.Point(152, 496), size=wx.Size(144, 32), style=0) self.cek_kitas.SetValue(False) self.cek_visa = wx.CheckBox(id=wxID_KEJADIAN_LAINCEK_VISA, label=u'Visa', name=u'cek_visa', parent=self, pos=wx.Point(288, 448), size=wx.Size(100, 40), style=0) self.cek_visa.SetValue(False) self.cek_pasport = wx.CheckBox(id=wxID_KEJADIAN_LAINCEK_PASPORT, label=u'Pasport', name=u'cek_pasport', parent=self, pos=wx.Point(288, 472), size=wx.Size(100, 40), style=0) self.cek_pasport.SetValue(False) self.label_data_penduduk = wx.StaticText( id=wxID_KEJADIAN_LAINLABEL_DATA_PENDUDUK, label=u'FORM DATA PERISTIWA PENTING PENDUDUK', name=u'label_data_penduduk', parent=self, pos=wx.Point(288, 0), size=wx.Size(300, 17), style=0) self.daftar = wx.ListCtrl(id=wxID_KEJADIAN_LAINDAFTAR, name=u'daftar', parent=self, pos=wx.Point(16, 16), size=wx.Size(856, 104), style=wx.LC_REPORT) self._init_coll_daftar_Columns(self.daftar) self.staticText1 = wx.StaticText(id=wxID_KEJADIAN_LAINSTATICTEXT1, label=u'Nama Penduduk', name='staticText1', parent=self, pos=wx.Point(400, 128), size=wx.Size(145, 15), style=0) self.textCtrl1 = wx.TextCtrl(id=wxID_KEJADIAN_LAINTEXTCTRL1, name='textCtrl1', parent=self, pos=wx.Point(552, 128), size=wx.Size(224, 24), style=0, value='') self.button1 = wx.Button(id=wxID_KEJADIAN_LAINBUTTON1, label=u'Cari', name='button1', parent=self, pos=wx.Point(784, 128), size=wx.Size(85, 24), style=0) self.staticText2 = wx.StaticText(id=wxID_KEJADIAN_LAINSTATICTEXT2, label=u'Tanggal Peristiwa', name='staticText2', parent=self, pos=wx.Point(400, 448), size=wx.Size(117, 15), style=0) self.staticText3 = wx.StaticText(id=wxID_KEJADIAN_LAINSTATICTEXT3, label=u'Petugas ', name='staticText3', parent=self, pos=wx.Point(400, 472), size=wx.Size(208, 15), style=0) self.staticText4 = wx.StaticText(id=wxID_KEJADIAN_LAINSTATICTEXT4, label=u'Catatan Kejadian', name='staticText4', parent=self, pos=wx.Point(400, 504), size=wx.Size(123, 15), style=0) self.petugas_kematian = wx.TextCtrl( id=wxID_KEJADIAN_LAINPETUGAS_KEMATIAN, name=u'petugas_kematian', parent=self, pos=wx.Point(592, 472), size=wx.Size(264, 24), style=0, value='') self.datePickerCtrl1 = wx.DatePickerCtrl( id=wxID_KEJADIAN_LAINDATEPICKERCTRL1, name='datePickerCtrl1', parent=self, pos=wx.Point(592, 440), size=wx.Size(264, 24), style=wx.DP_SHOWCENTURY) self.kejadian_lain = wx.TextCtrl(id=wxID_KEJADIAN_LAINKEJADIAN_LAIN, name=u'kejadian_lain', parent=self, pos=wx.Point(592, 504), size=wx.Size(264, 24), style=0, value='')
def __init__(self, parent=None): """ initializes the frame display """ wx.Frame.__init__( self, parent, id=wx.ID_ANY, title=u"LICENCE PLATE RECOGNITION SYSTEM, MUK 2018/2019", pos=wx.DefaultPosition, size=wx.Size(800, 800), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.Size(800, 800), wx.Size(800, 800)) self.menubar = wx.MenuBar(0) self.menu_file = wx.Menu() self.menuitem_openfile = wx.MenuItem(self.menu_file, wx.ID_ANY, u"Select Image", wx.EmptyString, wx.ITEM_NORMAL) self.menu_file.AppendItem(self.menuitem_openfile) self.menubar.Append(self.menu_file, u"File") self.SetMenuBar(self.menubar) fgSizer1 = wx.FlexGridSizer(2, 1, 0, 0) fgSizer1.SetFlexibleDirection(wx.BOTH) fgSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.panel_main = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(800, 450), wx.TAB_TRAVERSAL) self.panel_main.SetBackgroundColour(wx.Colour(255, 255, 255)) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) gbSizer1.SetMinSize(wx.Size(800, 450)) self.text_filepathlabel = wx.StaticText(self.panel_main, wx.ID_ANY, u"File Path:", wx.DefaultPosition, wx.DefaultSize, 0) #self.text_filepathlabel.Wrap( -1 ) self.text_filepathlabel.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString)) gbSizer1.Add(self.text_filepathlabel, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.text_filepath = wx.StaticText(self.panel_main, wx.ID_ANY, u"No image file choosen", wx.DefaultPosition, wx.DefaultSize, 0) self.text_filepath.Wrap(-1) gbSizer1.Add(self.text_filepath, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.panel_imagearea = wx.Panel(self.panel_main, wx.ID_ANY, wx.DefaultPosition, wx.Size(800, 330), wx.TAB_TRAVERSAL) self.bSizer3 = wx.BoxSizer(wx.VERTICAL) self.bSizer3.SetMinSize(wx.Size(800, 330)) self.text_placeholder = wx.StaticText(self.panel_imagearea, wx.ID_ANY, u"No image to display", wx.DefaultPosition, wx.DefaultSize, 0) self.text_placeholder.Wrap(-1) self.text_placeholder.SetFont( wx.Font(16, 70, 90, 92, False, wx.EmptyString)) self.bSizer3.Add(self.text_placeholder, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.panel_imagearea.SetSizer(self.bSizer3) self.panel_imagearea.Layout() gbSizer1.Add(self.panel_imagearea, wx.GBPosition(1, 0), wx.GBSpan(1, 2), wx.EXPAND | wx.ALL, 5) fgSizer2 = wx.FlexGridSizer(0, 3, 0, 0) fgSizer2.SetFlexibleDirection(wx.BOTH) fgSizer2.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.btn_remove = wx.Button(self.panel_main, wx.ID_ANY, u"Remove Image", wx.DefaultPosition, wx.Size(-1, 40), 0) fgSizer2.Add(self.btn_remove, 0, wx.ALL, 5) self.btn_execute = wx.Button(self.panel_main, wx.ID_ANY, u"Run ALPR", wx.DefaultPosition, wx.Size(-1, 40), 0) fgSizer2.Add(self.btn_execute, 0, wx.ALL, 5) self.btn_save = wx.Button(self.panel_main, wx.ID_ANY, u"Save", wx.DefaultPosition, wx.Size(-1, 40), 0) self.enable_or_disable_buttons( [self.btn_save, self.btn_execute, self.btn_remove], False) fgSizer2.Add(self.btn_save, 0, wx.ALL, 5) gbSizer1.Add(fgSizer2, wx.GBPosition(2, 0), wx.GBSpan(1, 2), wx.ALIGN_CENTER, 5) self.panel_main.SetSizer(gbSizer1) self.panel_main.Layout() fgSizer1.Add(self.panel_main, 1, wx.EXPAND | wx.ALL, 5) self.panel_result = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(800, 350), wx.TAB_TRAVERSAL) self.panel_result.SetBackgroundColour(wx.Colour(255, 255, 255)) bSizer5 = wx.BoxSizer(wx.VERTICAL) bSizer5.SetMinSize(wx.Size(800, -1)) self.m_staticText7 = wx.StaticText(self.panel_result, wx.ID_ANY, u"PLATES IDENTIFIED", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText7.Wrap(-1) self.m_staticText7.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, True, wx.EmptyString)) bSizer5.Add(self.m_staticText7, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.listResult = wx.ListCtrl(self.panel_result, wx.ID_ANY, size=wx.Size(750, -1), style=wx.LC_REPORT | wx.BORDER_SUNKEN) self.listResult.InsertColumn(0, 'PLATE TEXT', width=100) self.listResult.InsertColumn(1, 'OWNER', width=200) self.listResult.InsertColumn(2, 'ISSUE DATE', width=100) self.listResult.InsertColumn(3, 'EXPIRY DATE', width=100) self.listResult.InsertColumn(4, 'CHASIS', width=100) self.listResult.InsertColumn(5, 'TYPE', width=100) bSizer5.Add(self.listResult, 1, wx.ALIGN_CENTER | wx.ALL, 5) self.panel_result.SetSizer(bSizer5) self.panel_result.Layout() fgSizer1.Add(self.panel_result, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(fgSizer1) self.Layout() self.Centre(wx.BOTH) self.scrollwindow_action = wx.ScrolledWindow(self.panel_imagearea, wx.ID_ANY) self.scrollwindow_action.SetScrollbars(1, 1, 1, 1) self.scrollwindow_action.SetScrollRate(5, 5) self.scrollwindow_action.SetMinSize(wx.Size(800, 330)) self.scrollwindow_action.SetMaxSize(wx.Size(800, 330)) self.scrollwindow_action.Hide() self.bSizer3.Add(self.scrollwindow_action, 0, wx.ALL, 5) # Connect Events self.Bind(wx.EVT_MENU, self.open_image_menu, id=self.menuitem_openfile.GetId()) self.btn_remove.Bind(wx.EVT_BUTTON, self.remove_image) self.btn_execute.Bind(wx.EVT_BUTTON, full.execute_ALPR) #the currentState is a property to check if the placeholder #text is showing or an image is showing #1 is the first state that indicates that the placeholder is showing self.currentState = 1
def __init__(self, data, opsys): """ NOTE constructor:: with 'None' not depend from videomass. With 'parent, -1' if close videomass also close mediainfo window """ self.data = data get = wx.GetApp() # get data from bootstrap colorscheme = get.appset['icontheme'][1] wx.Dialog.__init__(self, None, style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER) # Add widget controls self.url_select = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_SINGLE_SEL) self.textctrl = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_MULTILINE | wx.TE_READONLY | wx.TE_RICH2) self.textctrl.SetBackgroundColour(colorscheme['BACKGRD']) self.textctrl.SetDefaultStyle(wx.TextAttr(colorscheme['TXT3'])) button_close = wx.Button(self, wx.ID_CLOSE, "") # ----------------------Properties----------------------# self.SetTitle(_('Statistics viewer')) self.SetMinSize((640, 400)) self.url_select.SetMinSize((640, 200)) self.url_select.InsertColumn(0, _('TITLE SELECTION'), width=250) self.url_select.InsertColumn(1, _('URL'), width=500) self.textctrl.SetMinSize((640, 300)) if opsys == 'Darwin': self.url_select.SetFont( wx.Font(12, wx.MODERN, wx.NORMAL, wx.NORMAL)) self.textctrl.SetFont(wx.Font(12, wx.MODERN, wx.NORMAL, wx.BOLD)) else: self.url_select.SetFont(wx.Font(9, wx.MODERN, wx.NORMAL, wx.NORMAL)) self.textctrl.SetFont(wx.Font(9, wx.MODERN, wx.NORMAL, wx.NORMAL)) # ----------------------Layout--------------------------# sizer_1 = wx.BoxSizer(wx.VERTICAL) sizer_1.Add(self.url_select, 0, wx.ALL | wx.EXPAND, 5) grid_sizer_1 = wx.GridSizer(1, 1, 0, 0) sizer_1.Add(grid_sizer_1, 1, wx.EXPAND, 0) grid_sizer_1.Add(self.textctrl, 0, wx.ALL | wx.EXPAND, 5) grid_buttons = wx.GridSizer(1, 1, 0, 0) grid_buttons.Add(button_close, 1, wx.ALL, 5) sizer_1.Add(grid_buttons, flag=wx.ALIGN_RIGHT | wx.RIGHT, border=0) self.SetSizer(sizer_1) sizer_1.Fit(self) self.Layout() index = 0 for url in self.data: self.url_select.InsertItem(index, str(url['title'])) self.url_select.SetItem(index, 1, url['url']) index += 1 # ----------------------Binding (EVT)----------------------# self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.on_select, self.url_select) self.Bind(wx.EVT_BUTTON, self.on_close, button_close) self.Bind(wx.EVT_CLOSE, self.on_close) self.url_select.Focus(0) # make first line the current line selected self.url_select.Select(0, on=1) # default event selection
def __init__(self, parent, owner, items=None): style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER | wx.WANTS_CHARS wx.Dialog.__init__(self, parent, -1, _("Toolbar editor"), style=style) # menu item fields self.label = wx.TextCtrl(self, wx.ID_ANY, "") self.bitmap1 = wx.TextCtrl(self, wx.ID_ANY, "") self.bitmap2 = wx.TextCtrl(self, wx.ID_ANY, "") self.handler = wx.TextCtrl(self, wx.ID_ANY, "") self.short_help = wx.TextCtrl(self, wx.ID_ANY, "") self.long_help = wx.TextCtrl(self, wx.ID_ANY, "") self.id = wx.TextCtrl(self, wx.ID_ANY, "") self.type = wx.RadioBox(self, wx.ID_ANY, "Type", choices=["Normal", "Checkable", "Radio"], majorDimension=1, style=wx.RA_SPECIFY_COLS) # dialog action buttons; these will be handled, instead of using stock OK/Cancel buttons self.ok = wx.Button(self, wx.ID_ANY, "OK") self.cancel = wx.Button(self, wx.ID_ANY, "Cancel") # editor action buttons self.move_up = wx.Button(self, wx.ID_ANY, "Up") self.move_down = wx.Button(self, wx.ID_ANY, "Down") self.add = wx.Button(self, wx.ID_ANY, "&Add") self.remove = wx.Button(self, wx.ID_ANY, "&Remove") self.add_sep = wx.Button(self, wx.ID_ANY, "Add Separator") self.bitmap1_button = wx.Button(self, wx.ID_ANY, "...") self.bitmap2_button = wx.Button(self, wx.ID_ANY, "...") self.items = wx.ListCtrl(self, wx.ID_ANY, style=wx.BORDER_DEFAULT | wx.BORDER_SUNKEN | wx.LC_EDIT_LABELS | wx.LC_REPORT | wx.LC_SINGLE_SEL) self.__do_layout() self._set_tooltips() self.Bind(wx.EVT_TEXT, self.on_label_edited, self.label) self.Bind(wx.EVT_TEXT, self.on_event_handler_edited, self.handler) self.Bind(wx.EVT_TEXT, self.on_help_str_edited, self.short_help) self.Bind(wx.EVT_TEXT, self.on_long_help_str_edited, self.long_help) self.Bind(wx.EVT_TEXT, self.on_id_edited, self.id) self.Bind(wx.EVT_RADIOBOX, self.on_type_edited, self.type) self.Bind(wx.EVT_BUTTON, self.move_item_up, self.move_up) self.Bind(wx.EVT_BUTTON, self.move_item_down, self.move_down) self.Bind(wx.EVT_BUTTON, self.add_item, self.add) self.Bind(wx.EVT_BUTTON, self.remove_item, self.remove) self.Bind(wx.EVT_BUTTON, self.add_separator, self.add_sep) self.Bind(wx.EVT_BUTTON, self.on_cancel, self.cancel) self.Bind(wx.EVT_BUTTON, self.on_OK, self.ok) self.Bind(wx.EVT_BUTTON, self.select_bitmap1, self.bitmap1_button) self.Bind(wx.EVT_BUTTON, self.select_bitmap2, self.bitmap2_button) self.Bind(wx.EVT_TEXT, self.on_bitmap1_edited, self.bitmap1) self.Bind(wx.EVT_TEXT, self.on_bitmap2_edited, self.bitmap2) self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.show_item, self.items) self.Bind(wx.EVT_CHAR_HOOK, self.on_char) self.remove.Bind( wx.EVT_CHAR_HOOK, self.on_button_char ) # to ignore the Enter key while the focus is on Remove self.owner = owner self.items.Bind( wx.EVT_MOUSEWHEEL, lambda e: e.Skip()) # workaround to make the scroll wheel work... for c, header in enumerate(self.headers): self.items.InsertColumn(c, _(header)) self.items.SetColumnWidth(c, self.column_widths[c]) self.SetSize((900, 600)) import re self.handler_re = self.name_re = re.compile( r'^[a-zA-Z_]+[\w-]*(\[\w*\])*$') self.selected_index = -1 # index of the selected element in the wx.ListCtrl menu_items self._ignore_events = False self._last_focus = None if items: self.add_items(items) self._select_item(0)
def __init__(self, parent=None, id=wx.ID_ANY, title='', app=None): super(RunnerPanel, self).__init__( parent=parent, id=id, pos=wx.DefaultPosition, size=[400, 700], style=wx.DEFAULT_FRAME_STYLE, name=title, ) ScriptProcess.__init__(self, app) self.Bind(wx.EVT_END_PROCESS, self.onProcessEnded) #self.SetBackgroundColour(ThemeMixin.appColors['frame_bg']) #self.SetForegroundColour(ThemeMixin.appColors['txt_default']) # double buffered better rendering except if retina self.SetDoubleBuffered(parent.IsDoubleBuffered()) expCtrlSize = [500, 150] ctrlSize = [500, 150] self.app = app self.prefs = self.app.prefs.coder self.paths = self.app.prefs.paths self.parent = parent self.serverProcess = None # self.entries is dict of dicts: {filepath: {'index': listCtrlInd}} and may store ore info later self.entries = {} self.currentFile = None self.currentProject = None # access from self.currentProject property self.currentSelection = None self.currentExperiment = None # Set ListCtrl for list of tasks self.expCtrl = wx.ListCtrl(self, id=wx.ID_ANY, size=expCtrlSize, style=wx.LC_REPORT | wx.BORDER_NONE | wx.LC_NO_HEADER | wx.LC_SINGLE_SEL) self.expCtrl.Bind(wx.EVT_LIST_ITEM_SELECTED, self.onItemSelected, self.expCtrl) self.expCtrl.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.onItemDeselected, self.expCtrl) self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.onDoubleClick, self.expCtrl) self.expCtrl.InsertColumn(filenameColumn, _translate('File')) self.expCtrl.InsertColumn(folderColumn, _translate('Path')) _style = platebtn.PB_STYLE_DROPARROW | platebtn.PB_STYLE_SQUARE # Alerts self._selectedHiddenAlerts = False # has user manually hidden alerts? self.alertsToggleBtn = PsychopyPlateBtn(self, -1, _translate('Alerts'), style=_style, name='Alerts') # mouse event must be bound like this self.alertsToggleBtn.Bind(wx.EVT_LEFT_DOWN, self.setAlertsVisible) # mouse event must be bound like this self.alertsToggleBtn.Bind(wx.EVT_RIGHT_DOWN, self.setAlertsVisible) self.alertsCtrl = StdOutText(parent=self, size=ctrlSize, style=wx.TE_READONLY | wx.TE_MULTILINE | wx.BORDER_NONE) self.setAlertsVisible(True) # StdOut self.stdoutToggleBtn = PsychopyPlateBtn(self, -1, _translate('Stdout'), style=_style, name='Stdout') # mouse event must be bound like this self.stdoutToggleBtn.Bind(wx.EVT_LEFT_DOWN, self.setStdoutVisible) # mouse event must be bound like this self.stdoutToggleBtn.Bind(wx.EVT_RIGHT_DOWN, self.setStdoutVisible) self.stdoutCtrl = StdOutText(parent=self, size=ctrlSize, style=wx.TE_READONLY | wx.TE_MULTILINE | wx.BORDER_NONE) self.setStdoutVisible(True) # Box sizers self.upperSizer = wx.BoxSizer(wx.HORIZONTAL) self.upperSizer.Add(self.expCtrl, 1, wx.ALL | wx.EXPAND, 5) # Set main sizer self.mainSizer = wx.BoxSizer(wx.VERTICAL) self.mainSizer.Add(self.upperSizer, 0, wx.EXPAND | wx.ALL, 10) self.mainSizer.Add(self.alertsToggleBtn, 0, wx.TOP | wx.EXPAND, 10) self.mainSizer.Add(self.alertsCtrl, 1, wx.EXPAND | wx.ALL, 10) self.mainSizer.Add(self.stdoutToggleBtn, 0, wx.TOP | wx.EXPAND, 10) self.mainSizer.Add(self.stdoutCtrl, 1, wx.EXPAND | wx.ALL, 10) self.buttonSizer = wx.BoxSizer(wx.VERTICAL) self.upperSizer.Add(self.buttonSizer, 0, wx.ALL | wx.EXPAND, 5) self.makeButtons() self._applyAppTheme()
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(500, 422), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) bSizer1 = wx.BoxSizer(wx.VERTICAL) self.m_panel1 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer2 = wx.BoxSizer(wx.HORIZONTAL) self.m_staticText1 = wx.StaticText(self.m_panel1, wx.ID_ANY, u"거래처명 :", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText1.Wrap(-1) bSizer2.Add(self.m_staticText1, 0, wx.ALL, 5) self.m_txtName = wx.TextCtrl(self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) bSizer2.Add(self.m_txtName, 0, wx.ALL, 5) self.m_txtTel = wx.StaticText(self.m_panel1, wx.ID_ANY, u"전화 :", wx.DefaultPosition, wx.DefaultSize, 0) self.m_txtTel.Wrap(-1) bSizer2.Add(self.m_txtTel, 0, wx.ALL, 5) self.m_textCtrl2 = wx.TextCtrl(self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) bSizer2.Add(self.m_textCtrl2, 0, wx.ALL, 5) self.m_btninsert = wx.Button(self.m_panel1, wx.ID_ANY, u"등록", wx.DefaultPosition, wx.DefaultSize, 0) bSizer2.Add(self.m_btninsert, 0, wx.ALL, 5) self.m_panel1.SetSizer(bSizer2) self.m_panel1.Layout() bSizer2.Fit(self.m_panel1) bSizer1.Add(self.m_panel1, 1, wx.EXPAND | wx.ALL, 5) self.m_panel2 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer3 = wx.BoxSizer(wx.VERTICAL) self.m_listCtrl1 = wx.ListCtrl(self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_ICON | wx.LC_REPORT) bSizer3.Add(self.m_listCtrl1, 0, wx.ALL | wx.EXPAND, 5) self.m_panel2.SetSizer(bSizer3) self.m_panel2.Layout() bSizer3.Fit(self.m_panel2) bSizer1.Add(self.m_panel2, 1, wx.EXPAND | wx.ALL, 5) self.m_panel3 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer4 = wx.BoxSizer(wx.HORIZONTAL) self.m_staticText3 = wx.StaticText(self.m_panel3, wx.ID_ANY, u"거래처 :", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText3.Wrap(-1) bSizer4.Add(self.m_staticText3, 0, wx.ALL, 5) self.m_staCount = wx.StaticText(self.m_panel3, wx.ID_ANY, u"0", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staCount.Wrap(-1) bSizer4.Add(self.m_staCount, 0, wx.ALL, 5) self.m_panel3.SetSizer(bSizer4) self.m_panel3.Layout() bSizer4.Fit(self.m_panel3) bSizer1.Add(self.m_panel3, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(bSizer1) self.Layout() self.Centre(wx.BOTH)
def _init_ctrls(self, prnt): # generated method, don't edit wx.Frame.__init__(self, id=wxID_CARI_KEMISKINAN, name=u'cari_kemiskinan', parent=prnt, pos=wx.Point(428, 180), size=wx.Size(843, 453), style=wx.FRAME_NO_TASKBAR, title=u'Pencarian Data Kemiskinan') self.SetClientSize(wx.Size(843, 453)) self.Center(wx.BOTH) self.data_kk = wx.ListCtrl(id=wxID_CARI_KEMISKINANDATA_KK, name=u'data_kk', parent=self, pos=wx.Point(16, 8), size=wx.Size(808, 184), style=wx.LC_REPORT) self._init_coll_data_kk_Columns(self.data_kk) self.staticText1 = wx.StaticText(id=wxID_CARI_KEMISKINANSTATICTEXT1, label=u'Nomor Kartu Keluarga', name='staticText1', parent=self, pos=wx.Point(408, 200), size=wx.Size(145, 15), style=0) self.textCtrl1 = wx.TextCtrl(id=wxID_CARI_KEMISKINANTEXTCTRL1, name='textCtrl1', parent=self, pos=wx.Point(560, 200), size=wx.Size(168, 25), style=0, value='') self.button1 = wx.Button(id=wxID_CARI_KEMISKINANBUTTON1, label=u'Cari', name='button1', parent=self, pos=wx.Point(744, 200), size=wx.Size(80, 24), style=0) self.staticText2 = wx.StaticText(id=wxID_CARI_KEMISKINANSTATICTEXT2, label=u'Nomor KK', name='staticText2', parent=self, pos=wx.Point(16, 240), size=wx.Size(65, 15), style=0) self.textCtrl2 = wx.TextCtrl(id=wxID_CARI_KEMISKINANTEXTCTRL2, name='textCtrl2', parent=self, pos=wx.Point(96, 232), size=wx.Size(312, 25), style=0, value='') self.staticText3 = wx.StaticText(id=wxID_CARI_KEMISKINANSTATICTEXT3, label=u'Alamat', name='staticText3', parent=self, pos=wx.Point(416, 232), size=wx.Size(47, 15), style=0) self.textCtrl3 = wx.TextCtrl(id=wxID_CARI_KEMISKINANTEXTCTRL3, name='textCtrl3', parent=self, pos=wx.Point(472, 232), size=wx.Size(352, 25), style=0, value='') self.staticText4 = wx.StaticText(id=wxID_CARI_KEMISKINANSTATICTEXT4, label=u'Nama KK', name='staticText4', parent=self, pos=wx.Point(16, 264), size=wx.Size(60, 15), style=0) self.textCtrl4 = wx.TextCtrl(id=wxID_CARI_KEMISKINANTEXTCTRL4, name='textCtrl4', parent=self, pos=wx.Point(96, 264), size=wx.Size(312, 25), style=0, value='') self.staticText5 = wx.StaticText(id=wxID_CARI_KEMISKINANSTATICTEXT5, label=u'Status Kemiskinan', name='staticText5', parent=self, pos=wx.Point(416, 264), size=wx.Size(119, 15), style=0) self.comboBox1 = wx.ComboBox(choices=['Miskin', 'Tidak Miskin'], id=wxID_CARI_KEMISKINANCOMBOBOX1, name='comboBox1', parent=self, pos=wx.Point(552, 264), size=wx.Size(272, 25), style=0, value='') self.staticText6 = wx.StaticText(id=wxID_CARI_KEMISKINANSTATICTEXT6, label=u'Program Perlindungan Sosial', name='staticText6', parent=self, pos=wx.Point(16, 296), size=wx.Size(185, 15), style=0) self.checkBox1 = wx.CheckBox(id=wxID_CARI_KEMISKINANCHECKBOX1, label=u'Raskin', name='checkBox1', parent=self, pos=wx.Point(16, 320), size=wx.Size(89, 18), style=0) self.checkBox1.SetValue(False) self.checkBox2 = wx.CheckBox(id=wxID_CARI_KEMISKINANCHECKBOX2, label=u'JKN', name='checkBox2', parent=self, pos=wx.Point(16, 344), size=wx.Size(89, 18), style=0) self.checkBox2.SetValue(False) self.checkBox3 = wx.CheckBox(id=wxID_CARI_KEMISKINANCHECKBOX3, label=u'BLSM', name='checkBox3', parent=self, pos=wx.Point(16, 368), size=wx.Size(89, 18), style=0) self.checkBox3.SetValue(False) self.checkBox4 = wx.CheckBox(id=wxID_CARI_KEMISKINANCHECKBOX4, label=u'BSM', name='checkBox4', parent=self, pos=wx.Point(192, 320), size=wx.Size(89, 18), style=0) self.checkBox4.SetValue(False) self.checkBox5 = wx.CheckBox(id=wxID_CARI_KEMISKINANCHECKBOX5, label=u'PKH', name='checkBox5', parent=self, pos=wx.Point(192, 344), size=wx.Size(89, 18), style=0) self.checkBox5.SetValue(False) self.checkBox6 = wx.CheckBox(id=wxID_CARI_KEMISKINANCHECKBOX6, label=u'Program Kesehatan Daerah', name='checkBox6', parent=self, pos=wx.Point(192, 368), size=wx.Size(208, 18), style=0) self.checkBox6.SetValue(False) self.checkBox7 = wx.CheckBox(id=wxID_CARI_KEMISKINANCHECKBOX7, label=u'Program Pendidikan Daerah', name='checkBox7', parent=self, pos=wx.Point(416, 320), size=wx.Size(208, 18), style=0) self.checkBox7.SetValue(False) self.checkBox8 = wx.CheckBox(id=wxID_CARI_KEMISKINANCHECKBOX8, label=u'Program Lain', name='checkBox8', parent=self, pos=wx.Point(416, 344), size=wx.Size(200, 18), style=0) self.checkBox8.SetValue(False) self.button3 = wx.Button(id=wxID_CARI_KEMISKINANBUTTON3, label=u'Kembali Ke Menu', name='button3', parent=self, pos=wx.Point(320, 408), size=wx.Size(184, 30), style=0) self.button3.Bind(wx.EVT_BUTTON, self.OnButton3Button, id=wxID_CARI_KEMISKINANBUTTON3)
def _InitUI(self): """ """ # -- Current extras Grid # -- self.fExtrasList = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_REPORT | wx.LC_VRULES) self.fExtrasList.InsertColumn(0, 'Name') self.fExtrasList.InsertColumn(1, 'Shape') self.fExtrasList.InsertStringItem(0, 'X' * 64) self.fExtrasList.SetStringItem(0, 1, '(99, 99, 99, 99)') for i in range(self.fExtrasList.GetColumnCount()): self.fExtrasList.SetColumnWidth(i, -1) self.fExtrasList.Fit() self.fExtrasList.Bind(wx.EVT_LIST_ITEM_SELECTED, functools.partial(self._OnListSelect, 'extra')) # -- NoteBook for dataset category lists # -- self.fCategoryTabs = wx.Notebook(self, -1, style=wx.NB_TOP) for category in ('channel', 'pin'): names = self.fDataModel.GetDataSetNames(category) if len(names) > 0: label = category[0].upper() + category[1:] lb = wx.ListBox( self.fCategoryTabs, -1, choices=names, #size = ( 320, 100 ), style=wx.LB_ALWAYS_SB | wx.LB_SINGLE | wx.LB_SORT) lb.Bind(wx.EVT_LISTBOX, functools.partial(self._OnListSelect, category)) self.fCategoryTabs.AddPage(lb, label) self.fCategoryListBoxes[category] = lb #end if #end for if self.fCategoryTabs.GetPageCount() > 0: self.fCategoryTabs.ChangeSelection(0) # -- Buttons # -- BORDER _NONE, _THEME, _SUNKEN, _RAISED, _SIMPLE self.fButtonPanel = wx.Panel(self, -1, style=wx.BORDER_THEME) self.fCreateFactorsButton = \ wx.Button( self.fButtonPanel, -1, label = 'Create Pin Factors' ) self.fCreateFactorsButton.Bind(wx.EVT_BUTTON, self._OnCreateFactors) self.fCreateDsButton = \ wx.Button( self.fButtonPanel, -1, label = 'Create Average Dataset' ) #create_button.SetToolTipString( 'Create/calculate a dataset' ) self.fCreateDsButton.Bind(wx.EVT_BUTTON, self._OnCreateDataSet) self.fCreateDsButton.Enable(False) #self.fCreateDsButton.SetForegroundColour( wx.Colour( 0, 0, 255 ) ) self.fDeleteButton = wx.Button(self.fButtonPanel, -1, label='Delete Extra Datasets') #delete_button.SetToolTipString( 'Delete the selected extra datasets' ) self.fDeleteButton.Bind(wx.EVT_BUTTON, self._OnDelete) self.fDeleteButton.Enable(False) button_sizer = wx.BoxSizer(wx.VERTICAL) self.fButtonPanel.SetSizer(button_sizer) #button_sizer.AddStretchSpacer() button_sizer.Add(self.fCreateFactorsButton, 0, wx.ALL | wx.EXPAND, 6) button_sizer.AddSpacer(8) button_sizer.Add(self.fCreateDsButton, 0, wx.ALL | wx.EXPAND, 6) button_sizer.AddSpacer(8) button_sizer.Add(self.fDeleteButton, 0, wx.ALL | wx.EXPAND, 6) #button_sizer.AddStretchSpacer() # -- Lay Out # -- button_panel_wrapper = wx.BoxSizer(wx.VERTICAL) button_panel_wrapper.Add(self.fButtonPanel, 0, wx.ALL | wx.ALIGN_CENTER | wx.EXPAND, 8) button_panel_wrapper.AddStretchSpacer() lower_sizer = wx.BoxSizer(wx.HORIZONTAL) lower_sizer.Add(self.fCategoryTabs, 1, wx.ALL | wx.ALIGN_LEFT | wx.EXPAND, 0) lower_sizer.Add(button_panel_wrapper, 0, wx.ALL | wx.ALIGN_TOP | wx.EXPAND, 0) sizer = wx.BoxSizer(wx.VERTICAL) self.SetSizer(sizer) sizer.Add( wx.StaticText(self, -1, label='Extra Datasets', style=wx.ALIGN_LEFT), 0, wx.LEFT | wx.TOP, 4) sizer.Add(self.fExtrasList, 1, wx.ALL | wx.ALIGN_CENTER | wx.EXPAND, 4) sizer.AddSpacer(10) sizer.Add( wx.StaticText(self, -1, label='Source Datasets', style=wx.ALIGN_LEFT), 0, wx.LEFT, 4) sizer.Add(lower_sizer, 0, wx.ALL | wx.ALIGN_CENTER | wx.EXPAND, 4) self.Fit()
def __init__(self, title, data, OS): """ detailslist is a list of items list. """ wx.MiniFrame.__init__(self, None, style=wx.RESIZE_BORDER | wx.CAPTION | wx.CLOSE_BOX | wx.SYSTEM_MENU) """constructor""" self.panel = wx.Panel(self, wx.ID_ANY, style=wx.TAB_TRAVERSAL) normlist = wx.ListCtrl(self.panel, wx.ID_ANY, style=wx.LC_REPORT | wx.SUNKEN_BORDER) normlist.SetMinSize((850, 400)) # ----------------------Properties----------------------# self.SetTitle(_(title)) self.SetMinSize((850, 400)) # normlist.SetMinSize((850, 200)) normlist.InsertColumn(0, _('File name'), width=300) normlist.InsertColumn(1, _('Max volume dBFS'), width=150) normlist.InsertColumn(2, _('Mean volume dBFS'), width=150) normlist.InsertColumn(3, _('Offset dBFS'), width=100) normlist.InsertColumn(4, _('Result dBFS'), width=120) self.button_close = wx.Button(self.panel, wx.ID_CLOSE, "") descript = wx.StaticText(self.panel, wx.ID_ANY, (_('Post-normalization references:'))) red = wx.StaticText(self.panel, wx.ID_ANY, "\t\t") red.SetBackgroundColour(wx.Colour(233, 80, 77)) # #e9504d txtred = wx.StaticText(self.panel, wx.ID_ANY, (_("= Clipped peaks"))) grey = wx.StaticText(self.panel, wx.ID_ANY, "\t\t") grey.SetBackgroundColour(wx.Colour(100, 100, 100)) # #646464 txtgrey = wx.StaticText(self.panel, wx.ID_ANY, (_("= No changes"))) yell = wx.StaticText(self.panel, wx.ID_ANY, "\t\t") yell.SetBackgroundColour(wx.Colour(198, 180, 38)) # #C6B426 txtyell = wx.StaticText(self.panel, wx.ID_ANY, (_("= Below max peak"))) sizer = wx.BoxSizer(wx.VERTICAL) gridbtn = wx.GridSizer(1, 1, 0, 0) sizer.Add(normlist, 1, wx.EXPAND | wx.ALL, 5) sizer.Add(descript, 0, wx.ALL, 10) grid_list = wx.FlexGridSizer(1, 6, 0, 0) grid_list.Add(red, 1, wx.ALL, 5) grid_list.Add( txtred, 1, wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER_HORIZONTAL, 5) grid_list.Add(grey, 1, wx.ALL, 5) grid_list.Add( txtgrey, 1, wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER_HORIZONTAL, 5) grid_list.Add(yell, 1, wx.ALL, 5) grid_list.Add( txtyell, 1, wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER_HORIZONTAL, 5) sizer.Add(grid_list, 0, wx.ALL, 5) sizer.Add(gridbtn, flag=wx.ALIGN_RIGHT | wx.RIGHT, border=5) gridbtn.Add(self.button_close, 1, wx.ALL, 5) self.panel.SetSizerAndFit(sizer) if OS == 'Darwin': normlist.SetFont(wx.Font(12, wx.MODERN, wx.NORMAL, wx.NORMAL)) descript.SetFont(wx.Font(11, wx.SWISS, wx.NORMAL, wx.BOLD)) txtred.SetFont(wx.Font(11, wx.SWISS, wx.ITALIC, wx.NORMAL)) txtgrey.SetFont(wx.Font(11, wx.SWISS, wx.ITALIC, wx.NORMAL)) txtyell.SetFont(wx.Font(11, wx.SWISS, wx.ITALIC, wx.NORMAL)) else: normlist.SetFont(wx.Font(9, wx.MODERN, wx.NORMAL, wx.NORMAL)) descript.SetFont(wx.Font(8, wx.SWISS, wx.NORMAL, wx.BOLD)) txtred.SetFont(wx.Font(8, wx.SWISS, wx.ITALIC, wx.NORMAL)) txtgrey.SetFont(wx.Font(8, wx.SWISS, wx.ITALIC, wx.NORMAL)) txtyell.SetFont(wx.Font(8, wx.SWISS, wx.ITALIC, wx.NORMAL)) self.Bind(wx.EVT_BUTTON, self.on_close, self.button_close) self.Bind(wx.EVT_CLOSE, self.on_close) # controlla la chiusura (x) index = 0 if title == _('RMS-based volume statistics'): for i in data: # populate dmx listctrl: normlist.InsertItem(index, i[0]) normlist.SetItem(index, 1, i[1]) normlist.SetItem(index, 2, i[2]) if float(i[3]) == 0.0: # not changes normlist.SetItemBackgroundColour(index, '#646464') # grey normlist.SetItem(index, 3, i[3]) else: normlist.SetItem(index, 3, i[3]) if float(i[4]) > 0.0: # is clipped red normlist.SetItemBackgroundColour(index, '#e9504d') # red normlist.SetItem(index, 4, i[4]) else: normlist.SetItem(index, 4, i[4]) if float(i[4]) < float(i[1]): # target/res inf. to maxvol normlist.SetItemBackgroundColour(index, '#C6B426') # yel normlist.SetItem(index, 4, i[4]) else: normlist.SetItem(index, 4, i[4]) elif title == _('PEAK-based volume statistics'): for i in data: # populate dmx listctrl: normlist.InsertItem(index, i[0]) normlist.SetItem(index, 1, i[1]) normlist.SetItem(index, 2, i[2]) normlist.SetItem(index, 3, i[3]) if float(i[4]) == float(i[1]): # not changes normlist.SetItemBackgroundColour(index, '#646464') # grey normlist.SetItem(index, 4, i[4]) else: normlist.SetItem(index, 4, i[4]) if float(i[4]) < float(i[1]): # target/res inf. to maxvol normlist.SetItemBackgroundColour(index, '#C6B426') # yel normlist.SetItem(index, 4, i[4]) else: normlist.SetItem(index, 4, i[4])
def _init_ctrls(self, prnt): # generated method, don't edit wx.Panel.__init__(self, id=wxID_PNLQCL, name=u'pnlQCL', parent=prnt, pos=wx.Point(589, 303), size=wx.Size(439, 357), style=wx.TAB_TRAVERSAL) self.SetClientSize(wx.Size(423, 319)) self.rbSelect = wx.RadioButton(id=wxID_PNLQCLRBSELECT, label=u'Select an existing Quality Control Level', name=u'rbSelect', parent=self, pos=wx.Point(16, 8), size=wx.Size(392, 13), style=0) self.rbSelect.SetValue(True) self.rbSelect.Bind(wx.EVT_RADIOBUTTON, self.OnRbSelectRadiobutton, id=wxID_PNLQCLRBSELECT) self.rbCreate = wx.RadioButton(id=wxID_PNLQCLRBCREATE, label=u'Create Quality Control Level', name=u'rbCreate', parent=self, pos=wx.Point(16, 168), size=wx.Size(392, 13), style=0) self.rbCreate.SetValue(False) self.rbCreate.Bind(wx.EVT_RADIOBUTTON, self.OnRbCreateRadiobutton, id=wxID_PNLQCLRBCREATE) self.lblCode = wx.StaticText(id=wxID_PNLQCLLBLCODE, label=u'Code:', name=u'lblCode', parent=self, pos=wx.Point(40, 184), size=wx.Size(30, 13), style=0) self.txtCode = wx.TextCtrl(id=wxID_PNLQCLTXTCODE, name=u'txtCode', parent=self, pos=wx.Point(88, 184), size=wx.Size(320, 21), style=0, value=u'') self.txtCode.Enable(False) self.lblDefinition = wx.StaticText(id=wxID_PNLQCLLBLDEFINITION, label=u'Definition:', name=u'lblDefinition', parent=self, pos=wx.Point(24, 216), size=wx.Size(50, 13), style=0) self.txtDefinition = wx.TextCtrl(id=wxID_PNLQCLTXTDEFINITION, name=u'txtDefinition', parent=self, pos=wx.Point(88, 216), size=wx.Size(320, 21), style=0, value=u'') self.txtDefinition.Enable(False) self.lstQCL = wx.ListCtrl(id=wxID_PNLQCLLSTQCL, name=u'lstQCL', parent=self, pos=wx.Point(16, 24), size=wx.Size(392, 136), style=wx.LC_REPORT|wx.LC_SINGLE_SEL) self.lstQCL.InsertColumn(0, 'Code') self.lstQCL.InsertColumn(1, 'Definition') self.lstQCL.InsertColumn(2, 'Explanation') self.lstQCL.InsertColumn(3, 'id') self.lstQCL.SetColumnWidth(0, 50) self.lstQCL.SetColumnWidth(1, 50) self.lstQCL.SetColumnWidth(2, 200) self.lstQCL.SetColumnWidth(3, 0) self.lstQCL.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnListCtrl1ListItemSelected, id=wxID_PNLQCLLSTQCL) self.lstQCL.Enable(True) self.txtExplanation = wx.TextCtrl(id=wxID_PNLQCLTXTEXPLANATION, name=u'txtExplanation', parent=self, pos=wx.Point(88, 248), size=wx.Size(320, 64), style=wx.TE_MULTILINE | wx.TE_WORDWRAP, value=u'') self.txtExplanation.Enable(False) self.lblExplanation = wx.StaticText(id=wxID_PNLQCLLBLEXPLANATION, label=u'Explanation:', name=u'lblExplanation', parent=self, pos=wx.Point(16, 248), size=wx.Size(61, 13), style=0)
def MakePaneContentF(self, pane): self.list_ctrl11F = wx.ListCtrl(pane, size=(400, 120), style=wx.LC_REPORT | wx.BORDER_DEFAULT) self.list_ctrl11F.InsertColumn(0, 'Node ID', width=100) self.list_ctrl11F.InsertColumn(1, 'Fx', width=100) self.list_ctrl11F.InsertColumn(2, 'Fy', width=100) self.list_ctrl21F = wx.ListCtrl(pane, size=(400, 120), style=wx.LC_REPORT | wx.BORDER_DEFAULT) self.list_ctrl21F.InsertColumn(0, 'Element ID', width=100) self.list_ctrl21F.InsertColumn(1, 'F', width=100) for i in range(0, len(self.NOD)): self.list_ctrl11F.InsertStringItem(i, str(int(self.P_nodal[i][0]))) self.list_ctrl11F.SetStringItem(i, 1, str(self.P_nodal[i][1])) self.list_ctrl11F.SetStringItem(i, 2, str(self.P_nodal[i][2])) for i in range(0, len(self.ELE)): self.list_ctrl21F.InsertStringItem(i, str(int(self.P_element[i][0]))) self.list_ctrl21F.SetStringItem(i, 1, str(self.P_element[i][1])) self.list_ctrl12F = wx.ListCtrl(pane, size=(400, 120), style=wx.LC_REPORT | wx.BORDER_DEFAULT) self.list_ctrl12F.InsertColumn(0, 'Node ID', width=100) self.list_ctrl12F.InsertColumn(1, 'Fx', width=100) self.list_ctrl12F.InsertColumn(2, 'Fy', width=100) self.list_ctrl22F = wx.ListCtrl(pane, size=(400, 120), style=wx.LC_REPORT | wx.BORDER_DEFAULT) self.list_ctrl22F.InsertColumn(0, 'Element ID', width=100) self.list_ctrl22F.InsertColumn(1, 'F', width=100) for i in range(0, len(self.NOD)): self.list_ctrl12F.InsertStringItem( i, str(int(self.P_nodal_opt[i][0]))) self.list_ctrl12F.SetStringItem(i, 1, str(self.P_nodal_opt[i][1])) self.list_ctrl12F.SetStringItem(i, 2, str(self.P_nodal_opt[i][2])) for i in range(0, len(self.ELE)): self.list_ctrl22F.InsertStringItem( i, str(int(self.P_element_opt[i][0]))) self.list_ctrl22F.SetStringItem(i, 1, str(self.P_element_opt[i][1])) pane.SetBackgroundColour("white") self.vboxPF1 = wx.BoxSizer(wx.VERTICAL) self.vboxPF1.Add(self.list_ctrl11F, 0, wx.CENTER) self.vboxPF1.Add(self.list_ctrl21F, 0, wx.CENTER) self.vboxPF2 = wx.BoxSizer(wx.VERTICAL) self.vboxPF2.Add(self.list_ctrl12F, 0, wx.CENTER) self.vboxPF2.Add(self.list_ctrl22F, 0, wx.CENTER) self.hboxPF = wx.BoxSizer(wx.HORIZONTAL) self.hboxPF.Add(self.vboxPF1, 0, wx.TOP) self.hboxPF.Add(self.vboxPF2, 0, wx.TOP) pane.SetSizer(self.hboxPF)
def __init__(self, roi_map, options): """ :param roi_map: roi_map object :type roi_map: DatabaseROIs """ wx.Frame.__init__(self, None, title='Database Administrator') set_msw_background_color( self) # If windows, change the background color self.roi_map = roi_map self.options = options self.db_tree = self.get_db_tree() self.SetSize(get_window_size(0.792, 0.781)) self.window_db_editor = wx.SplitterWindow(self, wx.ID_ANY, style=wx.SP_3D) self.window_pane_db_tree = wx.ScrolledWindow(self.window_db_editor, wx.ID_ANY, style=wx.BORDER_SUNKEN | wx.TAB_TRAVERSAL) self.tree_ctrl_db = wx.TreeCtrl(self.window_pane_db_tree, wx.ID_ANY, style=wx.TR_HAS_BUTTONS | wx.TR_MULTIPLE) self.window_pane_query = wx.Panel(self.window_db_editor, wx.ID_ANY, style=wx.BORDER_SUNKEN | wx.TAB_TRAVERSAL) self.text_ctrl_condition = wx.TextCtrl(self.window_pane_query, wx.ID_ANY, "") self.list_ctrl_query_results = wx.ListCtrl( self.window_pane_query, wx.ID_ANY, style=wx.LC_HRULES | wx.LC_REPORT | wx.LC_VRULES) self.data_query_results = DataTable( self.list_ctrl_query_results, columns=['mrn', 'study_instance_uid']) self.combo_box_query_table = wx.ComboBox(self.window_pane_query, wx.ID_ANY, choices=list(self.db_tree), style=wx.CB_DROPDOWN | wx.CB_READONLY) self.button = { 'delete_all_data': wx.Button(self, wx.ID_ANY, "Delete All Data"), 'rebuild_db': wx.Button(self, wx.ID_ANY, "Rebuild Database"), # 'calculations': wx.Button(self, wx.ID_ANY, "Calculations"), 'edit_db': wx.Button(self, wx.ID_ANY, "Edit Database"), 'reimport': wx.Button(self, wx.ID_ANY, "Reimport from DICOM"), 'delete_study': wx.Button(self, wx.ID_ANY, "Delete Study"), 'change_mrn_uid': wx.Button(self, wx.ID_ANY, "Change MRN/UID"), 'query': wx.Button(self.window_pane_query, wx.ID_ANY, "Query"), 'clear': wx.Button(self.window_pane_query, wx.ID_ANY, "Clear"), 'export_csv': wx.Button(self.window_pane_query, wx.ID_ANY, "Export"), 'remap_roi_names': wx.Button(self, wx.ID_ANY, "Remap ROI Names") } self.__set_properties() self.__do_layout() self.__do_bind() self.selected_columns = { table: {c: False for c in list(self.db_tree[table])} for table in list(self.db_tree) } self.selected_tables = {table: False for table in list(self.db_tree)} self.window_db_editor.SetSashPosition(250) self.tree_ctrl_db.Expand(self.db_tree_root) self.allow_tree_select_change = True self.Show()
def __init__(self, parent): self.title = "Listar Productos, Busqueda por Descripcion" wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=self.title, pos=wx.DefaultPosition, size=wx.Size(610, 500), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) fgSizer1 = wx.FlexGridSizer(3, 1, 0, 0) fgSizer1.SetFlexibleDirection(wx.BOTH) fgSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) fgSizer2 = wx.FlexGridSizer(0, 3, 0, 0) fgSizer2.SetFlexibleDirection(wx.BOTH) fgSizer2.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_staticText1 = wx.StaticText(self, wx.ID_ANY, u"Buscar", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText1.Wrap(-1) fgSizer2.Add(self.m_staticText1, 0, wx.ALL, 5) self.txt_Busqueda = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(250, -1), 0) fgSizer2.Add(self.txt_Busqueda, 0, wx.ALL, 5) self.btn_Buscar = wx.Button(self, wx.ID_ANY, u"Buscar", wx.DefaultPosition, wx.DefaultSize, 0) fgSizer2.Add(self.btn_Buscar, 0, wx.ALL, 5) fgSizer1.Add(fgSizer2, 1, wx.EXPAND, 5) fgSizer3 = wx.FlexGridSizer(1, 2, 0, 0) fgSizer3.SetFlexibleDirection(wx.BOTH) fgSizer3.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.listctrl = wx.ListCtrl(self, wx.ID_ANY, wx.Point(10, 10), wx.Size(600, 200), wx.LC_REPORT | wx.SUNKEN_BORDER) fgSizer3.Add(self.listctrl, 0, wx.ALL, 5) fgSizer1.Add(fgSizer3, 1, wx.EXPAND, 5) #Agregar un sizer de 1 fila 4 col fgSizer4 = wx.FlexGridSizer(1, 4, 0, 0) fgSizer4.SetFlexibleDirection(wx.BOTH) fgSizer4.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) #Botones para mantenimiento self.btn_Insertar = wx.Button(self, wx.ID_ANY, u"Insertar", wx.DefaultPosition, wx.DefaultSize, 0) fgSizer4.Add(self.btn_Insertar, 0, wx.ALL, 5) self.btn_Ver = wx.Button(self, wx.ID_ANY, u"Ver", wx.DefaultPosition, wx.DefaultSize, 0) fgSizer4.Add(self.btn_Ver, 0, wx.ALL, 5) self.btn_Editar = wx.Button(self, wx.ID_ANY, u"Editar", wx.DefaultPosition, wx.DefaultSize, 0) fgSizer4.Add(self.btn_Editar, 0, wx.ALL, 5) self.btn_Eliminar = wx.Button(self, wx.ID_ANY, u"Eliminar", wx.DefaultPosition, wx.DefaultSize, 0) fgSizer4.Add(self.btn_Eliminar, 0, wx.ALL, 5) fgSizer1.Add(fgSizer4, 1, wx.EXPAND, 5) self.SetSizer(fgSizer1) self.Layout() self.Centre(wx.BOTH) # Connect Events self.btn_Buscar.Bind(wx.EVT_BUTTON, self.Buscar) self.txt_Busqueda.Bind(wx.EVT_TEXT, self.Busqueda) self.listctrl.Bind(wx.EVT_LIST_ITEM_SELECTED, self.Seleccionar) self.btn_Insertar.Bind(wx.EVT_BUTTON, self.Insertar) self.btn_Ver.Bind(wx.EVT_BUTTON, self.Ver) self.btn_Editar.Bind(wx.EVT_BUTTON, self.Editar) self.btn_Eliminar.Bind(wx.EVT_BUTTON, self.Eliminar) #Conexion Bd self.db = mysqlclass3.Database( "ventas") #Instanciar la conexion a la Bd. #definir valor de item2 self.item = '' self.item2 = '' #Evento cargar datos de encabezado a la lista y se definen las columnas que lleva el control self.listctrl.InsertColumn(0, 'Id', width=100) self.listctrl.InsertColumn(1, 'Barcode', width=150) self.listctrl.InsertColumn(2, 'Descripcion', width=350) self.Cargar()
def __init__(self, parent, model): super(DemoView, self).__init__(parent) self._parent = parent self._model = model # Sets the Controller for the View self._controller = DemoController(self._model, self) # Use for restoring background of non-editable TextCtrl self.menu_color = wx.SystemSettings.GetColour(wx.SYS_COLOUR_MENU) # Sizers demos ipo = 0 # Using ipo makes it easier to add rows gbs = wx.GridBagSizer(hgap=5, vgap=5) heading = "PANEL DEMO" self.st_heading = wx.StaticText(self, label=heading) font = wx.Font(wx.FontInfo(12).Bold().Underlined()) self.st_heading.SetFont(font) gbs.Add(self.st_heading, pos=(ipo, 0)) ipo += 1 st = wx.StaticText(self, label="Show information: ") gbs.Add(st, pos=(ipo, 0)) self.tc_info = wx.TextCtrl(self, style=wx.TE_READONLY, size=(200, -1), name='info') # no validator so use the model to init the info value self._model.register('info', self.tc_info) gbs.Add(self.tc_info, pos=(ipo, 1)) ipo += 1 # the edit control - one line version for text data st = wx.StaticText(self, label="Text Data :") gbs.Add(st, pos=(ipo, 0)) self.tc_txt_data = wx.TextCtrl( self, value="", size=(200, -1), style=wx.TE_PROCESS_ENTER, # get tab and CR validator=self._controller.get_text_validator(), name='text_data') gbs.Add(self.tc_txt_data, pos=(ipo, 1)) self.Bind(wx.EVT_TEXT, self.evt_text, self.tc_txt_data) ipo += 1 # floating point tests st = wx.StaticText(self, label="Floating Point Data :") gbs.Add(st, pos=(ipo, 0)) self.tc_float_data = wx.TextCtrl( self, value='', size=(200, -1), style=wx.TE_PROCESS_ENTER, # get tab and CR validator=self._controller.get_floating_point_validator(), name='float_data') gbs.Add(self.tc_float_data, pos=(ipo, 1)) self.Bind(wx.EVT_TEXT, self.evt_text, self.tc_float_data) ipo += 1 # integer data tests st = wx.StaticText(self, label="Integer Data :") gbs.Add(st, pos=(ipo, 0)) self.tc_int_data = wx.TextCtrl( self, value='', size=(200, -1), style=wx.TE_PROCESS_ENTER, # get tab and CR validator=self._controller.get_integer_validator(), name='int_data') gbs.Add(self.tc_int_data, pos=(ipo, 1)) self.Bind(wx.EVT_TEXT, self.evt_text, self.tc_int_data) ipo += 1 # the combobox Control self.answer_ls = [ 'Fantastic!', 'I love it!', 'Ok only', 'Can do', 'So so only', 'Too complicated' ] st = wx.StaticText(self, label="How did you like this test?") gbs.Add(st, pos=(ipo, 0)) self.cb_survey = wx.ComboBox( self, size=(120, -1), choices=self.answer_ls, style=wx.TE_PROCESS_ENTER | wx.CB_DROPDOWN, # get tab and CR validator=self._controller.get_text_validator(), name='test_survey') gbs.Add(self.cb_survey, pos=(ipo, 1)) self.Bind(wx.EVT_COMBOBOX, self.evt_combo_box, self.cb_survey) self.Bind(wx.EVT_TEXT, self.evt_text, self.cb_survey) ipo += 1 # Checkbox self.chb_option = wx.CheckBox(self, label="Want special edition option?", style=wx.CHK_3STATE | wx.CHK_ALLOW_3RD_STATE_FOR_USER, validator=BooleanValidator(self._model), name='option') gbs.Add(self.chb_option, pos=(ipo, 0), span=(1, 2), flag=wx.BOTTOM, border=5) self.Bind(wx.EVT_CHECKBOX, self.evt_check_box, self.chb_option) ipo += 1 # Radio Box demo radio_ls = ['None', 'Ok!', 'Not Ok!'] self.rb_msg = wx.RadioBox(self, label="Choose Text Message:", choices=radio_ls, majorDimension=3, style=wx.RA_SPECIFY_COLS) gbs.Add(self.rb_msg, pos=(ipo, 0)) self.Bind(wx.EVT_RADIOBOX, self.evt_radio_box, self.rb_msg) self.tc_text_msg = wx.TextCtrl( self, style=wx.TE_READONLY | wx.TE_CENTER, validator=self._controller.get_msg_validator(), name='text_message') font = wx.Font(wx.FontInfo(16).Bold()) self.tc_text_msg.SetFont(font) gbs.Add(self.tc_text_msg, pos=(ipo, 1), flag=wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL) # add a spacer to the sizer ipo += 1 gbs.Add((10, 10), pos=(ipo, 1)) # spacer for demo purposes ipo += 1 # FlexGridSizer and data fields sync demo # quantity and total price work in tandem with qty fgs = wx.FlexGridSizer(3, 2, 10, 10) # unit price st_upr = wx.StaticText(self, label="Unit price: ") self.tc_unit_price = wx.TextCtrl(self, style=wx.TE_READONLY, size=(75, -1), name='unit_price') # no validator so use model to init unit_price. unit_price not editable self._model.register('unit_price', self.tc_unit_price) # quantity and total_price are managed by the model because # SpinCtrl don't allow any validator. Both are also related. # quantity st_qty = wx.StaticText(self, label="Quantity: ") self.spcl_qty = wx.SpinCtrl(self, size=(50, -1), style=wx.TE_PROCESS_ENTER, name='quantity') self.Bind(wx.EVT_SPINCTRL, self.spcl_qty_updated, self.spcl_qty) self.Bind(wx.EVT_TEXT_ENTER, self.spcl_qty_updated, self.spcl_qty) # total price st_tpr = wx.StaticText(self, label="Total price: ") self.tc_total_price = wx.TextCtrl(self, style=wx.TE_READONLY, size=(75, -1), name='total_price') # Register and init values from Model # Must register in order of ctrl creation # total_price is sync with quantity during registration # total_price in model is ignored in case of errors in model data self._model.register('quantity', self.spcl_qty) # arrange ctrls in correct order fgs.AddMany([(st_upr), (self.tc_unit_price, 1, wx.EXPAND), (st_qty), (self.spcl_qty, 1, wx.EXPAND), (st_tpr), (self.tc_total_price, 1, wx.EXPAND)]) # add as part of gb gbs.Add(fgs, pos=(ipo, 0)) # ListCtrl self.list_ctrl = wx.ListCtrl(self, size=(-1, 100), style=wx.LC_REPORT | wx.LC_HRULES) self.list_ctrl.InsertColumn(0, 'Stock No', width=70) self.list_ctrl.InsertColumn(1, 'List Price', width=70) self.list_ctrl.InsertColumn(2, 'Stock Qty', width=70) items = self._model.getvalue('price_list').items() idx = 0 for key, data in items: index = self.list_ctrl.InsertItem(idx, data[0]) self.list_ctrl.SetItem(index, 1, data[1]) self.list_ctrl.SetItem(index, 2, data[2]) self.list_ctrl.SetItemData(index, key) idx += 1 # add as part of gb gbs.Add(self.list_ctrl, pos=(ipo, 1)) # A multiline TextCtrl demo to display model data and other info self.tc_display = wx.TextCtrl(self, size=(300, 400), style=wx.TE_MULTILINE | wx.TE_READONLY) # StaticBoxSizer demo vsbs_display = wx.StaticBoxSizer(wx.VERTICAL, self, 'Display') vsbs_display.Add(self.tc_display, 0, wx.ALL, 5) hbs1 = wx.BoxSizer(wx.HORIZONTAL) hbs1.Add(gbs, 0, wx.ALL, 5) hbs1.Add(vsbs_display) # A buttons row demo hbs2 = wx.BoxSizer(wx.HORIZONTAL) # Use standard button IDs for validators to work correctly bu_okay = wx.Button(self, wx.ID_OK) self.Bind(wx.EVT_BUTTON, self.on_okay, bu_okay) bu_cancel = wx.Button(self, wx.ID_CANCEL) self.Bind(wx.EVT_BUTTON, self.on_cancel, bu_cancel) # only for standard buttons e.g. ID_OK and ID_CANCEL bus = wx.StdDialogButtonSizer() # for look and feel bus.AddButton(bu_okay) bus.AddButton(bu_cancel) bus.Realize() # non-standard buttons bu_update = wx.Button(self, label='Update') bu_clr_display = wx.Button(self, label='Clear Display') bu_info = wx.Button(self, label="Show Model Info") self.Bind(wx.EVT_BUTTON, self.on_update, bu_update) self.Bind(wx.EVT_BUTTON, self.on_clr_display, bu_clr_display) self.Bind(wx.EVT_BUTTON, self.on_info, bu_info) hbs2.Add(bus) hbs2.Add(10, -1, 0) # add spacer in-between hbs2.Add(bu_update) hbs2.Add(10, -1, 0) hbs2.Add(bu_clr_display) hbs2.Add(10, -1, 0) hbs2.Add(bu_info) vbs_main = wx.BoxSizer(wx.VERTICAL) vbs_main.Add(hbs1, 0, wx.ALL, 5) # grid bag and logger vbs_main.Add(hbs2, 0, wx.CENTER, 5) # buttons vbs_main.Add((10, 5)) # add spacer after button row self.SetSizerAndFit(vbs_main) # init the validators' controls self.TransferDataToWindow() # use this instead of InitDialog
def _init_ctrls(self, prnt): # generated method, don't edit wx.Dialog.__init__(self, id=wxID_KEJADIAN_KEMATIAN, name=u'edit_kejadian_kematian', parent=prnt, pos=wx.Point(406, 79), size=wx.Size(888, 639), style=wx.FRAME_NO_TASKBAR, title=u'Kejadian Kematian') self.SetClientSize(wx.Size(888, 639)) self.Center(wx.BOTH) self.label_nomor_kk = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_NOMOR_KK, label=u'Nomor KK', name=u'label_nomor_kk', parent=self, pos=wx.Point(8, 152), size=wx.Size(168, 17), style=wx.TE_READONLY) self.label_alamat = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_ALAMAT, label=u'Alamat', name=u'label_alamat', parent=self, pos=wx.Point(256, 152), size=wx.Size(47, 17), style=0) self.label_dusun = wx.StaticText(id=wxID_KEJADIAN_KEMATIANLABEL_DUSUN, label=u'Dusun', name=u'label_dusun', parent=self, pos=wx.Point(552, 152), size=wx.Size(144, 17), style=0) self.lebel_nik = wx.StaticText(id=wxID_KEJADIAN_KEMATIANLEBEL_NIK, label=u'N I K *', name=u'lebel_nik', parent=self, pos=wx.Point(192, 192), size=wx.Size(40, 17), style=0) self.label_tempat_lahir = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_TEMPAT_LAHIR, label=u'Tempat Lahir', name=u'label_tempat_lahir', parent=self, pos=wx.Point(192, 312), size=wx.Size(176, 17), style=0) self.label_tanggal_lahir = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_TANGGAL_LAHIR, label=u'Tanggal Lahir', name=u'label_tanggal_lahir', parent=self, pos=wx.Point(192, 352), size=wx.Size(152, 17), style=0) self.label_golongan_darah = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_GOLONGAN_DARAH, label=u'Golongan Darah', name=u'label_golongan_darah', parent=self, pos=wx.Point(192, 392), size=wx.Size(200, 17), style=0) self.label_nama_lengkap = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_NAMA_LENGKAP, label=u'Nama Lengkap', name=u'label_nama_lengkap', parent=self, pos=wx.Point(192, 232), size=wx.Size(98, 17), style=0) self.label_jenis_kelamin = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_JENIS_KELAMIN, label=u'Jenis Kelamin', name=u'label_jenis_kelamin', parent=self, pos=wx.Point(192, 272), size=wx.Size(152, 17), style=0) self.label_agama = wx.StaticText(id=wxID_KEJADIAN_KEMATIANLABEL_AGAMA, label=u'Agama', name=u'label_agama', parent=self, pos=wx.Point(400, 192), size=wx.Size(120, 17), style=0) self.input_no_kk = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANINPUT_NO_KK, name=u'input_no_kk', parent=self, pos=wx.Point(8, 168), size=wx.Size(240, 25), style=wx.TE_READONLY, value=u'') self.input_alamat = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANINPUT_ALAMAT, name=u'input_alamat', parent=self, pos=wx.Point(256, 168), size=wx.Size(288, 25), style=wx.TE_READONLY, value=u'') self.input_dusun = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANINPUT_DUSUN, name=u'input_dusun', parent=self, pos=wx.Point(552, 168), size=wx.Size(192, 25), style=wx.TE_READONLY, value=u'') self.input_rt = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANINPUT_RT, name=u'input_rt', parent=self, pos=wx.Point(752, 168), size=wx.Size(56, 27), style=wx.TE_READONLY, value=u'') self.input_rw = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANINPUT_RW, name=u'input_rw', parent=self, pos=wx.Point(816, 168), size=wx.Size(56, 27), style=wx.TE_READONLY, value=u'') self.input_nik = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANINPUT_NIK, name=u'input_nik', parent=self, pos=wx.Point(192, 208), size=wx.Size(200, 25), style=wx.TE_READONLY, value=u'') self.input_nama = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANINPUT_NAMA, name=u'input_nama', parent=self, pos=wx.Point(192, 248), size=wx.Size(200, 25), style=wx.TE_READONLY, value=u'') self.pilihan_jenis_kelamin = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_JENIS_KELAMIN, name=u'pilihan_jenis_kelamin', parent=self, pos=wx.Point(192, 288), size=wx.Size(200, 27), style=wx.TE_READONLY, value=u'') self.input_tempat_lahir = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANINPUT_TEMPAT_LAHIR, name=u'input_tempat_lahir', parent=self, pos=wx.Point(192, 328), size=wx.Size(200, 25), style=wx.TE_READONLY, value=u'') self.tanggalkejadian = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANTANGGALKEJADIAN, name=u'tanggalkejadian', parent=self, pos=wx.Point(-100, -100), size=wx.Size(176, 24), style=wx.TE_READONLY, value=u'') self.pilihan_golongan_darah = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_GOLONGAN_DARAH, name=u'pilihan_golongan_darah', parent=self, pos=wx.Point(192, 408), size=wx.Size(80, 25), style=wx.TE_READONLY, value=u'') self.pilihan_agama = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_AGAMA, name=u'pilihan_agama', parent=self, pos=wx.Point(400, 208), size=wx.Size(216, 25), style=wx.TE_READONLY, value=u'') self.label_kewarganegaraan = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_KEWARGANEGARAAN, label=u'Kewarganegaraan', name=u'label_kewarganegaraan', parent=self, pos=wx.Point(400, 232), size=wx.Size(168, 17), style=0) self.pilihan_warganegara = wx.TextCtrl(name=u'pilihan_warganegara', parent=self, pos=wx.Point(400, 248), size=wx.Size(216, 25), style=wx.TE_READONLY, value=u'') self.label_pendidikan_terakhir = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_PENDIDIKAN_TERAKHIR, label=u'Pendidikan Terakhir', name=u'label_pendidikan_terakhir', parent=self, pos=wx.Point(400, 272), size=wx.Size(184, 17), style=0) self.pilihan_pendidikan_terakhir = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_PENDIDIKAN_TERAKHIR, name=u'pilihan_pendidikan_terakhir', parent=self, pos=wx.Point(400, 288), size=wx.Size(216, 25), style=wx.TE_READONLY, value=u'') self.label_pendidikan_tempuh = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_PENDIDIKAN_TEMPUH, label=u'Pendidikan Saat Ini Ditempuh', name=u'label_pendidikan_tempuh', parent=self, pos=wx.Point(400, 312), size=wx.Size(264, 17), style=0) self.pilihan_pendidikan_ditempuh = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_PENDIDIKAN_DITEMPUH, name=u'pilihan_pendidikan_ditempuh', parent=self, pos=wx.Point(400, 328), size=wx.Size(216, 25), style=wx.TE_READONLY, value=u'') self.label_pekerjaan = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_PEKERJAAN, label=u'Pekerjaan Utama', name=u'label_pekerjaan', parent=self, pos=wx.Point(400, 352), size=wx.Size(200, 17), style=0) self.pilihan_pekerjaan = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_PEKERJAAN, name=u'pilihan_pekerjaan', parent=self, pos=wx.Point(400, 370), size=wx.Size(216, 25), style=wx.TE_READONLY, value=u'') self.label_pekerjaan_lainnya = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_PEKERJAAN_LAINNYA, label=u'Pekerjaan Lainnya', name=u'label_pekerjaan_lainnya', parent=self, pos=wx.Point(400, 392), size=wx.Size(168, 17), style=0) self.pilihan_pekerjaan_lainnya = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_PEKERJAAN_LAINNYA, name=u'pilihan_pekerjaan_lainnya', parent=self, pos=wx.Point(400, 408), size=wx.Size(216, 25), style=wx.TE_READONLY, value=u'') self.label_status_perkawinan = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_STATUS_PERKAWINAN, label=u'Status Perkawinan', name=u'label_status_perkawinan', parent=self, pos=wx.Point(624, 192), size=wx.Size(176, 17), style=0) self.pilihan_status = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_STATUS, name=u'pilihan_status', parent=self, pos=wx.Point(624, 208), size=wx.Size(248, 25), style=wx.TE_READONLY, value=u'') self.label_status_kependudukan = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_STATUS_KEPENDUDUKAN, label=u'Status Kependudukan', name=u'label_status_kependudukan', parent=self, pos=wx.Point(624, 232), size=wx.Size(184, 17), style=0) self.pilihan_status_kependudukan = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_STATUS_KEPENDUDUKAN, name=u'pilihan_status_kependudukan', parent=self, pos=wx.Point(624, 248), size=wx.Size(248, 25), style=wx.TE_READONLY, value=u'') self.label_status_tinggal = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_STATUS_TINGGAL, label=u'Status Tinggal', name=u'label_status_tinggal', parent=self, pos=wx.Point(624, 272), size=wx.Size(152, 17), style=0) self.pilihan_status_tinggal = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_STATUS_TINGGAL, name=u'pilihan_status_tinggal', parent=self, pos=wx.Point(624, 288), size=wx.Size(248, 25), style=wx.TE_READONLY, value=u'') self.label_difabelitas = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_DIFABELITAS, label=u'Penyandang Difabelitas', name=u'label_difabelitas', parent=self, pos=wx.Point(624, 312), size=wx.Size(184, 17), style=0) self.pilihan_difabelitas = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_DIFABELITAS, name=u'pilihan_difabelitas', parent=self, pos=wx.Point(624, 328), size=wx.Size(248, 25), style=wx.TE_READONLY, value=u'') self.label_kontrasepsi = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_KONTRASEPSI, label=u'Penggunaan Kontrasepsi', name=u'label_kontrasepsi', parent=self, pos=wx.Point(624, 352), size=wx.Size(192, 17), style=0) self.pilihan_kontrasepsi = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_KONTRASEPSI, name=u'pilihan_kontrasepsi', parent=self, pos=wx.Point(624, 368), size=wx.Size(248, 25), style=wx.TE_READONLY, value=u'') self.pilihan_kehamilan = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANPILIHAN_KEHAMILAN, name=u'pilihan_kehamilan', parent=self, pos=wx.Point(624, 408), size=wx.Size(248, 25), style=wx.TE_READONLY, value=u'') self.laporan = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANLAPORAN, name=u'laporan', parent=self, pos=wx.Point(136, 496), size=wx.Size(192, 27), style=0, value=u'') self.keterangan = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANKETERANGAN, name=u'keterangan', parent=self, pos=wx.Point(416, 496), size=wx.Size(448, 27), style=0, value=u'') self.label_shdk = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_SHDK, label=u'Status Hubungan Dalam Keluarga', name=u'label_shdk', parent=self, pos=wx.Point(24, 536), size=wx.Size(320, 17), style=0) self.pilihan_shdk = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANPILIHAN_SHDK, name=u'pilihan_shdk', parent=self, pos=wx.Point(24, 560), size=wx.Size(304, 25), style=wx.TE_READONLY, value=u'') self.label_nama_ayah = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_NAMA_AYAH, label=u'Nama Ayah', name=u'label_nama_ayah', parent=self, pos=wx.Point(344, 536), size=wx.Size(152, 17), style=0) self.input_ayah = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANINPUT_AYAH, name=u'input_ayah', parent=self, pos=wx.Point(344, 560), size=wx.Size(280, 25), style=wx.TE_READONLY, value=u'') self.label_nama_ibu = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_NAMA_IBU, label=u'Nama Ibu', name=u'label_nama_ibu', parent=self, pos=wx.Point(632, 536), size=wx.Size(160, 17), style=0) self.input_ibu = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANINPUT_IBU, name=u'input_ibu', parent=self, pos=wx.Point(632, 560), size=wx.Size(240, 25), style=wx.TE_READONLY, value=u'') self.label_resiko_kehamilan = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_RESIKO_KEHAMILAN, label=u'Resiko Kehamilan', name=u'label_resiko_kehamilan', parent=self, pos=wx.Point(624, 392), size=wx.Size(176, 17), style=0) self.tombol_tambah_data = wx.Button( id=wxID_KEJADIAN_KEMATIANTOMBOL_TAMBAH_DATA, label=u'Tambah Data', name=u'tombol_tambah_data', parent=self, pos=wx.Point(240, 600), size=wx.Size(200, 32), style=0) self.tombol_tambah_data.Bind( wx.EVT_BUTTON, self.OnTombol_tambah_dataButton, id=wxID_KEJADIAN_KEMATIANTOMBOL_TAMBAH_DATA) self.kembali = wx.Button(id=wxID_KEJADIAN_KEMATIANKEMBALI, label=u'Kembali Ke Menu', name=u'kembali', parent=self, pos=wx.Point(456, 600), size=wx.Size(208, 32), style=0) self.kembali.Bind(wx.EVT_BUTTON, self.OnKembaliButton, id=wxID_KEJADIAN_KEMATIANKEMBALI) self.dokumen = wx.StaticText(id=wxID_KEJADIAN_KEMATIANDOKUMEN, label=u'Catatan Kejadian Kematian', name=u'dokumen', parent=self, pos=wx.Point(16, 440), size=wx.Size(304, 17), style=0) self.label_data_penduduk = wx.StaticText( id=wxID_KEJADIAN_KEMATIANLABEL_DATA_PENDUDUK, label=u'FORM DATA PENDUDUK', name=u'label_data_penduduk', parent=self, pos=wx.Point(336, 0), size=wx.Size(216, 17), style=0) self.isipenduduk = wx.ListCtrl(id=wxID_KEJADIAN_KEMATIANISIPENDUDUK, name=u'isipenduduk', parent=self, pos=wx.Point(16, 16), size=wx.Size(856, 104), style=wx.LC_REPORT) self._init_coll_isipenduduk_Columns(self.isipenduduk) self.isipenduduk.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnIsipendudukListItemSelected, id=wxID_KEJADIAN_KEMATIANISIPENDUDUK) self.staticText1 = wx.StaticText(id=wxID_KEJADIAN_KEMATIANSTATICTEXT1, label=u'Nomor NIK', name='staticText1', parent=self, pos=wx.Point(432, 128), size=wx.Size(145, 17), style=0) self.cari_kk = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANCARI_KK, name=u'cari_kk', parent=self, pos=wx.Point(552, 128), size=wx.Size(224, 24), style=0, value='') self.tombol_cari = wx.Button(id=wxID_KEJADIAN_KEMATIANTOMBOL_CARI, label=u'Cari', name=u'tombol_cari', parent=self, pos=wx.Point(784, 128), size=wx.Size(85, 24), style=0) self.tombol_cari.Bind(wx.EVT_BUTTON, self.OnTombol_cariButton, id=wxID_KEJADIAN_KEMATIANTOMBOL_CARI) self.input_no = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANINPUT_NO, name=u'input_no', parent=self, pos=wx.Point(-100, -100), size=wx.Size(56, 27), style=wx.TE_READONLY, value=u'') self.staticText2 = wx.StaticText(id=wxID_KEJADIAN_KEMATIANSTATICTEXT2, label=u'RT', name='staticText2', parent=self, pos=wx.Point(760, 152), size=wx.Size(24, 16), style=0) self.staticText3 = wx.StaticText(id=wxID_KEJADIAN_KEMATIANSTATICTEXT3, label=u'RW', name='staticText3', parent=self, pos=wx.Point(824, 152), size=wx.Size(19, 17), style=0) self.staticText4 = wx.StaticText(id=wxID_KEJADIAN_KEMATIANSTATICTEXT4, label=u'Pemberi Laporan', name='staticText4', parent=self, pos=wx.Point(16, 504), size=wx.Size(118, 17), style=0) self.staticText5 = wx.StaticText(id=wxID_KEJADIAN_KEMATIANSTATICTEXT5, label=u'Keterangan', name='staticText5', parent=self, pos=wx.Point(336, 504), size=wx.Size(74, 17), style=0) self.staticText6 = wx.StaticText(id=wxID_KEJADIAN_KEMATIANSTATICTEXT6, label=u'Tanggal Kematian', name='staticText6', parent=self, pos=wx.Point(16, 464), size=wx.Size(106, 17), style=0) self.tglkejadian = wx.DatePickerCtrl( id=wxID_KEJADIAN_KEMATIANTGLKEJADIAN, name='tglkejadian', parent=self, pos=wx.Point(136, 464), size=wx.Size(192, 26), style=wx.DP_DROPDOWN | wx.DP_SHOWCENTURY) self.tglkejadian.Bind(wx.EVT_DATE_CHANGED, self.OnGetDate) self.nama_kk = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANNAMA_KK, name=u'nama_kk', parent=self, pos=wx.Point(8, 208), size=wx.Size(176, 24), style=wx.TE_READONLY, value=u'') self.staticText7 = wx.StaticText(id=wxID_KEJADIAN_KEMATIANSTATICTEXT7, label=u'Nama Kepala Keluarga', name='staticText7', parent=self, pos=wx.Point(8, 192), size=wx.Size(135, 17), style=0) self.tanggalkematian = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANTANGGALKEJADIAN, name=u'tanggalkejadian', parent=self, pos=wx.Point(-100, -100), size=wx.Size(176, 24), style=wx.TE_READONLY, value=u'') self.simpangambar = wx.TextCtrl(id=wxID_KEJADIAN_KEMATIANSIMPANGAMBAR, name=u'simpangambar', parent=self, pos=wx.Point(-100, -100), size=wx.Size(152, 24), style=0, value=u'') self.tanggal_lahir = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANTANGGAL_LAHIR, name=u'tanggal_lahir', parent=self, pos=wx.Point(192, 368), size=wx.Size(200, 27), style=0, value=u'') self.namapengganti = wx.TextCtrl( id=wxID_KEJADIAN_KEMATIANNAMAPENGGANTI, name=u'namapengganti', parent=self, pos=wx.Point(-100, -100), size=wx.Size(200, 27), style=0, value=u'')
def __init__(self, roi_map): """ :param roi_map: roi map object :type roi_map: DatabaseROIs """ wx.Frame.__init__(self, None, title='ROI Map') set_frame_icon(self) self.roi_map = roi_map self.window_size = get_window_size(0.893, 0.762) self.SetSize(self.window_size) self.window = wx.SplitterWindow(self, wx.ID_ANY) self.window_tree = wx.Panel(self.window, wx.ID_ANY, style=wx.BORDER_SUNKEN) self.combo_box_tree_plot_data = wx.ComboBox(self.window_tree, wx.ID_ANY, choices=['All', 'Linked', 'Unlinked', 'Branched'], style=wx.CB_DROPDOWN | wx.CB_READONLY) self.plot = PlotROIMap(self.window_tree, roi_map) self.window_editor = wx.Panel(self.window, wx.ID_ANY, style=wx.BORDER_SUNKEN) self.combo_box_physician = wx.ComboBox(self.window_editor, wx.ID_ANY, choices=self.roi_map.get_physicians(), style=wx.CB_DROPDOWN | wx.CB_READONLY) self.combo_box_physician_roi = wx.ComboBox(self.window_editor, wx.ID_ANY, choices=[], style=wx.CB_DROPDOWN | wx.CB_READONLY) self.list_ctrl_variations = wx.ListCtrl(self.window_editor, wx.ID_ANY, style=wx.LC_NO_HEADER | wx.LC_REPORT | wx.BORDER_SUNKEN) self.button_variation_select_all = wx.Button(self.window_editor, wx.ID_ANY, "Select All") self.button_variation_deselect_all = wx.Button(self.window_editor, wx.ID_ANY, "Deselect All") self.button_variation_add = wx.Button(self.window_editor, wx.ID_ANY, "Add") self.button_variation_delete = wx.Button(self.window_editor, wx.ID_ANY, "Delete") self.button_variation_move = wx.Button(self.window_editor, wx.ID_ANY, "Move") self.button_variation_move.Disable() self.button_variation_delete.Disable() self.button_variation_deselect_all.Disable() self.button_physician = {'add': wx.Button(self.window_editor, wx.ID_ANY, "+"), 'del': wx.Button(self.window_editor, wx.ID_ANY, "-"), 'edit': wx.Button(self.window_editor, wx.ID_ANY, "Δ")} self.button_physician_roi = {'add': wx.Button(self.window_editor, wx.ID_ANY, "+"), 'del': wx.Button(self.window_editor, wx.ID_ANY, "-"), 'edit': wx.Button(self.window_editor, wx.ID_ANY, "Δ")} self.button_link_physician_roi = wx.Button(self.window_editor, wx.ID_ANY, "Link") self.button_link_physician_roi.Disable() self.combo_box_uncategorized_ignored = wx.ComboBox(self.window_editor, wx.ID_ANY, choices=["Uncategorized", "Ignored"], style=wx.CB_DROPDOWN | wx.CB_READONLY) self.combo_box_uncategorized_ignored_roi = wx.ComboBox(self.window_editor, wx.ID_ANY, choices=[], style=wx.CB_DROPDOWN) self.button_uncategorized_ignored_delete = wx.Button(self.window_editor, wx.ID_ANY, "Delete DVH") self.button_uncategorized_ignored_ignore = wx.Button(self.window_editor, wx.ID_ANY, "Ignore DVH") self.combo_box_physician_roi_merge = {'a': wx.ComboBox(self.window_editor, wx.ID_ANY, style=wx.CB_DROPDOWN), 'b': wx.ComboBox(self.window_editor, wx.ID_ANY, style=wx.CB_DROPDOWN)} self.button_merge = wx.Button(self.window_editor, wx.ID_ANY, "Merge") self.button_save_and_update = wx.Button(self.window_editor, wx.ID_ANY, "Save and Update Database") self.button_cancel = wx.Button(self.window_editor, wx.ID_ANY, "Cancel Changes and Reload") self.uncategorized_variations = {} self.columns = ['Variations'] self.data_table = DataTable(self.list_ctrl_variations, columns=self.columns, widths=[490]) self.__set_properties() self.__do_bind() self.__do_layout() self.plot.update_roi_map_source_data(self.physician) self.run()
def _init_ctrls(self, prnt): # generated method, don't edit wx.Frame.__init__(self, id=wxID_INPUT_DATA_KEMISKINAN, name=u'input_data_kemiskinan', parent=prnt, pos=wx.Point(427, 180), size=wx.Size(843, 453), style=wx.FRAME_NO_TASKBAR, title=u'Input Data Kemiskinan') self.SetClientSize(wx.Size(843, 453)) self.Center(wx.BOTH) self.penduduk = wx.ListCtrl(id=wxID_INPUT_DATA_KEMISKINANPENDUDUK, name=u'penduduk', parent=self, pos=wx.Point(16, 8), size=wx.Size(808, 184), style=wx.LC_REPORT) self._init_coll_penduduk_Columns(self.penduduk) self.penduduk.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnIsipendudukListItemSelected, id=wxID_INPUT_DATA_KEMISKINANPENDUDUK) self.staticText1 = wx.StaticText( id=wxID_INPUT_DATA_KEMISKINANSTATICTEXT1, label=u'Nomor Kartu Keluarga', name='staticText1', parent=self, pos=wx.Point(408, 200), size=wx.Size(145, 15), style=0) self.cari_kk = wx.TextCtrl(id=wxID_INPUT_DATA_KEMISKINANCARI_KK, name=u'cari_kk', parent=self, pos=wx.Point(560, 200), size=wx.Size(168, 25), style=0, value='') self.button1 = wx.Button(id=wxID_INPUT_DATA_KEMISKINANBUTTON1, label=u'Cari', name='button1', parent=self, pos=wx.Point(744, 200), size=wx.Size(80, 24), style=0) self.staticText2 = wx.StaticText( id=wxID_INPUT_DATA_KEMISKINANSTATICTEXT2, label=u'Nomor KK', name='staticText2', parent=self, pos=wx.Point(16, 240), size=wx.Size(65, 15), style=0) self.nomor_kk = wx.TextCtrl(id=wxID_INPUT_DATA_KEMISKINANNOMOR_KK, name=u'nomor_kk', parent=self, pos=wx.Point(96, 232), size=wx.Size(312, 25), style=0, value='') self.staticText3 = wx.StaticText( id=wxID_INPUT_DATA_KEMISKINANSTATICTEXT3, label=u'Alamat', name='staticText3', parent=self, pos=wx.Point(416, 232), size=wx.Size(47, 15), style=0) self.input_alamat = wx.TextCtrl( id=wxID_INPUT_DATA_KEMISKINANINPUT_ALAMAT, name=u'input_alamat', parent=self, pos=wx.Point(472, 232), size=wx.Size(352, 25), style=0, value='') self.staticText4 = wx.StaticText( id=wxID_INPUT_DATA_KEMISKINANSTATICTEXT4, label=u'Nama KK', name='staticText4', parent=self, pos=wx.Point(16, 264), size=wx.Size(60, 15), style=0) self.nama_kk = wx.TextCtrl(id=wxID_INPUT_DATA_KEMISKINANNAMA_KK, name=u'nama_kk', parent=self, pos=wx.Point(96, 264), size=wx.Size(312, 25), style=0, value='') self.staticText5 = wx.StaticText( id=wxID_INPUT_DATA_KEMISKINANSTATICTEXT5, label=u'Status Kemiskinan', name='staticText5', parent=self, pos=wx.Point(416, 264), size=wx.Size(119, 15), style=0) self.status_miskin = wx.ComboBox( choices=['Miskin', 'Tidak Miskin'], id=wxID_INPUT_DATA_KEMISKINANSTATUS_MISKIN, name=u'status_miskin', parent=self, pos=wx.Point(552, 264), size=wx.Size(272, 25), style=0, value='') self.staticText6 = wx.StaticText( id=wxID_INPUT_DATA_KEMISKINANSTATICTEXT6, label=u'Program Perlindungan Sosial', name='staticText6', parent=self, pos=wx.Point(16, 296), size=wx.Size(185, 15), style=0) self.cek_raskin = wx.CheckBox(id=wxID_INPUT_DATA_KEMISKINANCEK_RASKIN, label=u'Raskin', name=u'cek_raskin', parent=self, pos=wx.Point(16, 320), size=wx.Size(89, 18), style=0) self.cek_raskin.SetValue(False) self.cek_jkn = wx.CheckBox(id=wxID_INPUT_DATA_KEMISKINANCEK_JKN, label=u'JKN', name=u'cek_jkn', parent=self, pos=wx.Point(16, 344), size=wx.Size(89, 18), style=0) self.cek_jkn.SetValue(False) self.cek_blsm = wx.CheckBox(id=wxID_INPUT_DATA_KEMISKINANCEK_BLSM, label=u'BLSM', name=u'cek_blsm', parent=self, pos=wx.Point(16, 368), size=wx.Size(89, 18), style=0) self.cek_blsm.SetValue(False) self.cek_bsm = wx.CheckBox(id=wxID_INPUT_DATA_KEMISKINANCEK_BSM, label=u'BSM', name=u'cek_bsm', parent=self, pos=wx.Point(192, 320), size=wx.Size(89, 18), style=0) self.cek_bsm.SetValue(False) self.cek_pkh = wx.CheckBox(id=wxID_INPUT_DATA_KEMISKINANCEK_PKH, label=u'PKH', name=u'cek_pkh', parent=self, pos=wx.Point(192, 344), size=wx.Size(89, 18), style=0) self.cek_pkh.SetValue(False) self.cek_pkd = wx.CheckBox(id=wxID_INPUT_DATA_KEMISKINANCEK_PKD, label=u'Program Kesehatan Daerah', name=u'cek_pkd', parent=self, pos=wx.Point(192, 368), size=wx.Size(208, 18), style=0) self.cek_pkd.SetValue(False) self.cek_ppd = wx.CheckBox(id=wxID_INPUT_DATA_KEMISKINANCEK_PPD, label=u'Program Pendidikan Daerah', name=u'cek_ppd', parent=self, pos=wx.Point(416, 320), size=wx.Size(208, 18), style=0) self.cek_ppd.SetValue(False) self.cek_prolain = wx.CheckBox( id=wxID_INPUT_DATA_KEMISKINANCEK_PROLAIN, label=u'Program Lain', name=u'cek_prolain', parent=self, pos=wx.Point(416, 344), size=wx.Size(200, 18), style=0) self.cek_prolain.SetValue(False) self.button2 = wx.Button(id=wxID_INPUT_DATA_KEMISKINANBUTTON2, label=u'Simpan Data', name='button2', parent=self, pos=wx.Point(232, 400), size=wx.Size(192, 30), style=0) self.button2.Bind(wx.EVT_BUTTON, self.OnButton2Button, id=wxID_INPUT_DATA_KEMISKINANBUTTON2) self.button3 = wx.Button(id=wxID_INPUT_DATA_KEMISKINANBUTTON3, label=u'Kembali Ke Menu', name='button3', parent=self, pos=wx.Point(440, 400), size=wx.Size(184, 30), style=0) self.button3.Bind(wx.EVT_BUTTON, self.OnButton3Button, id=wxID_INPUT_DATA_KEMISKINANBUTTON3)
def __init__(self, parent, title="Stock flow"): wx.Dialog.__init__(self, parent, title=title, size=(800, 500), style=wx.RESIZE_BORDER) self.sizer = wx.FlexGridSizer(3, 1) #self.sizer = wx.BoxSizer(wx.VERTICAL) self.sizer.AddGrowableRow(1, 10) self.sizer.AddGrowableCol(0, 1) self.SetSizer(self.sizer) self.datesizer = wx.BoxSizer(wx.HORIZONTAL) self.sizer.Add(self.datesizer, 1, wx.ALL) self.fromtext = wx.StaticText(self, label="From") self.datesizer.Add(self.fromtext, 1, wx.ALL) t = wx.DateTime().Today() sub = wx.DateSpan().Month() t = t - sub self.datefrom = wx.DatePickerCtrl(self, -1, size=(100, 25), style=wx.DP_DROPDOWN) self.datefrom.SetValue(t) self.datesizer.Add(self.datefrom, 1, wx.ALL) self.totext = wx.StaticText(self, label=" To") self.datesizer.Add(self.totext, 1, wx.ALL) self.dateto = wx.DatePickerCtrl(self, -1, size=(100, 25), style=wx.DP_DROPDOWN) self.datesizer.Add(self.dateto, 1, wx.ALL) id = wx.NewId() self.flowctrl = wx.ListCtrl(self, id, style=wx.LC_REPORT | wx.SUNKEN_BORDER, size=(200, 100)) self.sizer.Add(self.flowctrl, 1, wx.ALL | wx.EXPAND) self.flowctrl.InsertColumn(0, 'ID', width=50) self.flowctrl.InsertColumn(1, 'Date', width=150) self.flowctrl.InsertColumn(2, 'Part', width=100) self.flowctrl.InsertColumn(3, 'Change', width=100) self.flowctrl.InsertColumn(4, 'Price', width=100) self.flowctrl.InsertColumn(5, 'Description', width=200) self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnSelect, self.flowctrl) self.btnClose = wx.Button(self, wx.ID_CLOSE) self.btnSizer = wx.BoxSizer(wx.HORIZONTAL) self.btnSizer.Add(self.btnClose) self.sizer.Add(self.btnSizer, 1, flag=wx.ALL | wx.ALIGN_CENTER, border=5) #self.Fit() self.Bind(wx.EVT_BUTTON, self.OnClose, self.btnClose) self.db = kpm_db.Kpm_Db(kpm_config.sqlconfig) self.UpdateFlow() self.selected_id = 0
def __init__(self, option_data): # wx Initialization wx.Frame.__init__(self, None, title="SU2 config file editor") # Define the main sizers self.frame_sizer = wx.BoxSizer(wx.HORIZONTAL) self.main_sizer = wx.BoxSizer(wx.HORIZONTAL) self.left_sizer = wx.BoxSizer(wx.VERTICAL) self.right_sizer = wx.BoxSizer(wx.VERTICAL) # Use a scrolled panel on the right side self.main_panel = wx.Panel(self) self.scroll_sizer = wx.BoxSizer(wx.VERTICAL) self.right_panel = sp.ScrolledPanel(self.main_panel, size=(500, 500)) self.right_panel.SetupScrolling() # Left side - list of option categories self.list_ctrl = wx.ListCtrl(self.main_panel, style=wx.LC_REPORT | wx.BORDER_SUNKEN, size=(300, 600)) self.list_ctrl.InsertColumn(0, 'Option Category') bigfont = wx.Font(20, wx.MODERN, wx.NORMAL, wx.BOLD) # Read the option_data and build controls self.ctrldict = {} self.optlabels = {} for j, category in enumerate(option_data): self.list_ctrl.InsertStringItem( j, category) # Add category to left size list self.optlabels[category] = wx.StaticText(self.right_panel, label=category) self.optlabels[category].SetFont(bigfont) if j > 0: self.scroll_sizer.AddSpacer(20) self.scroll_sizer.Add(self.optlabels[category], wx.EXPAND) self.ctrldict[category] = [] yctr = 0 for j, opt in enumerate(option_data[category]): if opt.option_type in [ "EnumOption", "MathProblem", "SpecialOption", "ConvectOption" ]: self.ctrldict[category].append( LabeledComboBox(self.right_panel, opt.option_name, opt.option_name, opt.option_default, opt.option_values, opt.option_type, opt.option_description)) else: self.ctrldict[category].append( LabeledTextCtrl(self.right_panel, opt.option_name, opt.option_name, opt.option_default, opt.option_type)) for control in self.ctrldict[category]: self.scroll_sizer.Add( control.GetSizer(), wx.EXPAND) # Add each control to the sizer self.lastctrl = control.GetCtrl() # Set right_panel to scroll vertically self.right_panel.SetSizer(self.scroll_sizer) # Set up menu menuBar = wx.MenuBar() m_file = wx.Menu() m_save = m_file.Append(wx.ID_SAVE, "&Save", "Save an SU2 .cfg file") m_open = m_file.Append(wx.ID_OPEN, "&Open", "Load an SU2 .cfg file") m_exit = m_file.Append(wx.ID_EXIT, "E&xit", "Close window and exit program.") menuBar.Append(m_file, "&File") self.SetMenuBar(menuBar) self.CreateStatusBar() # Specify which functions to call when stuff is changed self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.list_click, self.list_ctrl) self.Bind(wx.EVT_MENU, self.OnSave, m_save) self.Bind(wx.EVT_MENU, self.OnOpen, m_open) self.Bind(wx.EVT_SIZE, self.OnResize) self.right_panel.SetAutoLayout(1) # Add it all to the panel and draw self.left_sizer.SetMinSize((300, 600)) self.right_sizer.SetMinSize((300, 600)) self.list_ctrl.SetColumnWidth(0, 500) self.left_sizer.Add(self.list_ctrl, 0, wx.EXPAND) self.right_sizer.Add(self.right_panel, 0, wx.EXPAND) self.main_sizer.Add(self.left_sizer, 0, wx.EXPAND) self.main_sizer.Add(self.right_sizer, 0, wx.EXPAND) self.frame_sizer.Add(self.main_sizer, 0, wx.EXPAND) self.main_panel.SetSizer(self.main_sizer) self.SetSizer(self.frame_sizer) self.SetInitialSize()
def __init__(self, parent, id): super().__init__(parent, id, "Plugins") self.SetSize(500, 400) self.SetIcon(get_icon("plugin.ico")) self.CenterOnParent() main_panel = wx.Panel(self) main_splitter = wx.SplitterWindow(main_panel, style=wx.SP_3DSASH | wx.SP_LIVE_UPDATE) self.plugins_list = wx.ListCtrl(main_splitter, wx.ID_ANY, style=wx.LC_REPORT | wx.LC_SINGLE_SEL | wx.LC_HRULES) self.plugin_details_panel = wx.Panel(main_splitter) self.no_plugin_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "No plugin selected.") self.name_label_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "Name:") self.name_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "") self.type_label_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "Type:") self.type_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "") self.version_label_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "Version:") self.version_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "") self.author_label_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "Author:") self.author_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "") self.description_label_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "Description:") self.description_static = wx.StaticText(self.plugin_details_panel, wx.ID_ANY, "") self.plugins_list.SetAutoLayout(True) self.plugins_list.InsertColumn(0, "Name", wx.LIST_FORMAT_LEFT, 200) self.plugins_list.InsertColumn(1, "Type", wx.LIST_FORMAT_LEFT, 100) self.plugins_list.InsertColumn(2, "Version", wx.LIST_FORMAT_LEFT, 75) self.plugin_details_panel.SetBackgroundColour(wx.WHITE) main_splitter.SplitHorizontally(self.plugins_list, self.plugin_details_panel, 100) font = self.name_label_static.GetFont() font.SetWeight(wx.FONTWEIGHT_BOLD) for label in ["name_label", "type_label", "version_label", "author_label", "description_label"]: getattr(self, label + "_static").SetFont(font) main_sizer = wx.BoxSizer(wx.VERTICAL) self.SetSizer(main_sizer) main_panel_sizer = wx.BoxSizer(wx.VERTICAL) main_panel.SetSizer(main_panel_sizer) main_sizer.Add(main_panel, 1, wx.EXPAND) main_panel_sizer.Add(main_splitter, 1, wx.EXPAND) self.plugin_details_sizer = wx.BoxSizer(wx.VERTICAL) self.plugin_details_panel.SetSizer(self.plugin_details_sizer) self.plugin_details_sizer.Add(self.no_plugin_static, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.TOP, 5) self.plugin_details_sizer.Add(self.name_label_static, 0, wx.TOP, 5) self.plugin_details_sizer.Add(self.name_static) self.plugin_details_sizer.Add(self.type_label_static, 0, wx.TOP, 5) self.plugin_details_sizer.Add(self.type_static) self.plugin_details_sizer.Add(self.version_label_static, 0, wx.TOP, 5) self.plugin_details_sizer.Add(self.version_static) self.plugin_details_sizer.Add(self.author_label_static, 0, wx.TOP, 5) self.plugin_details_sizer.Add(self.author_static) self.plugin_details_sizer.Add(self.description_label_static, 0, wx.TOP, 5) self.plugin_details_sizer.Add(self.description_static) self.HidePluginDetails() self.Bind(wx.EVT_CLOSE, self.OnWindowClose) self.plugins_list.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected) self.plugins_list.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnItemDeselected) self.plugins = list(get_plugins()) self.viz_plugins = get_visualization_plugins() self.data_plugins = get_data_plugins() self.plugins = self.viz_plugins + self.data_plugins self.plugins.sort(key=lambda x: x.id) for p in self.plugins: self.AddPlugin(p)
def show(self, x, y): panel = wx.Panel(self) self.SetBackgroundColour(BACKGROUND_COLOR) self.Bind(wx.EVT_CLOSE, self.__onClose) sizer = wx.BoxSizer(wx.VERTICAL) self.__plList = wx.ListCtrl(panel, size=(300, 390), style=wx.LC_REPORT | wx.BORDER_DOUBLE) self.__plList.InsertColumn(0, "플레이리스트", wx.TEXT_ALIGNMENT_CENTER) self.__plList.SetColumnWidth(0, 300) for i in range(len(self.__pls)): self.__plList.InsertItem(i, self.__pls[i]['title']) sizer.Add(self.__plList, flag=wx.ALL, border=10) buttonBox = wx.BoxSizer(wx.HORIZONTAL) self.__startButton = wx.BitmapButton( panel, -1, wx.Bitmap(resource_path("images/playlistStartButtonIcon.png")), style=wx.NO_BORDER) self.__startButton.SetBackgroundColour(BACKGROUND_COLOR) self.Bind(wx.EVT_BUTTON, self.onClickStartButton, self.__startButton) self.Bind(wx.EVT_UPDATE_UI, self.__onCheckCanStart, self.__startButton) buttonBox.Add(self.__startButton, flag=wx.RIGHT, border=8) self.__infoButton = wx.BitmapButton( panel, -1, wx.Bitmap(resource_path("images/playlistInfoButtonIcon.png")), style=wx.NO_BORDER) self.__infoButton.SetBackgroundColour(BACKGROUND_COLOR) self.Bind(wx.EVT_BUTTON, self.__onClickInfoButton, self.__infoButton) self.Bind(wx.EVT_UPDATE_UI, self.__onCheckCanShowInfo, self.__infoButton) buttonBox.Add(self.__infoButton, flag=wx.RIGHT, border=8) self.__addButton = wx.BitmapButton( panel, -1, wx.Bitmap(resource_path("images/playlistAddButtonIcon.png")), style=wx.NO_BORDER) self.__addButton.SetBackgroundColour(BACKGROUND_COLOR) self.Bind(wx.EVT_BUTTON, self.__onClickAddButton, self.__addButton) self.Bind(wx.EVT_UPDATE_UI, self.__onCheckCanAdd, self.__addButton) buttonBox.Add(self.__addButton, flag=wx.RIGHT, border=8) self.__removeButton = wx.BitmapButton( panel, -1, wx.Bitmap(resource_path("images/playlistRemoveButtonIcon.png")), style=wx.NO_BORDER) self.__removeButton.SetBackgroundColour(BACKGROUND_COLOR) self.Bind(wx.EVT_BUTTON, self.__onClickRemoveButton, self.__removeButton) self.Bind(wx.EVT_UPDATE_UI, self.__onCheckCanRemove, self.__removeButton) buttonBox.Add(self.__removeButton, flag=wx.BOTTOM, border=10) sizer.Add(buttonBox, flag=wx.ALIGN_RIGHT | wx.RIGHT, border=10) panel.SetSizerAndFit(sizer) self.Fit() if x > 0 and y > 0: self.Move((x, y)) self.Show()