Add new UI files
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								WXPython.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								WXPython.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 28 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								WXPython_30x30.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								WXPython_30x30.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.9 KiB  | 
							
								
								
									
										313
									
								
								panel.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										313
									
								
								panel.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,313 @@
 | 
				
			|||||||
 | 
					import glob
 | 
				
			||||||
 | 
					import wx
 | 
				
			||||||
 | 
					import wx.lib.buttons as buttons
 | 
				
			||||||
 | 
					import numpy as np
 | 
				
			||||||
 | 
					import pandas as pd
 | 
				
			||||||
 | 
					from util import sysid
 | 
				
			||||||
 | 
					from util import setup_child
 | 
				
			||||||
 | 
					from util import fprint
 | 
				
			||||||
 | 
					from util import find_data_file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BG_IMG = 'icon.png'
 | 
				
			||||||
 | 
					filename = sysid + "gendata.csv"
 | 
				
			||||||
 | 
					COLUMN_NAMES = np.flip(['Executable', 'Protocol', 'Source IP', 'Destination IP',  'Status', 'PID'])
 | 
				
			||||||
 | 
					TEST_FILE = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					displaydata = None
 | 
				
			||||||
 | 
					settings = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					killme = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class OtherFrame(wx.Frame):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Class used for creating frames other than the main one
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    def __init__(self):
 | 
				
			||||||
 | 
					        wx.Frame.__init__(self, None, -1, 'Server Panel', size=(600, 250))
 | 
				
			||||||
 | 
					        panel = ServerPanel(self)
 | 
				
			||||||
 | 
					        self.Show()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def on_edit(self, event):
 | 
				
			||||||
 | 
					        fprint('in on_edit')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def on_window(self, event):
 | 
				
			||||||
 | 
					       return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class HelpFrame(wx.Frame):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Class used for creating frames other than the main one
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    def __init__(self):
 | 
				
			||||||
 | 
					        wx.Frame.__init__(self, None, -1, 'Help', size=(600, 250))
 | 
				
			||||||
 | 
					        panel = HelpPanel(self)
 | 
				
			||||||
 | 
					        self.Show()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Panel with all the login widgets
 | 
				
			||||||
 | 
					class LoginPanel(wx.Panel):
 | 
				
			||||||
 | 
					    def __init__(self, parent):
 | 
				
			||||||
 | 
					        super(LoginPanel, self).__init__(parent)
 | 
				
			||||||
 | 
					        self.SetBackgroundColour((44, 51, 51))
 | 
				
			||||||
 | 
					        basicLabel = wx.StaticText(self, -1, "Username")
 | 
				
			||||||
 | 
					        basicLabel.SetForegroundColour((255,255,255))
 | 
				
			||||||
 | 
					        global basicText
 | 
				
			||||||
 | 
					        global pwdText
 | 
				
			||||||
 | 
					        basicText = wx.TextCtrl(self, -1, "", size=(175, -1))
 | 
				
			||||||
 | 
					        # basicText.SetInsertionPoint(0)
 | 
				
			||||||
 | 
					        pwdLabel = wx.StaticText(self, -1, "Password")
 | 
				
			||||||
 | 
					        pwdText = wx.TextCtrl(self, -1, "", size=(175, -1), style=wx.TE_PASSWORD)
 | 
				
			||||||
 | 
					        #pwdText.Bind(wx.EVT_TEXT_ENTER, self.on_login) # press enter in password field to login
 | 
				
			||||||
 | 
					        pwdLabel.SetForegroundColour((255, 255, 255))
 | 
				
			||||||
 | 
					        vbox = wx.BoxSizer(wx.VERTICAL)
 | 
				
			||||||
 | 
					        hbox = wx.BoxSizer(wx.HORIZONTAL)
 | 
				
			||||||
 | 
					        vbox.Add(basicLabel, 0, wx.ALIGN_CENTER | 100, 5)
 | 
				
			||||||
 | 
					        vbox.Add(basicText, 0, wx.ALIGN_CENTER | 100, 5)
 | 
				
			||||||
 | 
					        vbox.Add(pwdLabel, 0, wx.ALIGN_CENTER | 100, 5)
 | 
				
			||||||
 | 
					        vbox.Add(pwdText, 0, wx.ALIGN_CENTER | 100, 5)
 | 
				
			||||||
 | 
					        login_button = wx.Button(self, label='Login')
 | 
				
			||||||
 | 
					        login_button.Bind(wx.EVT_BUTTON, self.on_login)
 | 
				
			||||||
 | 
					        help_button = wx.Button(self, label='Help')
 | 
				
			||||||
 | 
					        help_button.Bind(wx.EVT_BUTTON, self.on_help)
 | 
				
			||||||
 | 
					        # signup_button = wx.Button(self, label='Sign Up')
 | 
				
			||||||
 | 
					        hbox.Add(login_button, 0, wx.ALL | 200, 20)
 | 
				
			||||||
 | 
					        # hbox.Add(signup_button, 0, wx.ALL | 200, 20)
 | 
				
			||||||
 | 
					        hbox.Add(help_button, 0, wx.ALL | 200, 20)
 | 
				
			||||||
 | 
					        vbox.Add(hbox, 0, wx.ALIGN_CENTER | 100, 5)
 | 
				
			||||||
 | 
					        self.SetSizer(vbox)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def on_login(self, event):
 | 
				
			||||||
 | 
					        # check for login verification
 | 
				
			||||||
 | 
					        settings["username"] = basicText.GetValue()
 | 
				
			||||||
 | 
					        settings["password"] = pwdText.GetValue()
 | 
				
			||||||
 | 
					        settings["login"] = True
 | 
				
			||||||
 | 
					        OtherFrame()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def on_help(self, event):
 | 
				
			||||||
 | 
					        HelpFrame()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Panel with all the login widgets
 | 
				
			||||||
 | 
					class HelpPanel(wx.Panel):
 | 
				
			||||||
 | 
					    def __init__(self, parent):
 | 
				
			||||||
 | 
					        super(HelpPanel, self).__init__(parent)
 | 
				
			||||||
 | 
					        self.SetBackgroundColour((44, 51, 51))
 | 
				
			||||||
 | 
					        # basicLabel = wx.StaticText(self, -1, "Username")
 | 
				
			||||||
 | 
					        # basicLabel.SetForegroundColour((255,255,255))
 | 
				
			||||||
 | 
					        # basicText = wx.TextCtrl(self, -1, "", size=(175, -1))
 | 
				
			||||||
 | 
					        #
 | 
				
			||||||
 | 
					        # # basicText.SetInsertionPoint(0)
 | 
				
			||||||
 | 
					        # pwdLabel = wx.StaticText(self, -1, "Password")
 | 
				
			||||||
 | 
					        # pwdText = wx.TextCtrl(self, -1, "", size=(175, -1), style=wx.TE_PASSWORD)
 | 
				
			||||||
 | 
					        # pwdLabel.SetForegroundColour((255, 255, 255))
 | 
				
			||||||
 | 
					        # vbox = wx.BoxSizer(wx.VERTICAL)
 | 
				
			||||||
 | 
					        # hbox = wx.BoxSizer(wx.HORIZONTAL)
 | 
				
			||||||
 | 
					        # vbox.Add(basicLabel, 0, wx.ALIGN_CENTER | 100, 5)
 | 
				
			||||||
 | 
					        # vbox.Add(basicText, 0, wx.ALIGN_CENTER | 100, 5)
 | 
				
			||||||
 | 
					        # vbox.Add(pwdLabel, 0, wx.ALIGN_CENTER | 100, 5)
 | 
				
			||||||
 | 
					        # vbox.Add(pwdText, 0, wx.ALIGN_CENTER | 100, 5)
 | 
				
			||||||
 | 
					        # login_button = wx.Button(self, label='Login')
 | 
				
			||||||
 | 
					        # login_button.Bind(wx.EVT_BUTTON, self.on_login)
 | 
				
			||||||
 | 
					        # help_button = wx.Button(self, label='Help')
 | 
				
			||||||
 | 
					        # # signup_button = wx.Button(self, label='Sign Up')
 | 
				
			||||||
 | 
					        # hbox.Add(login_button, 0, wx.ALL | 200, 20)
 | 
				
			||||||
 | 
					        # # hbox.Add(signup_button, 0, wx.ALL | 200, 20)
 | 
				
			||||||
 | 
					        # hbox.Add(help_button, 0, wx.ALL | 200, 20)
 | 
				
			||||||
 | 
					        # vbox.Add(hbox, 0, wx.ALIGN_CENTER | 100, 5)
 | 
				
			||||||
 | 
					        # self.SetSizer(vbox)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class ServerPanel(wx.Panel):
 | 
				
			||||||
 | 
					    def __init__(self, parent):
 | 
				
			||||||
 | 
					        super().__init__(parent, size=(500, 500))
 | 
				
			||||||
 | 
					        self.SetBackgroundColour((44, 51, 51))
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        main_sizer = wx.BoxSizer(wx.VERTICAL)
 | 
				
			||||||
 | 
					        secondary_sizer = wx.BoxSizer(wx.HORIZONTAL)
 | 
				
			||||||
 | 
					        self.row_obj_dict = {}
 | 
				
			||||||
 | 
					        self.list_ctrl = wx.ListCtrl(
 | 
				
			||||||
 | 
					            self, size=(-1, 200),
 | 
				
			||||||
 | 
					            style=wx.LC_REPORT | wx.BORDER_SUNKEN
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        tb = wx.ToolBar( self, -1)
 | 
				
			||||||
 | 
					        self.ToolBar = tb
 | 
				
			||||||
 | 
					        tb.AddTool(wx.ID_ANY, '',wx.Bitmap(find_data_file("WXPython_30x30.png")),) 
 | 
				
			||||||
 | 
					        tb.AddTool(wx.ID_ANY, '',wx.Bitmap(find_data_file("settings_30x30.png"))) 
 | 
				
			||||||
 | 
					        tb.Realize() 
 | 
				
			||||||
 | 
					        main_sizer.Add(tb)
 | 
				
			||||||
 | 
					        # self.pnl1.SetBackgroundColour(wx.BLACK)
 | 
				
			||||||
 | 
					        self.handle_columns()
 | 
				
			||||||
 | 
					        for i in range(len(TEST_FILE)):
 | 
				
			||||||
 | 
					            self.list_ctrl.InsertItem(i, TEST_FILE.iloc[i, 0])
 | 
				
			||||||
 | 
					            for j in range(1, 6):
 | 
				
			||||||
 | 
					                 self.list_ctrl.SetItem(i, j, str(TEST_FILE.iloc[i, j]))
 | 
				
			||||||
 | 
					                 #fprint(i, j, TEST_FILE.iloc[i, j])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        main_sizer.Add(self.list_ctrl, 0, wx.ALL | wx.EXPAND, 20)
 | 
				
			||||||
 | 
					        start_button = wx.Button(self, label='Start')
 | 
				
			||||||
 | 
					        start_button.SetBackgroundColour((205, 215, 206))
 | 
				
			||||||
 | 
					        start_button.Bind(wx.EVT_BUTTON, self.on_edit)
 | 
				
			||||||
 | 
					        start_button.Bind(wx.EVT_ENTER_WINDOW, self.on_edit)
 | 
				
			||||||
 | 
					        stop_button = wx.Button(self, label='Stop')
 | 
				
			||||||
 | 
					        stop_button.SetBackgroundColour('#F08080')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        secondary_frame_button = wx.Button(self, label='Window')
 | 
				
			||||||
 | 
					        secondary_frame_button.Bind(wx.EVT_BUTTON, self.on_window)
 | 
				
			||||||
 | 
					        # wx.BORDER(stop_button, wx.BORDER_NONE)
 | 
				
			||||||
 | 
					        stop_button.Bind(wx.EVT_BUTTON, self.on_edit)
 | 
				
			||||||
 | 
					        main_sizer.Add(start_button, 0, wx.CENTER | wx.ALL | 100, 5)
 | 
				
			||||||
 | 
					        main_sizer.Add(stop_button, 0, wx.CENTER | 100, 5)
 | 
				
			||||||
 | 
					        main_sizer.Add(secondary_frame_button, 0, wx.CENTER | 100, 5)
 | 
				
			||||||
 | 
					        self.SetSizer(main_sizer)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def handle_columns(self):
 | 
				
			||||||
 | 
					        for col in COLUMN_NAMES:
 | 
				
			||||||
 | 
					            self.list_ctrl.InsertColumn(0, col, width=200)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def on_edit(self, event):
 | 
				
			||||||
 | 
					        fprint('in on_edit')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def on_window(self, event):
 | 
				
			||||||
 | 
					        OtherFrame()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def ShowImage(self, imageFile):
 | 
				
			||||||
 | 
					        if imageFile == "":
 | 
				
			||||||
 | 
					            self.bitmap = wx.StaticBitmap(self, -1, size=(0, 0))
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            bmp = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
 | 
				
			||||||
 | 
					            self.bitmap = wx.StaticBitmap(self, -1, bmp, (0, 0))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class ServerFrame(wx.Frame):
 | 
				
			||||||
 | 
					    def __init__(self):
 | 
				
			||||||
 | 
					        super().__init__(parent=None,
 | 
				
			||||||
 | 
					                         title='Server Dashboard')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        self.panel = LoginPanel(self)
 | 
				
			||||||
 | 
					        # image = wx.StaticBitmap(self, wx.ID_ANY)
 | 
				
			||||||
 | 
					        # image.SetBitmap(wx.Bitmap('WXPython.png'))
 | 
				
			||||||
 | 
					        self.Show()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def openwindow(data, sets, kill):
 | 
				
			||||||
 | 
					    setup_child()
 | 
				
			||||||
 | 
					    global killme
 | 
				
			||||||
 | 
					    global settings
 | 
				
			||||||
 | 
					    global displaydata
 | 
				
			||||||
 | 
					    killme = kill
 | 
				
			||||||
 | 
					    displaydata = data
 | 
				
			||||||
 | 
					    settings = sets
 | 
				
			||||||
 | 
					    if settings["loggedin"]:
 | 
				
			||||||
 | 
					        fprint("Creating server panel")
 | 
				
			||||||
 | 
					        global TEST_FILE
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            TEST_FILE = pd.read_csv(find_data_file(filename), skiprows=1)
 | 
				
			||||||
 | 
					            TEST_FILE = TEST_FILE.iloc[1:, :]
 | 
				
			||||||
 | 
					            TEST_FILE.columns = ['Executable', 'Protocol', 'Source IP', 'Destination IP',  'Status', 'PID']
 | 
				
			||||||
 | 
					            fprint(TEST_FILE)
 | 
				
			||||||
 | 
					            fprint(len(TEST_FILE))
 | 
				
			||||||
 | 
					            #fprint(TEST_FILE.iloc[1, 1])
 | 
				
			||||||
 | 
					        except FileNotFoundError:
 | 
				
			||||||
 | 
					            pass
 | 
				
			||||||
 | 
					        app = wx.App(False)
 | 
				
			||||||
 | 
					        frame = OtherFrame()
 | 
				
			||||||
 | 
					        app.MainLoop()
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        fprint("Creating login panel")
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        app = wx.App(False)
 | 
				
			||||||
 | 
					        frame = ServerFrame()
 | 
				
			||||||
 | 
					        app.MainLoop()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__ == '__main__':
 | 
				
			||||||
 | 
					    openwindow(list(), dict(), int())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"""class ServerPanel(wx.Frame):   
 | 
				
			||||||
 | 
					    def __init__(self, parent):
 | 
				
			||||||
 | 
					        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(wx.ID_ANY, '',wx.Bitmap("WXPython_30x30.png"),) 
 | 
				
			||||||
 | 
					        tb.AddTool(wx.ID_ANY, '',wx.Bitmap("settings_30x30.png")) 
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					        #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)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    def OnQuit(self, e):
 | 
				
			||||||
 | 
					        self.Close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def on_edit(self, event):
 | 
				
			||||||
 | 
					        print('in on_edit')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def update_mp3_listing(self, folder_path):
 | 
				
			||||||
 | 
					        print(folder_path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # def Onright(self, event): 
 | 
				
			||||||
 | 
					    #     self.text.AppendText(str(event.GetId())+"\n")
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
					    # def OnCombo(self,event): 
 | 
				
			||||||
 | 
					    #     self.text.AppendText( self.combo.GetValue()+"\n") 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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()"""
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								settings.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								settings.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 49 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								settings_30x30.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								settings_30x30.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 5.3 KiB  | 
		Reference in New Issue
	
	Block a user