init: начало работы над приложением с использованием wxPython
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import wx
|
||||
|
||||
from mind_reader.ui.dialogs import ClientConnectDialog, ServerStartDialog
|
||||
from mind_reader.ui.menu_bar import AppMenuBar
|
||||
|
||||
|
||||
class MainFrame(wx.Frame):
|
||||
def __init__(self):
|
||||
super().__init__(
|
||||
parent=None,
|
||||
id=wx.ID_ANY,
|
||||
title="Mind Reader",
|
||||
size=wx.Size(700, 500),
|
||||
style=wx.DEFAULT_FRAME_STYLE,
|
||||
)
|
||||
self.Center()
|
||||
|
||||
self.menu_bar = AppMenuBar(self)
|
||||
self.SetMenuBar(self.menu_bar)
|
||||
|
||||
self.CreateStatusBar(1)
|
||||
self.SetStatusText("Подключение отсутствует")
|
||||
|
||||
self._bind_menu_events()
|
||||
|
||||
def _bind_menu_events(self):
|
||||
self.Bind(
|
||||
wx.EVT_MENU, self.on_client_connect, self.menu_bar.item_client
|
||||
)
|
||||
self.Bind(wx.EVT_MENU, self.on_server_start, self.menu_bar.item_server)
|
||||
self.Bind(
|
||||
wx.EVT_MENU, self.on_disconnect, self.menu_bar.item_disconnect
|
||||
)
|
||||
|
||||
def on_client_connect(self, event):
|
||||
d = ClientConnectDialog(self)
|
||||
if d.ShowModal() == wx.ID_OK:
|
||||
name, ip = d.get_data()
|
||||
self.menu_bar.set_connected_state(True)
|
||||
self.SetStatusText(f"Подключено к {ip} | Ваше имя {name}")
|
||||
d.Destroy()
|
||||
|
||||
def on_server_start(self, event):
|
||||
d = ServerStartDialog(self)
|
||||
if d.ShowModal() == wx.ID_OK:
|
||||
name, ip = d.get_data()
|
||||
self.menu_bar.set_connected_state(True)
|
||||
self.SetStatusText(f"Сервер запущен на {ip} | Ваше имя {name}")
|
||||
d.Destroy()
|
||||
|
||||
def on_disconnect(self, event):
|
||||
self.menu_bar.set_connected_state(False)
|
||||
self.SetStatusText("Подключение отсутствует")
|
||||
Reference in New Issue
Block a user