X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Fwx%2FSearchPanel.py;h=8547c313152fc07f8253e7b0305464ab508db747;hb=80ba14a7bd17c4ddf1bd7c193e0bba6aa4d0c907;hp=7744e6f278378aae7afd5cd7380cc4b30b0f3191;hpb=d58c2a5ab71997355dc4ee21d241194e67fc82f3;p=m_librarian.git diff --git a/m_librarian/wx/SearchPanel.py b/m_librarian/wx/SearchPanel.py index 7744e6f..8547c31 100644 --- a/m_librarian/wx/SearchPanel.py +++ b/m_librarian/wx/SearchPanel.py @@ -1,18 +1,25 @@ # coding: utf-8 import wx +from ..search import search_authors_raw +from .ListAuthors import ListAuthorsWindow + + +_search_types = ['start', 'substring', 'full'] class SearchPanel(wx.Panel): def __init__(self, parent): wx.Panel.__init__(self, parent) - self.search_authors_vsizer = search_authors_vsizer = \ + search_authors_vsizer = \ wx.StaticBoxSizer(wx.VERTICAL, self, u'Поиск авторов') self.SetSizer(search_authors_vsizer) - self.search_authors = search_authors = wx.TextCtrl(self) + self.search_authors = search_authors = \ + wx.TextCtrl(self, style=wx.TE_PROCESS_ENTER) search_authors_vsizer.Add(search_authors, 0, wx.EXPAND, 0) + search_authors.Bind(wx.EVT_TEXT_ENTER, self.SearchAuthors) self.search_substr = search_substr = wx.RadioBox( self, @@ -28,3 +35,17 @@ class SearchPanel(wx.Panel): self.search_case = search_case = wx.CheckBox( self, label=u'Различать прописные/строчные') search_authors_vsizer.Add(search_case) + + search_authors_button = wx.Button(self, label=u'Искать авторов') + search_authors_vsizer.Add(search_authors_button, 0, wx.ALIGN_CENTER, 0) + search_authors_button.Bind(wx.EVT_BUTTON, self.SearchAuthors) + + def SearchAuthors(self, event): + search_authors = self.search_authors.GetValue() + search_substr = _search_types[self.search_substr.GetSelection()] + search_case = self.search_case.GetValue() + if search_case is False: + search_case = None + search_authors_results = \ + search_authors_raw(search_authors, search_substr, search_case) + ListAuthorsWindow(self.Parent, search_authors_results)