You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
151 lines
5.5 KiB
Python
151 lines
5.5 KiB
Python
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() |