def __init__(self, parent): wx.Panel.__init__(self, parent) #, style=wx.SIMPLE_BORDER Observable.__init__(self) # Controls self.balance = BalancePanel(self) self.send_button = wx.Button(self, label="Send") self.receive_button = wx.Button(self, label="Receive") self.keylist = wx.ListCtrl(self, style=wx.LC_REPORT, size=(400,100)) self.keylist.InsertColumn(0, "Public Key") self.keylist.InsertColumn(1, "Private Key") self.keylist.InsertColumn(2, "Address") self.keylist.InsertColumn(3, "Description") self.keylist.SetColumnWidth(2, 250) self.keylist.SetColumnWidth(3, 250) self.show_hide_private_keys_button = wx.Button(self, label="Show Hide Private Keys") self.txhistory_list = wx.ListCtrl(self,style=wx.LC_REPORT, size=(400,100)) self.txhistory_list.InsertColumn(0, "Date") self.txhistory_list.InsertColumn(1, "Address") self.txhistory_list.InsertColumn(2, "Label") self.txhistory_list.InsertColumn(3, "Amount") self.txhistory_list.InsertColumn(4, "Confirmed") self.txhistory_list.SetColumnWidth(0, 120) self.txhistory_list.SetColumnWidth(1, 250) # Sizers self.sizer = wx.BoxSizer(orient=wx.VERTICAL) self.sizer.Add(self.balance, 0, wx.EXPAND) send_receive_sizer = wx.BoxSizer(orient=wx.HORIZONTAL) send_receive_sizer.Add(self.send_button, 0, wx.LEFT) send_receive_sizer.Add(self.receive_button, 0, wx.LEFT) self.sizer.Add(send_receive_sizer, 0, wx.EXPAND) self.sizer.Add(wx.StaticText(self, -1, "Keys: "), 0) self.sizer.Add(self.keylist, 0, wx.EXPAND) self.sizer.Add(self.show_hide_private_keys_button, 0) #self.sizer.Add(self.address_book, 0, wx.EXPAND) self.sizer.Add(wx.StaticText(self, -1, "Transactions: "), 0) self.sizer.Add(self.txhistory_list, 1, wx.EXPAND) self.SetSizer(self.sizer) # Events self.show_hide_private_keys_button.Bind(wx.EVT_BUTTON, self.on_show_hide_private_keys) self.send_button.Bind(wx.EVT_BUTTON, self.on_send) self.receive_button.Bind(wx.EVT_BUTTON, self.on_receive) # ChildViews (could be moved into some View directory service) self.send_view = SendView(self) self.receive_view = ReceiveView(self) self.enter_passphrase_view = EnterPassphraseView(self) # Initialize private data self.keylist_idpool = IdPool() self.keys = {} self.key_itemids = {} self.itemdata_ids = IdPool() self.tx_history_items = {} # id => itemdata_ids
def __init__(self, parent): super(NodeView, self).__init__(parent, size=(380, 600)) self.list = wx.ListCtrl(self, style=wx.LC_REPORT) self.list.InsertColumn(0, "ip") self.list.SetColumnWidth(0, 80) self.list.InsertColumn(1, "port") self.list.SetColumnWidth(1, 50) self.list.InsertColumn(2, "status") self.list.SetColumnWidth(2, 80) self.list.InsertColumn(3, "version") self.list.SetColumnWidth(3, 80) self.list.InsertColumn(4, "height") self.list.SetColumnWidth(4, 80) self.banned_label = wx.StaticText(self, -1, "Banned nodes:") self.banned_nodes = wx.ListCtrl(self, style=wx.LC_REPORT) self.banned_nodes.InsertColumn(0, "ip") self.banned_nodes.SetColumnWidth(0, 80) self.banned_nodes.InsertColumn(1, "port") self.banned_nodes.SetColumnWidth(1, 50) self.banned_nodes.InsertColumn(2, "reason") self.banned_nodes.SetColumnWidth(2, 150) self.sizer = wx.BoxSizer(orient=wx.VERTICAL) self.sizer.Add(self.list, 3, wx.EXPAND) self.sizer.Add(self.banned_label) self.sizer.Add(self.banned_nodes, 1, wx.EXPAND) self.SetSizer(self.sizer) self.listitem_id_pool = IdPool() self.connections = {} # SockAddr => listitem_id