X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Fwx%2FSearchPanel.py;h=8547c313152fc07f8253e7b0305464ab508db747;hb=80ba14a7bd17c4ddf1bd7c193e0bba6aa4d0c907;hp=cde0fabf738dfcc36ea5ec10226f44b939f81c73;hpb=5ccddf723234cfc741f767c903f95615e8f41e45;p=m_librarian.git diff --git a/m_librarian/wx/SearchPanel.py b/m_librarian/wx/SearchPanel.py index cde0fab..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, @@ -24,3 +31,21 @@ class SearchPanel(wx.Panel): majorDimension=1, style=wx.RA_SPECIFY_ROWS ) search_authors_vsizer.Add(search_substr) + + 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)