bsp; [1,"Job", wxLIST_AUTOSIZE_USEHEADER, wxLIST_AUTOSIZE], [2,"Work", wxLIST_AUTOSIZE_USEHEADER, wxLIST_AUTOSIZE], ] for c in self.config_column: self.ctrl.InsertColumn(c[0],c[1]) self.ctrl.SetColumnWidth(c[0], c[2]) def Refresh(self,workers): # filling data self.ctrl.DeleteAllItems() for i in range(0,5): index = self.ctrl.InsertStringItem(sys.maxint, "") #insert nothing, just get index self.ctrl.SetStringItem(index, 0, "val0") #0 means first column self.ctrl.SetStringItem(index, 1, "val1") self.ctrl.SetStringItem(index, 2, "val2") # after filling data, resize column for c in self.config_column: self.ctrl.SetColumnWidth(c[0], c[3]) class jobList: def __init__(self, parent, id, details=None): assert(parent<>None) assert(id<>None) self.id=id self.ctrl=parent.FindWindowById(self.id) assert(self.ctrl<>None) self.details=details #init list header self.config_column=[ #id; #name; #size; #after filling data we resize [0,"ID", wxLIST_AUTOSIZE_USEHEADER, wxLIST_AUTOSIZE], [1,"Owner", wxLIST_AUTOSIZE_USEHEADER, wxLIST_AUTOSIZE], [2,"Name", wxLIST_AUTOSIZE_USEHEADER, wxLIST_AUTOSIZE], [3,"Status", wxLIST_AUTOSIZE_USEHEADER, wxLIST_AUTOSIZE], [4,"Work", wxLIST_AUTOSIZE_USEHEADER, wxLIST_AUTOSIZE], ] for c in self.config_column: self.ctrl.InsertColumn(c[0],c[1]) self.ctrl.SetColumnWidth(c[0], c[2]) self.MessageMap(self.ctrl) def Refresh(self,jobs): # data buffer shared by other #print list_data #debug self.ctrl.DeleteAllItems() for i in range(0,5): index = self.ctrl.InsertStringItem(sys.maxint, "") #insert nothing, just get index self.ctrl.SetStringItem(index, 0, "val0") #0 means first column self.ctrl.SetStringItem(index, 1, "val1") self.ctrl.SetStringItem(index, 2, "val2") self.ctrl.SetStringItem(index, 3, "val3") # add better conversion to text self.ctrl.SetStringItem(index, 4, "val4") # after filling data, resize column for c in self.config_column: self.ctrl.SetColumnWidth(c[0], c[3])
#----- Message Map and Event Handler ----- begin def MessageMap(self,ctrl): EVT_LIST_ITEM_SELECTED(ctrl,self.id,self.OnItemSelected) EVT_LIST_ITEM_DESELECTED(ctrl,self.id,self.OnItemDeselected) def OnItemSelected(self,event): if self.details<>None: #dump everything about a job self.details.SetValue("rubbish data") pass pass def OnItemDeselected(self,event): print "OnListItemDeselected" #debug if self.details<>None: self.details.Clear() pass #----- Message Map and Event Handler ----- end
#main application class myApp(wxApp): def OnInit(self): #load ctrls from resources self.res = wxXmlResource("main.xrc") self.idf_main = self.res.LoadFrame(None, "idf_main") self.idc_main_menubar = self.res.LoadMenuBar("idc_main_menubar") 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页 [平面设计]如何使用FireWorks制作沿路径排列的文字效果 [网络技术]如何使用DOS命令有计划地重新启动IIS [电脑技术]图文解说如何使用QQ截图 [系统软件]如何使用WinMe的系统还原功能 [系统软件]如何使用Ghost备份和恢复系统 [VB.NET程序]如何使用 VB 编写自动反安装的程序? [VB.NET程序]DX: Full Screen GUI Development 2 [VB.NET程序]DX: Full Screen GUI Development 1 [网页制作]如何使用Microsoft FrontPage 2000制作动态按钮 [Web开发]如何使用ajax开发web应用程序(三)
|