def CreatePanel(self): self.list = SelectableListCtrl(self) self.list.InsertColumn(0, 'Torrent') self.list.setResizeColumn(0) self.list.Bind(wx.EVT_LEFT_DCLICK, self.OnDoubleClick) self.list.SetMinSize((1, 80)) return self.list
def AddComponents(self): self.graph_panel = wx.Panel(self, -1) self.graph_panel.Bind(wx.EVT_MOTION, self.OnMouse) self.graph_panel.Bind(wx.EVT_LEFT_UP, self.OnMouse) self.graph_panel.Bind(wx.EVT_PAINT, self.OnPaint) self.graph_panel.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.circuit_list = SelectableListCtrl(self, style=wx.LC_REPORT | wx.BORDER_SIMPLE) self.circuit_list.InsertColumn(0, 'ID', wx.LIST_FORMAT_LEFT, 25) self.circuit_list.InsertColumn(1, 'Online', wx.LIST_FORMAT_RIGHT, 50) self.circuit_list.InsertColumn(2, 'Hops', wx.LIST_FORMAT_RIGHT, 45) self.circuit_list.InsertColumn(3, u'Bytes \u2191', wx.LIST_FORMAT_RIGHT, 83) self.circuit_list.InsertColumn(4, u'Bytes \u2193', wx.LIST_FORMAT_RIGHT, 83) self.circuit_list.InsertColumn(5, 'Uptime', wx.LIST_FORMAT_RIGHT, 54) self.circuit_list.setResizeColumn(0) self.circuit_list.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected) self.circuit_list.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnItemSelected) self.circuit_to_listindex = {} if self.fullscreen: self.log_text = wx.TextCtrl(self, style=wx.TE_MULTILINE | wx.BORDER_SIMPLE | wx.HSCROLL & wx.VSCROLL) self.log_text.SetEditable(False) self.log_text.Show(self.fullscreen) self.num_circuits_label = wx.StaticText( self, -1, "You have 0 circuit(s); 0 relay(s); \ 0 exit socket(s); 0 candidate(s)") self.vSizer = wx.BoxSizer(wx.VERTICAL) self.vSizer.Add(self.circuit_list, 1, wx.EXPAND | wx.RESERVE_SPACE_EVEN_IF_HIDDEN, 0) if self.fullscreen: self.vSizer.Add(self.log_text, 1, wx.EXPAND | wx.TOP, 10) self.vSizer.Add(self.num_circuits_label, 0, wx.EXPAND | wx.TOP, 10) self.main_sizer = wx.BoxSizer(wx.HORIZONTAL) self.main_sizer.Add(self.graph_panel, 3, wx.EXPAND | wx.LEFT | wx.TOP | wx.BOTTOM, 10) self.main_sizer.Add(self.vSizer, 2, wx.EXPAND | wx.ALL, 10) self.SetSizer(self.main_sizer)