import glob import wx import wx.lib.buttons as buttons from wx.adv import Wizard, WizardPageSimple class ServerPanel(wx.Frame): def __init__(self, parent): self.open_dashboard super().__init__(parent) main_sizer = wx.BoxSizer(wx.VERTICAL) secondary_sizer = wx.BoxSizer(wx.HORIZONTAL) menubar = wx.MenuBar() menu = wx.Menu() menubar.Append(menu,"File") self.SetMenuBar(menubar) tb = wx.ToolBar( self, -1) self.ToolBar = tb #tb.AddTool( wx.ID_ANY, '', wx.Bitmap("IPPigeonLogo.png")) tb.AddTool(0, '',wx.Bitmap("WXPython.png"), "Server Dashboard") tb.AddTool(1, '',wx.Bitmap("settings.png"), "Settings") #tb.Bind(wx.EVT_TOOL, self.Onright) #tb.Bind(wx.EVT_COMBOBOX,self.OnCombo) #self.combo = wx.ComboBox( tb, 555, value = "Times", choices = ["Papyrus","Times","Comic Sans"]) #tb.AddControl(self.combo ) tb.Realize() main_sizer.Add(tb) self.Show(True) self.row_obj_dict = {} self.list_ctrl = wx.ListCtrl( self, size=(-1, 100), style=wx.LC_REPORT | wx.BORDER_SUNKEN ) self.SetBackgroundColour(wx.BLACK) self.list_ctrl.InsertColumn(0, 'Server name', width=140) self.list_ctrl.InsertColumn(1, 'Port number', width=140) self.list_ctrl.InsertColumn(2, 'Status', width=200) main_sizer.Add(self.list_ctrl, 0, wx.ALL | wx.EXPAND, 5) start_button = wx.Button(self, label='Start') start_button.SetBackgroundColour((205, 215, 206)) start_button.Bind(wx.EVT_BUTTON, self.on_edit) stop_button = wx.Button(self, label='Stop') stop_button.SetBackgroundColour('#F08080') # wx.BORDER(stop_button, wx.BORDER_NONE) stop_button.Bind(wx.EVT_BUTTON, self.on_edit) main_sizer.Add(start_button, 0, wx.CENTER | 100, 5) main_sizer.Add(stop_button, 0, wx.CENTER | 100, 5) # start_button.SetWindowStyleFlag(wx.SIMPLE_BORDER) # stop_button.SetWindowStyleFlag(wx.SIMPLE_BORDER) # wx.StaticBitmap(self, -1, png, (500, 300), (png.GetWidth(), png.GetHeight())) self.SetSizer(main_sizer) self.Bind(wx.EVT_TOOL, self.open_dashboard, id=0) self.Bind(wx.EVT_TOOL, self.open_settings, id=1) # self.Bind(wx.EVT_BUTTON, super().__init__(parent)) # self.Bind(wx.EVT_BUTTON, self.open_settings) def on_edit(self, event): print('in on_edit') def open_dashboard(self, e): print("open dashboard") def open_settings(self,e): print("open settings") dg = GetData(parent = None) dg.ShowModal() # box = wx.TextEntryDialog(None, "Host: ") # if box.ShowModal() == wx.ID_OK: # answer = box.GetValue() # main_sizer = wx.BoxSizer(wx.VERTICAL) # self.Bind(wx.EVT_TOOL, self.open_dashboard, id=0) # self.Bind(wx.EVT_TOOL, self.open_settings, id=1) class GetData(wx.Dialog): def __init__(self, parent): wx.Dialog.__init__(self, parent, wx.ID_ANY, "User Settings: ", size = (800,440)) self.p = wx.Panel(self, wx.ID_ANY) self.hostname = wx.StaticText(self.p, label="Host", pos=(20,20)) self.hostnametext = wx.TextCtrl(self.p, value="", pos=(180,20), size=(500,-1)) self.user = wx.StaticText(self.p, label="User: ", pos=(20,60)) self.usertext = wx.TextCtrl(self.p, value="", pos=(180,60), size=(500,-1)) self.port = wx.StaticText(self.p, label="Port: ", pos=(20,100)) self.porttext = wx.TextCtrl(self.p, value="", pos=(180,100), size=(500,-1)) self.keyfile = wx.StaticText(self.p, label="Keyfile: ", pos=(20,140)) self.keyfiletext = wx.TextCtrl(self.p, value="", pos=(180,140), size=(500,-1)) self.filepathsend = wx.StaticText(self.p, label="Sending File Path: ", pos=(20,180)) self.filepathsendtext = wx.TextCtrl(self.p, value="", pos=(180,180), size=(500,-1)) self.filepathsendlogin = wx.StaticText(self.p, label="Sending Login Path: ", pos=(20,220)) self.filepathsendlogintext = wx.TextCtrl(self.p, value="", pos=(180,220), size=(500,-1)) self.filepathreceive = wx.StaticText(self.p, label="Receiving File Path: ", pos=(20,260)) self.filepathreceivetext = wx.TextCtrl(self.p, value="", pos=(180,260), size=(500,-1)) self.filepathreceivelogin = wx.StaticText(self.p, label="Receiving Login Path: ", pos=(20,300)) self.filepathreceivelogintext = wx.TextCtrl(self.p, value="", pos=(180,300), size=(500,-1)) self.darkmode = wx.StaticText(self.p, label="Dark mode (On/Off): ", pos=(20,340)) self.darkmodetext = wx.TextCtrl(self.p, value="", pos=(180,340), size=(500,-1)) self.interval = wx.StaticText(self.p, label="Interval (sec): ", pos=(20,380)) self.interval = wx.TextCtrl(self.p, value="", pos=(180,380), size=(500,-1)) self.Bind(wx.EVT_CLOSE, self.OnQuit) def OnQuit(self, event): self.result_name = None self.Destroy() def on_edit(self, event): print('in on_edit') class ServerFrame(wx.Frame): def __init__(self): super().__init__(parent=None, title='Server Dashboard') self.frame = ServerPanel(self) # image = wx.StaticBitmap(self, wx.ID_ANY) # image.SetBitmap(wx.Bitmap('WXPython.png')) # self.Show() if __name__ == '__main__': app = wx.App(False) frame = ServerFrame() app.MainLoop()