Ejemplo n.º 1
0
    def _createGUI(self):
        mainSizer = wx.FlexGridSizer(cols=1)
        mainSizer.AddGrowableCol(0)
        mainSizer.AddGrowableRow(0)

        self._htmlRender = getHtmlRender(self)

        # Шаманство, связанное с тем, что HTML-рендер ожидает,
        # что есть выбранная страница.
        # Если бы ему это было не обязательно, то достаточно
        # было бы использовать только следующую строку
        # self._htmlRender.page = self._application.selectedPage

        if self._application.selectedPage is not None:
            self._htmlRender.page = self._application.selectedPage
        elif len(self._application.wikiroot.children) != 0:
            self._htmlRender.page = self._application.wikiroot.children[0]

        mainSizer.Add(self._htmlRender, flag=wx.EXPAND | wx.ALL, border=4)

        # Кнопка Ok
        okBtn = wx.Button(self, wx.ID_OK)
        mainSizer.Add(okBtn, flag=wx.ALIGN_RIGHT | wx.ALL, border=4)

        self.Bind(wx.EVT_CLOSE, self._onClose)
        self.Bind(wx.EVT_BUTTON, self._onClose, id=wx.ID_OK)

        self.SetSizer(mainSizer)
        self.Layout()
Ejemplo n.º 2
0
    def _createGUI (self):
        mainSizer = wx.FlexGridSizer (cols=1)
        mainSizer.AddGrowableCol (0)
        mainSizer.AddGrowableRow (0)

        self._htmlRender = getHtmlRender (self)

        # Шаманство, связанное с тем, что HTML-рендер ожидает, что есть выбранная страница
        # Если бы ему это было не обязательно, то достаточно было бы использовать только следующую строку
        # self._htmlRender.page = self._application.selectedPage

        if self._application.selectedPage != None:
            self._htmlRender.page = self._application.selectedPage
        elif len (self._application.wikiroot.children) != 0:
            self._htmlRender.page = self._application.wikiroot.children[0]

        mainSizer.Add (self._htmlRender, flag=wx.EXPAND | wx.ALL, border=4)

        # Кнопка Ok
        okBtn = wx.Button (self, wx.ID_OK)
        mainSizer.Add (okBtn, flag=wx.ALIGN_RIGHT | wx.ALL, border=4)

        self.Bind (wx.EVT_CLOSE, self._onClose)
        self.Bind (wx.EVT_BUTTON, self._onClose, id=wx.ID_OK)

        self.SetSizer (mainSizer)
        self.Layout()
Ejemplo n.º 3
0
    def pluginsInfo (self):
        if self.__pluginsInfo == None:
            # Удалим пустую панель, а вместо нее добавим HTML-рендер
            self.mainSizer.Remove (self.__blankPanel)
            self.__blankPanel.Destroy()

            self.__pluginsInfo = getHtmlRender (self)
            self.__pluginsInfo.SetMinSize ((self.__htmlMinWidth, -1))

            self.mainSizer.Add (self.__pluginsInfo, flag=wx.EXPAND)
            self.Layout()

        return self.__pluginsInfo
Ejemplo n.º 4
0
    def __init__(self, parent, *args, **kwds):
        super (BaseHtmlPanel, self).__init__ (parent, *args, **kwds)

        self._htmlFile = "__content.html"
        self.currentHtmlFile = None

        # Где хранить параметы текущей страницы страницы (код, просмотр и т.д.)
        self.tabSectionName = u"Misc"
        self.tabParamName = u"PageIndex"

        self.imagesDir = getImagesDir()

        self.notebook = wx.Notebook(self, -1, style=wx.NB_BOTTOM)
        self._codeEditor = self.GetTextEditor()(self.notebook)
        self.htmlWindow = getHtmlRender (self.notebook)

        self.__do_layout()

        self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.onTabChanged, self.notebook)
        self.Bind (wx.EVT_CLOSE, self.onClose)
Ejemplo n.º 5
0
    def __init__(self, parent, *args, **kwds):
        BasePagePanel.__init__ (self, parent, *args, **kwds)

        self._allTags = None

        # Секция для хранения найденных результатов (кэш)
        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 = 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)