+++ /dev/null
-# 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)
- search_authors_vsizer = \
- wx.StaticBoxSizer(wx.VERTICAL, self, u'Поиск авторов')
- self.SetSizer(search_authors_vsizer)
-
- 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,
- choices=[
- u'Подстрока в начале',
- u'Подстрока',
- u'Точное совпадение',
- ],
- 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)