import os, sys import wx #------------------------------------------------------------------------------ def CreateDummyDataList() : dummyData_list = [] for i in xrange( 15, 0, -1) : # test listBox sorting dummyData_list.append( 'ListBox Date Entry %02d' % (i) ) return dummyData_list #end def #------------------------------------------------------------------------------ class MyList_Panel( wx.Panel ) : """ Notebook page for Play Lists maintenance """ def __init__( self, parent ) : wx.Panel.__init__( self, parent=parent, id=-1 ) #-------------------- ListBox_list = CreateDummyDataList() #-------------------- panel_vertSizer = wx.BoxSizer( wx.VERTICAL ) allControls_horzSizer = wx.BoxSizer( wx.HORIZONTAL ) myList_vertSizer = wx.BoxSizer( wx.VERTICAL ) myList_vertSizer.AddSpacer( 10 ) myList_statText = wx.StaticText( self, -1, label='MY LIST', style=wx.TE_READONLY) myList_statText.SetBackgroundColour( self.GetBackgroundColour() ) # the panel color myList_vertSizer.Add( myList_statText, proportion=0, flag=wx.ALIGN_CENTER_HORIZONTAL, border=2 ) myList_vertSizer.AddSpacer( 3 ) lbStyle = wx.LB_EXTENDED | wx.LB_NEEDED_SB | wx.LB_SORT if (os.name == 'nt') : lbStyle |= wx.LB_HSCROLL # only for MSW #VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV self.myLists_lbox = wx.ListBox( self, -1, size=(-1, 300), choices=ListBox_list, style=lbStyle ) myList_vertSizer.Add( self.myLists_lbox, proportion=0, flag=wx.EXPAND ) allControls_horzSizer = wx.BoxSizer( wx.HORIZONTAL ) allControls_horzSizer.AddSpacer( 25 ) #VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV achs_borderflags = wx.RIGHT allControls_horzSizer.Add( myList_vertSizer, proportion=0, flag=achs_borderflags, border=25 ) self.newmyList_btn = wx.Button( self, -1, label='Add New List Entry' ) allControls_horzSizer.Add( self.newmyList_btn, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT ) acvs_borderFlags = wx.ALL panel_vertSizer.Add( allControls_horzSizer, proportion=0, flag=acvs_borderFlags, border=25 ) panel_vertSizer.AddSpacer( 10 ) self.SetAutoLayout(True) self.SetSizer( panel_vertSizer ) self.Layout() #end __init__ #end MyList_Panel #------------------------------------------------------------------------------ class AppFrame( wx.Frame ) : # As simple as possible def __init__( self ) : """ """ wx.Frame.__init__( self, None, wx.NewId(), title='List Panel', size=(600, 450), pos=(600, 0) ) # good params for debug self.panel = MyList_Panel( self ) self.Show() #end __init #end class #============================================================================== if __name__ == '__main__' : app = wx.PySimpleApp( redirect=False ) frame = AppFrame() app.MainLoop() #end if