Example #1
0
    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)
Example #2
0
    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()
Example #3
0
    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)