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()
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()
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
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)
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)