def __init__(self, parent, application): BasePagePanel.__init__(self, parent, application) self._allTags = None # Текущий результат поиска (список страниц) self._currentResultPages = [] # Секция для хранения найденных результатов (кэш) self._resultsSection = u"SearchResults" self.sortStrategySection = u"Sort" self._resultOptionTemplate = u"page_%d" self._strategyList = [AnyTagSearchStrategy, AllTagsSearchStrategy] self._sortStrategies = getSortStrategies() self._searchText = wx.StaticText(self, label=_('Phrase for search:')) self.wordsTextCtrl = wx.TextCtrl(self, style=wx.TE_PROCESS_ENTER) self.tagsLabel = wx.StaticText(self, -1, _(u"Tags: ")) self.tagsList = TagsCloud(self) self.tagsList.SetMinSize((250, 150)) strategies = [_(u"Any tag"), _(u"All tags")] self.tagsStrategy = wx.RadioBox(self, -1, _(u"Tags"), choices=strategies, majorDimension=0, style=wx.RA_SPECIFY_ROWS) self.tagsStrategy.SetSelection(0) self.clearTagsBtn = wx.Button(self, -1, _(u"Clear all tags")) self.searchBtn = wx.Button(self, -1, _(u"Find")) self.resultWindow = parent.borrowHtmlRender(self) self.resultWindow.Show() self.sortLabel = wx.StaticText(self, -1, _(u"Sort by ")) self.sortStrategy = wx.ComboBox(self, style=wx.CB_DROPDOWN | wx.CB_READONLY) self.sortStrategy.SetMinSize((200, -1)) for sortStrategy in self._sortStrategies: self.sortStrategy.Append(sortStrategy.title) self.sortStrategy.SetSelection(0) self.__do_layout() self.clearTagsBtn.Bind(wx.EVT_BUTTON, handler=self.__onClear) self.wordsTextCtrl.Bind(wx.EVT_TEXT_ENTER, handler=self.__onFind) self.searchBtn.Bind(wx.EVT_BUTTON, handler=self.__onFind) self.sortStrategy.Bind(wx.EVT_COMBOBOX, handler=self.__onChangeSortStrategy) self.tagsList.Bind(EVT_TAG_LEFT_CLICK, handler=self.__onTagLeftClick)
def __init__(self, parent): super(TagsSelector, self).__init__(parent) self.__tagsWidth = 350 self.__tagsHeight = 150 self.__tagBitmap = wx.Bitmap(os.path.join(getImagesDir(), "tag.png"), wx.BITMAP_TYPE_PNG) self.label_tags = wx.StaticText(self, -1, _(u"Tags (comma separated)")) self.tagsTextCtrl = wx.TextCtrl(self, -1, "") self.tagsTextCtrl.SetMinSize((250, -1)) self.__tagsCloud = TagsCloud(self) self.__tagsCloud.SetMinSize((self.__tagsWidth, self.__tagsHeight)) self.__tagsCloud.Bind(EVT_TAG_LEFT_CLICK, self.__onTagClick) self.tagsTextCtrl.Bind(wx.EVT_TEXT, handler=self.__onTagsChanged) self.__layout()
def __init__(self, parent, *args, **kwds): BasePagePanel.__init__(self, parent, *args, **kwds) self._allTags = None # Текущий результат поиска (список страниц) self._currentResultPages = [] # Секция для хранения найденных результатов (кэш) self._resultsSection = u"SearchResults" self.sortStrategySection = u"Sort" self._resultOptionTemplate = u"page_%d" self._strategyList = [AnyTagSearchStrategy, AllTagsSearchStrategy] self._sortStrategies = getSortStrategies() self.wordsTextCtrl = wx.SearchCtrl(self, -1, "", style=wx.TE_PROCESS_ENTER) self.wordsTextCtrl.ShowCancelButton(True) self.wordsTextCtrl.SetDescriptiveText(_(u"Search")) self.tagsLabel = wx.StaticText(self, -1, _(u"Tags: ")) self.tagsList = TagsCloud(self) self.tagsList.SetMinSize((250, 150)) strategies = [_(u"Any tag"), _(u"All tags")] self.tagsStrategy = wx.RadioBox(self, -1, _(u"Tags"), choices=strategies, majorDimension=0, style=wx.RA_SPECIFY_ROWS) self.tagsStrategy.SetSelection(0) self.clearTagsBtn = wx.Button(self, -1, _(u"Clear all tags")) self.searchBtn = wx.Button(self, -1, _(u"Find")) self.resultWindow = getOS().getHtmlRender(self) self.sortLabel = wx.StaticText(self, -1, _(u"Sort by ")) self.sortStrategy = wx.ComboBox(self, -1, style=wx.CB_DROPDOWN | wx.CB_READONLY) self.sortStrategy.SetMinSize((200, -1)) for sortStrategy in self._sortStrategies: self.sortStrategy.Append(sortStrategy.title) self.sortStrategy.SetSelection(0) self.__do_layout() self.Bind(wx.EVT_BUTTON, self.__onClear, self.clearTagsBtn) self.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, lambda event: self.wordsTextCtrl.SetValue(u""), self.wordsTextCtrl) self.Bind(wx.EVT_SEARCHCTRL_SEARCH_BTN, self.__onFind, self.wordsTextCtrl) self.Bind(wx.EVT_TEXT_ENTER, self.__onFind, self.wordsTextCtrl) self.Bind(wx.EVT_BUTTON, self.__onFind, self.searchBtn) self.Bind(wx.EVT_COMBOBOX, self.__onChangeSortStrategy, self.sortStrategy) self.tagsList.Bind(EVT_TAG_LEFT_CLICK, self.__onTagLeftClick)