]> git.phdru.name Git - m_librarian.git/blobdiff - m_librarian/wx/Application.py
Refactor(wx): Split `MainWindow` to `AWindow`
[m_librarian.git] / m_librarian / wx / Application.py
index 308d65d4e6a5635123e5f902d97c9dfb47d929f6..b7ad92dacb05bceebfc63e7b8d1ae02067625e33 100644 (file)
@@ -1,47 +1,21 @@
-# coding: utf-8
+import wx
+from .AWindow import AWindow
+from .SearchPanel import SearchPanel
 
-import wx, wx.adv
-from ..__version__ import __version__
 
+class MainWindow(AWindow):
 
-class MainWindow(wx.Frame):
+    session_config_section_name = 'main_window'
+    window_title = u"m_Librarian"
 
-    def InitMenu(self):
-        MenuBar = wx.MenuBar()
-        self.SetMenuBar(MenuBar)
-
-        file_menu = wx.Menu()
-        exit = file_menu.Append(wx.ID_EXIT, u"&Выход", u"Выйти из программы")
-        self.Bind(wx.EVT_MENU, self.OnQuit, exit)
-        MenuBar.Append(file_menu, u"&Файл")
-
-        about_menu = wx.Menu()
-        about = about_menu.Append(wx.ID_ABOUT,
-                                  u"&О m_Librarian", u"О m_Librarian")
-        self.Bind(wx.EVT_MENU, self.OnAbout, about)
-        MenuBar.Append(about_menu, u"&О программе")
-
-    def OnQuit(self, event):
-        self.Close(True)
-
-    def OnAbout(self, event):
-        aboutInfo = wx.adv.AboutDialogInfo()
-        aboutInfo.SetName(u'm_Librarian')
-        aboutInfo.SetVersion(__version__)
-        aboutInfo.SetDescription(
-            u'Библиотекарь для библиотек LibRusEc/Flibusta')
-        aboutInfo.AddDeveloper(u'Олег Бройтман')
-        aboutInfo.SetWebSite(u'https://phdru.name/Software/Python/m_librarian/')
-        aboutInfo.SetCopyright(u'(C) 2023 Олег Бройтман')
-        aboutInfo.SetLicense(u'GPL')
-        wx.adv.AboutBox(aboutInfo)
+    def OnInit(self):
+        AWindow.OnInit(self)
+        self.search_panel = SearchPanel(self)
 
 
 class Application(wx.App):
 
     def OnInit(self):
-        frame = MainWindow(None, -1, u"m_Librarian")
-        frame.InitMenu()
-        frame.Show(True)
+        frame = MainWindow()
         self.SetTopWindow(frame)
         return True