def peerEntry(self, peer): ''' Create a new peer entry. ''' id = wx.NewId() sizer = wx.BoxSizer(wx.HORIZONTAL) peer_status = wx.StaticBitmap(self) peer_status.SetBitmap(self.offline) peer_name = wx.StaticText(self, -1, peer) sizer.Add(peer_status) sizer.Add(peer_name) peer_delete = wx.BitmapButton(self, id, bitmap = self.delete, style = wx.ALIGN_RIGHT) self.Bind(wx.EVT_BUTTON, self.onDeletePeer, peer_delete) sizer.Add(wx.StaticText(self, -1, ' '), 1) sizer.Add(peer_delete) self.peer_sizer.Add(sizer, 0, wx.EXPAND) self.peers[id] = {'name': peer, 'widget': sizer, 'status': peer_status} self.names[peer] = id gaParams.addPeer(peer) self.Layout() self.Refresh() self.onRefresh(None)
def onEditPeer(self, event): ''' Edit an existing peer IP. ''' peer_obj = event.GetEventObject() def_value = peer_obj.GetLabel() dialog = wx.TextEntryDialog(self, 'Edit Peer IP Address', 'Edit Peer', def_value) if dialog.ShowModal() == wx.ID_OK: newPeer = str(dialog.GetValue().strip()) if not self.names.has_key(newPeer): peer_obj.SetLabel(newPeer) gaParams.addPeer(newPeer) gaParams.delPeer(def_value) id = self.names.pop(def_value) self.names[newPeer] = id self.peers[id]['name'] = newPeer