#!/bin/env python #---------------------------------------------------------------------------- # Name: TstLstIcon.py # Purpose: Lest Icon List # # Author: Lorne White # # Version: 0.8 # Licence: wxWindows, wxPython license #---------------------------------------------------------------------------- import sys, os from wxPython.wx import * class AppFrame(wxFrame): def __init__(self, parent, id=-1, title="New"): wxFrame.__init__(self, parent, id, title, wxPyDefaultPosition, wxSize(420, 320)) if wxPlatform == '__WXMSW__': self.icon = wxIcon('bitmaps/mondrian.ico', wxBITMAP_TYPE_ICO) self.SetIcon(self.icon) self.CreateStatusBar() self.mainmenu = wxMenuBar() menu = wxMenu() menu = self.MakeFileMenu() self.mainmenu.Append(menu, '&File') self.SetMenuBar(self.mainmenu) self.il = wxImageList(32, 32) self.idx1 = idx1 = self.il.Add(wxNoRefBitmap('table.bmp', wxBITMAP_TYPE_BMP)) self.idx2 = idx2 = self.il.Add(wxNoRefBitmap('query.bmp', wxBITMAP_TYPE_BMP)) self.nb = nb = wxNotebook(self, -1) self.list = wxListCtrl(nb, 1100, wxDefaultPosition, wxDefaultSize) nb.AddPage(self.list, "Tables") self.list.SetSingleStyle(wxLC_ICON) self.list.SetWindowStyleFlag(wxSTATIC_BORDER|wxVSCROLL) self.list.SetImageList(self.il, wxIMAGE_LIST_NORMAL) self.qlist = wxListCtrl(nb, 1200, wxDefaultPosition, wxDefaultSize) nb.AddPage(self.qlist, "Queries") self.qlist.SetSingleStyle(wxLC_ICON) self.qlist.SetWindowStyleFlag(wxSTATIC_BORDER|wxVSCROLL) self.qlist.SetImageList(self.il, wxIMAGE_LIST_NORMAL) self.UpdateView2() self.UpdateView1() self.nb.SetSelection(1) self.nb.SetSelection(0) #self.nb.Refresh() #self.nb.ResizeChildren() def MakeFileMenu(self): self.fl_mn = menu = wxMenu() mID = NewId() menu.Append(mID, 'E&xit', 'Exit') EVT_MENU(self, mID, self.OnFileExit) return menu def UpdateView1(self): vset = "ViewA " for i in range(20): self.list.InsertImageStringItem(i, vset + str(i), self.idx1) def UpdateView2(self): vset = "ViewB " for i in range(5): self.qlist.InsertImageStringItem(i, vset + str(i), self.idx2) def OnFileExit(self, event): self.Close() #--------------------------------------------------------------------------- class MyApp(wxApp): def OnInit(self): frame = AppFrame(NULL, -1, "Demo") frame.Show(true) self.SetTopWindow(frame) return true #--------------------------------------------------------------------------- def main(): app = MyApp(0) app.MainLoop() def t(): import pdb pdb.run('main()') if __name__ == '__main__': main()