def __init__(self, parent): wx.Panel.__init__(self, parent, -1) self.list = wx.ListCtrl( self, -1, style=wx.LC_LIST #| wx.BORDER_SUNKEN #| wx.BORDER_NONE #| wx.LC_EDIT_LABELS #| wx.LC_SORT_ASCENDING #| wx.LC_NO_HEADER #| wx.LC_VRULES #| wx.LC_HRULES | wx.LC_SINGLE_SEL) self.imagelist = wx.ImageList(16, 16) self.imagelist.Add(IconImages.getPythonBitmap()) self.imagelist.Add(IconImages.getIfBitmap()) self.imagelist.Add(IconImages.getLoopBitmap()) self.imagelist.Add(IconImages.getBlockBitmap()) self.list.SetImageList(self.imagelist, wx.IMAGE_LIST_SMALL) self.list.InsertImageStringItem(0, 'SCRIPT', 0) self.list.InsertImageStringItem(1, 'IF', 1) self.list.InsertImageStringItem(2, 'LOOP', 2) self.list.InsertImageStringItem(3, 'BLOCK', 3) # layout import Layout Layout.SingleLayout(self, self.list) # event binding self.list.Bind(wx.EVT_LIST_BEGIN_DRAG, self.OnBeginDrag) # self.BindGetUserData()
def __init__(self, parent): wx.Panel.__init__(self, parent, -1) self.list = wx.ListCtrl(self, -1, style=wx.LC_LIST #| wx.BORDER_SUNKEN #| wx.BORDER_NONE #| wx.LC_EDIT_LABELS #| wx.LC_SORT_ASCENDING #| wx.LC_NO_HEADER #| wx.LC_VRULES #| wx.LC_HRULES | wx.LC_SINGLE_SEL ) self.imagelist = wx.ImageList(16, 16) self.imagelist.Add(IconImages.getPythonBitmap()) self.imagelist.Add(IconImages.getIfBitmap()) self.imagelist.Add(IconImages.getLoopBitmap()) self.imagelist.Add(IconImages.getBlockBitmap()) self.list.SetImageList(self.imagelist, wx.IMAGE_LIST_SMALL) self.list.InsertImageStringItem(0, 'SCRIPT', 0) self.list.InsertImageStringItem(1, 'IF', 1) self.list.InsertImageStringItem(2, 'LOOP', 2) self.list.InsertImageStringItem(3, 'BLOCK', 3) # layout import Layout Layout.SingleLayout(self, self.list) # event binding self.list.Bind(wx.EVT_LIST_BEGIN_DRAG, self.OnBeginDrag) # self.BindGetUserData()
def InitTree(self): self.tree = Tree(self, multiple = True) self.root = self.tree.root # FIXME: duplicated code in RecordPanel.py import ContentTypeHandler icons = { Special : (IconImages.getSpecialOffBitmap(), IconImages.getSpecialBitmap()), Record.Record : IconImages.getRecordBitmap(), Record.Page : IconImages.getPageBitmap(), Record.Hit : IconImages.getHitBitmap(), Controller.Script: IconImages.getPythonBitmap(), Controller.If : IconImages.getIfBitmap(), Controller.Loop : IconImages.getLoopBitmap(), Controller.Block : IconImages.getBlockBitmap(), ContentTypeHandler.DefaultContentType : IconImages.getWebBitmap(), ContentTypeHandler.AMFContentType : IconImages.getFlexBitmap(), ContentTypeHandler.HTMLContentType : IconImages.getWebBitmap(), ContentTypeHandler.XMLContentType : IconImages.getXMLBitmap(), ContentTypeHandler.PythonContentType : IconImages.getPythonBitmap(), ContentTypeHandler.BinContentType : IconImages.getBinaryBitmap(), } self.tree.SetIcons(icons) def GetType(data): if isinstance(data, Record.Hit): # TODO: this check is for compatibility, remove it in future if isinstance(data.req_handler, ContentTypeHandler.ContentType): return data.req_handler.__class__ else: # You see, really dirty trick, so remove it in future... if 'AMF' in str(data.req_handler.coder): return ContentTypeHandler.AMFContentType else: return data.__class__ else: return data.__class__ self.tree.GetType = GetType