def registerActions (application): """ Зарегистрировать действия """ # Действия, связанные с разными типами страниц from outwiker.pages.html.htmlpage import HtmlPageFactory HtmlPageFactory.registerActions (application) from outwiker.pages.wiki.wikipage import WikiPageFactory WikiPageFactory.registerActions (application) actionController = application.actionController from outwiker.gui.actionslist import actionsList, polyactionsList # Register the normal actions map(lambda item: actionController.register(item[0](application), item[1]), actionsList) # Register the polyactions map(lambda item: actionController.register(PolyAction(application, item[0], item[1], item[2]), item[3]), polyactionsList)
def setUp(self): self.initApplication() self.wikiroot = self.createWiki() config = GeneralGuiConfig(self.application.config) config.tableColsCount.remove_option() factory = HtmlPageFactory() self._testpage = factory.create(self.wikiroot, "Страница 1", [])
def testSymbolsCountHtml (self): HtmlPageFactory.create (self.rootwiki, u"Страница 1", []) testPage = self.rootwiki[u"Страница 1"] testPage.content = u"Бла бла бла" pageStat = self.loader[self.__pluginname].getPageStat (testPage) self.assertEqual (pageStat.symbols, 11)
def testSymbolsNotWhiteSpacesHtml (self): HtmlPageFactory.create (self.rootwiki, u"Страница 1", []) testPage = self.rootwiki[u"Страница 1"] testPage.content = u"Бла бла бла\r\n\t\t\tАбырвалг " pageStat = self.loader[self.__pluginname].getPageStat (testPage) self.assertEqual (pageStat.symbolsNotWhiteSpaces, 17)
def setUp (self): super (HtmlTableDialogTest, self).setUp() self._application = Application config = GeneralGuiConfig (self._application.config) config.tableColsCount.remove_option() factory = HtmlPageFactory() self._testpage = factory.create (self.wikiroot, u"Страница 1", [])
def setUp (self): BaseMainWndTest.setUp (self) self.path = u"../test/testwiki" removeWiki (self.path) self.wikiroot = WikiDocument.create (self.path) HtmlPageFactory.create (self.wikiroot, u"HTML-страница", []) HtmlPageFactory.create (self.wikiroot, u"HTML-страница 2", [])
def testLinesHtml1 (self): HtmlPageFactory.create (self.rootwiki, u"Страница 1", []) testPage = self.rootwiki[u"Страница 1"] testPage.content = u"""Бла бла бла Еще одна строка И еще строка Последняя строка""" pageStat = self.loader[self.__pluginname].getPageStat (testPage) self.assertEqual (pageStat.lines, 4)
def testChangeStyle (self): exampleStyleDir = u"../test/styles/example_jblog/example_jblog" newdate = datetime.datetime (2012, 8, 24) HtmlPageFactory.create (self.rootwiki, u"Страница 1", []) self.rootwiki[u"Страница 1"].datetime = newdate style = Style() style.setPageStyle (self.rootwiki[u"Страница 1"], exampleStyleDir) delta = datetime.datetime.now() - self.rootwiki[u"Страница 1"].datetime self.assertLess (delta, self._maxDelta)
def setUp(self): # Здесь будет создаваться вики self.path = mkdtemp(prefix='Абырвалг абыр') self.__eventcount = 0 self.__eventSender = None self.wikiroot = WikiDocument.create(self.path) factory = HtmlPageFactory() factory.create(self.wikiroot, "Страница 1", []) factory.create(self.wikiroot, "Страница 2", []) self.wikiroot.onPageUpdate += self.__onPageUpdate
def setUp(self): # Здесь будет создаваться вики self.path = u"../test/testwiki" removeWiki (self.path) self.__eventcount = 0 self.__eventSender = None self.rootwiki = WikiDocument.create (self.path) HtmlPageFactory.create (self.rootwiki, u"Страница 1", []) HtmlPageFactory.create (self.rootwiki, u"Страница 2", []) self.rootwiki.onPageUpdate += self.__onPageUpdate
def setUp(self): # Здесь будет создаваться вики self.path = mkdtemp (prefix='Абырвалг абыр') self.__eventcount = 0 self.__eventSender = None self.wikiroot = WikiDocument.create (self.path) factory = HtmlPageFactory() factory.create (self.wikiroot, "Страница 1", []) factory.create (self.wikiroot, "Страница 2", []) self.wikiroot.onPageUpdate += self.__onPageUpdate
def setUp(self): BaseMainWndTest.setUp(self) TextPageFactory().create(self.wikiroot, u"Текстовая страница", []) TextPageFactory().create(self.wikiroot, u"Текстовая страница 2", []) HtmlPageFactory().create(self.wikiroot, u"HTML-страница", []) HtmlPageFactory().create(self.wikiroot, u"HTML-страница 2", []) WikiPageFactory().create(self.wikiroot, u"Викистраница", []) WikiPageFactory().create(self.wikiroot, u"Викистраница 2", []) SearchPageFactory().create(self.wikiroot, u"Поисковая страница", []) SearchPageFactory().create(self.wikiroot, u"Поисковая страница 2", [])
def setUp (self): BaseMainWndTest.setUp (self) self._turnSyntax = [ (BOLD_STR_ID, "<b>", "</b>"), (ITALIC_STR_ID, "<i>", "</i>"), (BOLD_ITALIC_STR_ID, "<b><i>", "</i></b>"), (UNDERLINE_STR_ID, "<u>", "</u>"), (STRIKE_STR_ID, "<strike>", "</strike>"), (SUBSCRIPT_STR_ID, "<sub>", "</sub>"), (SUPERSCRIPT_STR_ID, "<sup>", "</sup>"), (ALIGN_LEFT_STR_ID, '<div align="left">', '</div>'), (ALIGN_CENTER_STR_ID, '<div align="center">', '</div>'), (ALIGN_RIGHT_STR_ID, '<div align="right">', '</div>'), (ALIGN_JUSTIFY_STR_ID, '<div align="justify">', '</div>'), (HEADING_1_STR_ID, "<h1>", "</h1>"), (HEADING_2_STR_ID, "<h2>", "</h2>"), (HEADING_3_STR_ID, "<h3>", "</h3>"), (HEADING_4_STR_ID, "<h4>", "</h4>"), (HEADING_5_STR_ID, "<h5>", "</h5>"), (HEADING_6_STR_ID, "<h6>", "</h6>"), (PREFORMAT_STR_ID, "<pre>", "</pre>"), (CODE_STR_ID, "<code>", "</code>"), (ANCHOR_STR_ID, u'<a name="', u'"></a>'), (TABLE_STR_ID, u'<table>', u'</table>'), (TABLE_ROW_STR_ID, u'<tr>', u'</tr>'), (TABLE_CELL_STR_ID, u'<td>', u'</td>'), (QUOTE_STR_ID, u'<blockquote>', u'</blockquote>'), (IMAGE_STR_ID, u'<img src="', u'"/>'), ] self._replaceSyntax = [ (HORLINE_STR_ID, u"<hr>"), ] self.path = u"../test/testwiki" removeWiki (self.path) self.wikiroot = WikiDocument.create (self.path) HtmlPageFactory.create (self.wikiroot, u"HTML-страница", []) HtmlPageFactory.create (self.wikiroot, u"temp", []) # Страница, куда будем переключаться перед изменением содержимого основной страницы # Можно было бы вместо temppage использовать None, но тогда программе # пришлось бы каждый раз удалять и создавать панели инструментов, что медленно self.temppage = self.wikiroot[u"temp"] self.testpage = self.wikiroot[u"HTML-страница"] Application.wikiroot = self.wikiroot Application.selectedPage = self.testpage
def setUp(self): self.initApplication() self.wikiroot = self.createWiki() TextPageFactory().create(self.wikiroot, "Текстовая страница", []) TextPageFactory().create(self.wikiroot, "Текстовая страница 2", []) HtmlPageFactory().create(self.wikiroot, "HTML-страница", []) HtmlPageFactory().create(self.wikiroot, "HTML-страница 2", []) WikiPageFactory().create(self.wikiroot, "Викистраница", []) WikiPageFactory().create(self.wikiroot, "Викистраница 2", []) SearchPageFactory().create(self.wikiroot, "Поисковая страница", []) SearchPageFactory().create(self.wikiroot, "Поисковая страница 2", [])
def testWordsHtml2 (self): HtmlPageFactory.create (self.rootwiki, u"Страница 1", []) testPage = self.rootwiki[u"Страница 1"] testPage.content = u"""Бла бла бла. Еще одна строка111 222 333 И еще строка ... ... ;;; @#$%#$ Последняя строка """ pageStat = self.loader[self.__pluginname].getPageStat (testPage) self.assertEqual (pageStat.words, 13)
class FactorySelector (object): """ Класс, который выбирает нужную фабрику для каждой страницы """ _defaultFactory = TextPageFactory() _factories = {factory.getTypeString(): factory for factory in [WikiPageFactory(), HtmlPageFactory(), TextPageFactory(), SearchPageFactory()]} @staticmethod def getFactories (): return sorted (FactorySelector._factories.values(), cmp = lambda x, y: cmp (x.title, y.title)) @staticmethod def getFactory (pageType): """ Найти фабрику, которая работает с переданным типом страницы (со страницей данного типа). Или вернуть фабрику по умолчанию """ return FactorySelector._factories.get (pageType, FactorySelector._defaultFactory) @staticmethod def reset (): """ Установить словарь фабрик в первоначальное состояние. Используется для тестирования. Это не конструктор. В случае изменения списка фабрик, установленных по умолчанию, нужно изменять этот метод. """ FactorySelector._factories = {factory.getTypeString(): factory for factory in [WikiPageFactory(), HtmlPageFactory(), TextPageFactory(), SearchPageFactory()]} @staticmethod def addFactory (newFactory): """ Добавить новую фабрику. При этом у фабрики может быть новый создаваемый тип страниц, в то же время фабрика может заменить существующую фабрику. """ FactorySelector._factories[newFactory.getTypeString()] = newFactory @staticmethod def removeFactory (typeString): """ Удаляет фабрику из словаря """ FactorySelector._factories.pop (typeString, None)
def setUp(self): self.initApplication() self.wikiroot = self.createWiki() self._turnSyntax = [ (BOLD_STR_ID, "<b>", "</b>"), (ITALIC_STR_ID, "<i>", "</i>"), (BOLD_ITALIC_STR_ID, "<b><i>", "</i></b>"), (UNDERLINE_STR_ID, "<u>", "</u>"), (STRIKE_STR_ID, "<strike>", "</strike>"), (SUBSCRIPT_STR_ID, "<sub>", "</sub>"), (SUPERSCRIPT_STR_ID, "<sup>", "</sup>"), (ALIGN_LEFT_STR_ID, '<div align="left">', '</div>'), (ALIGN_CENTER_STR_ID, '<div align="center">', '</div>'), (ALIGN_RIGHT_STR_ID, '<div align="right">', '</div>'), (ALIGN_JUSTIFY_STR_ID, '<div align="justify">', '</div>'), (HEADING_1_STR_ID, "<h1>", "</h1>"), (HEADING_2_STR_ID, "<h2>", "</h2>"), (HEADING_3_STR_ID, "<h3>", "</h3>"), (HEADING_4_STR_ID, "<h4>", "</h4>"), (HEADING_5_STR_ID, "<h5>", "</h5>"), (HEADING_6_STR_ID, "<h6>", "</h6>"), (PREFORMAT_STR_ID, "<pre>", "</pre>"), (CODE_STR_ID, "<code>", "</code>"), (ANCHOR_STR_ID, '<a name="', '"></a>'), (QUOTE_STR_ID, '<blockquote>', '</blockquote>'), (IMAGE_STR_ID, '<img src="', '"/>'), ] self._replaceSyntax = [ (HORLINE_STR_ID, "<hr>"), ] HtmlPageFactory().create(self.wikiroot, "HTML-страница", []) HtmlPageFactory().create(self.wikiroot, "temp", []) # Страница, куда будем переключаться перед изменением содержимого основной страницы # Можно было бы вместо temppage использовать None, но тогда программе # пришлось бы каждый раз удалять и создавать панели инструментов, что медленно self.temppage = self.wikiroot["temp"] self.testpage = self.wikiroot["HTML-страница"] self.application.wikiroot = self.wikiroot self.application.selectedPage = self.testpage
def setUp (self): BaseMainWndTest.setUp (self) self.path = u"../test/testwiki" removeWiki (self.path) self.wikiroot = WikiDocument.create (self.path) TextPageFactory.create (self.wikiroot, u"Текстовая страница", []) TextPageFactory.create (self.wikiroot, u"Текстовая страница 2", []) HtmlPageFactory.create (self.wikiroot, u"HTML-страница", []) HtmlPageFactory.create (self.wikiroot, u"HTML-страница 2", []) WikiPageFactory.create (self.wikiroot, u"Викистраница", []) WikiPageFactory.create (self.wikiroot, u"Викистраница 2", []) SearchPageFactory.create (self.wikiroot, u"Поисковая страница", []) SearchPageFactory.create (self.wikiroot, u"Поисковая страница 2", [])
def setUp(self): self.initApplication() self.wikiroot = self.createWiki() self.testpage = HtmlPageFactory().create(self.wikiroot, "Страница", []) self.application.wikiroot = self.wikiroot self.application.selectedPage = self.testpage self.editor = self.application.mainWindow.pagePanel.pageView.codeEditor self.dropTarget = self.editor.dropTarget
def testSymbolsCountHtml(self): from statistics.pagestat import PageStat HtmlPageFactory().create(self.wikiroot, "Страница 1", []) testPage = self.wikiroot["Страница 1"] testPage.content = "Бла бла бла" pageStat = PageStat(testPage) self.assertEqual(pageStat.symbols, 11)
def testSymbolsNotWhiteSpacesHtml(self): from statistics.pagestat import PageStat HtmlPageFactory().create(self.wikiroot, "Страница 1", []) testPage = self.wikiroot["Страница 1"] testPage.content = "Бла бла бла\r\n\t\t\tАбырвалг " pageStat = PageStat(testPage) self.assertEqual(pageStat.symbolsNotWhiteSpaces, 17)
def reset (): """ Установить словарь фабрик в первоначальное состояние. Используется для тестирования. Это не конструктор. В случае изменения списка фабрик, установленных по умолчанию, нужно изменять этот метод. """ FactorySelector._factories = {factory.getTypeString(): factory for factory in [WikiPageFactory(), HtmlPageFactory(), TextPageFactory(), SearchPageFactory()]}
def testChangeStyle(self): exampleStyleDir = "testdata/styles/example_jblog/example_jblog" newdate = datetime.datetime(2012, 8, 24) HtmlPageFactory().create(self.wikiroot, "Страница 1", []) self.wikiroot["Страница 1"].datetime = newdate style = Style() style.setPageStyle(self.wikiroot["Страница 1"], exampleStyleDir) delta = datetime.datetime.now() - self.wikiroot["Страница 1"].datetime self.assertLess(delta, self._maxDelta)
def testTypeCreation (self): textPage = TextPageFactory.create (self.rootwiki, u"Текстовая страница", []) self.assertEqual (TextWikiPage, type(textPage)) wikiPage = WikiPageFactory.create (self.rootwiki, u"Вики-страница", []) self.assertEqual (WikiWikiPage, type(wikiPage)) htmlPage = HtmlPageFactory.create (self.rootwiki, u"HTML-страница", []) self.assertEqual (HtmlWikiPage, type(htmlPage)) searchPage = SearchPageFactory.create (self.rootwiki, u"Поисковая страница", []) self.assertEqual (SearchWikiPage, type(searchPage))
def setUp(self): BaseMainWndTest.setUp(self) self.config = GeneralGuiConfig(Application.config) self.config.pageTab.remove_option() self.wikipage = WikiPageFactory().create(self.wikiroot, u'Викистраница', []) self.htmlpage = HtmlPageFactory().create(self.wikiroot, u'HTML-страница', []) Application.wikiroot = self.wikiroot Application.selectedPage = None
def setUp(self): self.initApplication() self.wikiroot = self.createWiki() self.config = GeneralGuiConfig(self.application.config) self.config.pageTab.remove_option() self.wikipage = WikiPageFactory().create(self.wikiroot, 'Викистраница', []) self.htmlpage = HtmlPageFactory().create(self.wikiroot, 'HTML-страница', []) self.application.wikiroot = self.wikiroot self.application.selectedPage = None
def testLinesHtml1(self): from statistics.pagestat import PageStat HtmlPageFactory().create(self.wikiroot, "Страница 1", []) testPage = self.wikiroot["Страница 1"] testPage.content = """Бла бла бла Еще одна строка И еще строка Последняя строка""" pageStat = PageStat(testPage) self.assertEqual(pageStat.lines, 4)
def setUp(self): # Количество срабатываний особытий при обновлении страницы self._pageUpdateCount = 0 self._pageUpdateSender = None # Здесь будет создаваться вики self.path = u"../test/testwiki" removeWiki(self.path) self.eventcount = 0 self.rootwiki = WikiDocument.create(self.path) WikiPageFactory.create(self.rootwiki, u"Викистраница 1", []) HtmlPageFactory.create(self.rootwiki, u"Html-страница 2", []) self._styleFname = u"__style.html" self._styleDir = u"__style" self._exampleStyleDir = u"../test/styles/example_jblog/example_jblog" self._exampleStyleDir2 = u"../test/styles/example_jnet/example_jnet" self._invalidStyleDir = u"../styles/invalid" self._testStylePath = os.path.join(self._exampleStyleDir, self._styleFname) Application.wikiroot = self.rootwiki Application.onPageUpdate += self.onPageUpdate
def registerActions(application): """ Зарегистрировать действия """ # Действия, связанные с разными типами страниц from outwiker.pages.html.htmlpage import HtmlPageFactory HtmlPageFactory.registerActions(application) from outwiker.pages.wiki.wikipage import WikiPageFactory WikiPageFactory.registerActions(application) actionController = application.actionController from outwiker.gui.actionslist import actionsList, polyactionsList # Register the normal actions [actionController.register(item[0](application), item[1]) for item in actionsList] # Register the polyactions [actionController.register(PolyAction(application, item[0], item[1], item[2]), item[3]) for item in polyactionsList]
def setUp(self): super(InsertDateTest, self).setUp() WikiPageFactory().create(self.wikiroot, u"Викистраница", []) HtmlPageFactory().create(self.wikiroot, u"HTML", []) self._wikipage = self.wikiroot[u"Викистраница"] self._wikipage.content = u"" self._htmlpage = self.wikiroot[u"Викистраница"] self._htmlpage.content = u"" Application.wikiroot = self.wikiroot Application.selectedPage = self._wikipage
def setUp(self): self.initApplication() self.wikiroot = self.createWiki() WikiPageFactory().create(self.wikiroot, "Викистраница", []) HtmlPageFactory().create(self.wikiroot, "HTML", []) self._wikipage = self.wikiroot["Викистраница"] self._wikipage.content = "" self._htmlpage = self.wikiroot["Викистраница"] self._htmlpage.content = "" self.application.wikiroot = self.wikiroot self.application.selectedPage = self._wikipage
def testTypeCreation(self): textPage = TextPageFactory().create(self.wikiroot, u"Текстовая страница", []) self.assertEqual(TextWikiPage, type(textPage)) wikiPage = WikiPageFactory().create(self.wikiroot, u"Вики-страница", []) self.assertEqual(WikiWikiPage, type(wikiPage)) htmlPage = HtmlPageFactory().create(self.wikiroot, u"HTML-страница", []) self.assertEqual(HtmlWikiPage, type(htmlPage)) searchPage = SearchPageFactory().create(self.wikiroot, u"Поисковая страница", []) self.assertEqual(SearchWikiPage, type(searchPage))
def testWordsHtml2(self): from statistics.pagestat import PageStat HtmlPageFactory().create(self.wikiroot, "Страница 1", []) testPage = self.wikiroot["Страница 1"] testPage.content = """Бла бла бла. Еще одна строка111 222 333 И еще строка ... ... ;;; @#$%#$ Последняя строка """ pageStat = PageStat(testPage) self.assertEqual(pageStat.words, 13)
def testMultitype_01 (self): WikiPageFactory().create (self.wikiroot, u"Викистраница", []) page = self.wikiroot[u"Викистраница"] path = os.path.join (page.path, self.styleFile) TextPageFactory().create (page, u"Текстовая страница", []) SearchPageFactory().create (page, u"Страница поиска", []) HtmlPageFactory().create (page, u"HTML-страница", []) Application.wikiroot = self.wikiroot Application.selectedPage = None Tester.dialogTester.append (self.__selectSecond) Application.actionController.getAction(SetStyleToBranchAction.stringId).run(None) self.assertEqual(Tester.dialogTester.count, 0) self.assertTrue(os.path.exists (path)) self.assertTrue(os.path.exists (page.getHtmlPath()))
def setUp(self): # Количество срабатываний особытий при обновлении страницы self._pageUpdateCount = 0 self._pageUpdateSender = None # Здесь будет создаваться вики self.path = mkdtemp(prefix='Абырвалг абыр') self.eventcount = 0 self.wikiroot = WikiDocument.create(self.path) WikiPageFactory().create(self.wikiroot, "Викистраница 1", []) HtmlPageFactory().create(self.wikiroot, "Html-страница 2", []) self._styleFname = "__style.html" self._styleDir = "__style" self._exampleStyleDir = "../test/styles/example_jblog/example_jblog" self._exampleStyleDir2 = "../test/styles/example_jnet/example_jnet" self._invalidStyleDir = "../styles/invalid" self._testStylePath = os.path.join(self._exampleStyleDir, self._styleFname) Application.wikiroot = self.wikiroot Application.onPageUpdate += self.onPageUpdate
def _createPage(self): return HtmlPageFactory().create(self.wikiroot, u"HTML-страница", [])
def registerActions (application): """ Зарегистрировать действия """ # Действия, связанные с разными типами страниц from outwiker.pages.html.htmlpage import HtmlPageFactory HtmlPageFactory.registerActions (application) from outwiker.pages.wiki.wikipage import WikiPageFactory WikiPageFactory.registerActions (application) # Открыть... from outwiker.actions.open import OpenAction application.actionController.register ( OpenAction (application), HotKey ("O", ctrl=True)) # Создать... from outwiker.actions.new import NewAction application.actionController.register ( NewAction (application), HotKey ("N", ctrl=True)) # Открыть только для чтения from outwiker.actions.openreadonly import OpenReadOnlyAction application.actionController.register ( OpenReadOnlyAction (application), HotKey ("O", ctrl=True, shift=True)) # Закрыть from outwiker.actions.close import CloseAction application.actionController.register ( CloseAction (application), HotKey ("W", ctrl=True, shift=True)) # Сохранить from outwiker.actions.save import SaveAction application.actionController.register ( SaveAction (application), HotKey ("S", ctrl=True)) # Печать from outwiker.actions.printaction import PrintAction application.actionController.register ( PrintAction (application), HotKey ("P", ctrl=True)) # Выход from outwiker.actions.exit import ExitAction application.actionController.register ( ExitAction (application), HotKey ("F4", alt=True)) # Показать / скрыть панель с прикрепленными файлами from outwiker.actions.showhideattaches import ShowHideAttachesAction application.actionController.register ( ShowHideAttachesAction (application)) # Показать / скрыть панель с деревом заметок from outwiker.actions.showhidetree import ShowHideTreeAction application.actionController.register ( ShowHideTreeAction (application)) # Показать / скрыть панель с тегами from outwiker.actions.showhidetags import ShowHideTagsAction application.actionController.register ( ShowHideTagsAction (application)) # Полноэкранный режим from outwiker.actions.fullscreen import FullScreenAction application.actionController.register ( FullScreenAction (application), HotKey ("F11")) # Поиск from outwiker.actions.search import SearchAction, SearchNextAction, SearchPrevAction, SearchAndReplaceAction application.actionController.register ( SearchAction (application), HotKey ("F", ctrl=True)) application.actionController.register ( SearchNextAction (application), HotKey ("F3")) application.actionController.register ( SearchPrevAction (application), HotKey ("F3", shift=True)) application.actionController.register ( SearchAndReplaceAction (application), HotKey ("H", ctrl=True)) # Вызов настроек from outwiker.actions.preferences import PreferencesAction application.actionController.register ( PreferencesAction (application), HotKey ("F8", ctrl=True)) # Добавить страницу того же уровня from outwiker.actions.addsiblingpage import AddSiblingPageAction application.actionController.register ( AddSiblingPageAction (application), HotKey ("T", ctrl=True, alt=True)) # Добавить дочернюю страницу from outwiker.actions.addchildpage import AddChildPageAction application.actionController.register ( AddChildPageAction (application), HotKey ("T", ctrl=True, shift=True)) # Переместить страницу на одну позицию вверх from outwiker.actions.movepageup import MovePageUpAction application.actionController.register ( MovePageUpAction (application), HotKey ("Up", ctrl=True, shift=True)) # Переместить страницу на одну позицию вниз from outwiker.actions.movepagedown import MovePageDownAction application.actionController.register ( MovePageDownAction (application), HotKey ("Down", ctrl=True, shift=True)) # Сортировка дочерних страниц по алфавиту from outwiker.actions.sortchildalpha import SortChildAlphabeticalAction application.actionController.register ( SortChildAlphabeticalAction (application), None) # Сортировка страниц того же уровня, что и выбранная, по алфавиту from outwiker.actions.sortsiblingsalpha import SortSiblingsAlphabeticalAction application.actionController.register ( SortSiblingsAlphabeticalAction (application), None) # Переименование текущей страницы from outwiker.actions.renamepage import RenamePageAction application.actionController.register ( RenamePageAction (application), HotKey ("F2")) # Удаление текущей страницы from outwiker.actions.removepage import RemovePageAction application.actionController.register ( RemovePageAction (application), HotKey ("Delete", ctrl=True, shift=True)) # Редактирование свойств страницы from outwiker.actions.editpageprop import EditPagePropertiesAction application.actionController.register ( EditPagePropertiesAction (application), HotKey ("E", ctrl=True)) # Добавление закладки from outwiker.actions.addbookmark import AddBookmarkAction application.actionController.register ( AddBookmarkAction (application), HotKey ("D", ctrl=True)) # Добавление вкладки from outwiker.actions.tabs import AddTabAction application.actionController.register ( AddTabAction (application), HotKey ("T", ctrl=True)) # Закрытие вкладки from outwiker.actions.tabs import CloseTabAction application.actionController.register ( CloseTabAction (application), HotKey ("W", ctrl=True)) # Перейти на предыдущую вкладку from outwiker.actions.tabs import PreviousTabAction application.actionController.register ( PreviousTabAction (application), HotKey ("PageUp", ctrl=True, shift=True)) # Перейти на следующую вкладку from outwiker.actions.tabs import NextTabAction application.actionController.register ( NextTabAction (application), HotKey ("PageDown", ctrl=True, shift=True)) # Открыть или создать страницу глобального поиска from outwiker.actions.globalsearch import GlobalSearchAction application.actionController.register ( GlobalSearchAction (application), HotKey ("F", ctrl=True, shift=True)) # Прикрепить файлы к странице from outwiker.actions.attachfiles import AttachFilesAction application.actionController.register ( AttachFilesAction (application), HotKey ("A", ctrl=True, alt=True)) # Открыть папку с прикрепленными файлами from outwiker.actions.openattachfolder import OpenAttachFolderAction application.actionController.register ( OpenAttachFolderAction (application), HotKey ("A", ctrl=True, shift=True, alt=True)) import outwiker.actions.clipboard as clipboard # Копировать заголовок текущей страницы application.actionController.register ( clipboard.CopyPageTitleAction (application), HotKey ("D", ctrl=True, shift=True)) # Копировать путь до текущей страницы application.actionController.register ( clipboard.CopyPagePathAction (application), HotKey ("P", ctrl=True, shift=True)) # Копировать путь до прикрепленных файлов application.actionController.register ( clipboard.CopyAttachPathAction (application), HotKey ("A", ctrl=True, shift=True)) # Копировать ссылку на текущую страницу application.actionController.register ( clipboard.CopyPageLinkAction (application), HotKey ("L", ctrl=True, shift=True)) import outwiker.actions.tags as tags # Добавить метки к ветке application.actionController.register ( tags.AddTagsToBranchAction (application), None) # Удалить метки из ветки application.actionController.register ( tags.RemoveTagsFromBranchAction (application), None) # Переименовать метку application.actionController.register ( tags.RenameTagAction (application), None) # Перезагрузить вики from outwiker.actions.reloadwiki import ReloadWikiAction application.actionController.register ( ReloadWikiAction (application), HotKey ("R", ctrl=True)) # Вызов справки from outwiker.actions.openhelp import OpenHelpAction application.actionController.register ( OpenHelpAction (application), HotKey ("F1")) # "О программе" from outwiker.actions.about import AboutAction application.actionController.register ( AboutAction (application), HotKey ("F1", ctrl=True)) # Назад from outwiker.actions.history import HistoryBackAction, HistoryForwardAction application.actionController.register ( HistoryBackAction (application), HotKey ("Left", ctrl=True)) application.actionController.register ( HistoryForwardAction (application), HotKey ("Right", ctrl=True)) # Применить стиль страницы ко всей ветке from outwiker.actions.applystyle import SetStyleToBranchAction application.actionController.register ( SetStyleToBranchAction (application), None) from outwiker.actions.openpluginsfolder import OpenPluginsFolderAction application.actionController.register ( OpenPluginsFolderAction (application), None) _registerPolyActions (application)
def registerActions(application): """ Зарегистрировать действия """ # Действия, связанные с разными типами страниц from outwiker.pages.html.htmlpage import HtmlPageFactory HtmlPageFactory.registerActions(application) from outwiker.pages.wiki.wikipage import WikiPageFactory WikiPageFactory.registerActions(application) # Открыть... from outwiker.actions.open import OpenAction application.actionController.register(OpenAction(application), HotKey("O", ctrl=True)) # Создать... from outwiker.actions.new import NewAction application.actionController.register(NewAction(application), HotKey("N", ctrl=True)) # Открыть только для чтения from outwiker.actions.openreadonly import OpenReadOnlyAction application.actionController.register(OpenReadOnlyAction(application), HotKey("O", ctrl=True, shift=True)) # Закрыть from outwiker.actions.close import CloseAction application.actionController.register(CloseAction(application), HotKey("W", ctrl=True, shift=True)) # Сохранить from outwiker.actions.save import SaveAction application.actionController.register(SaveAction(application), HotKey("S", ctrl=True)) # Печать from outwiker.actions.printaction import PrintAction application.actionController.register(PrintAction(application), HotKey("P", ctrl=True)) # Выход from outwiker.actions.exit import ExitAction application.actionController.register(ExitAction(application), HotKey("F4", alt=True)) # Показать / скрыть панель с прикрепленными файлами from outwiker.actions.showhideattaches import ShowHideAttachesAction application.actionController.register(ShowHideAttachesAction(application)) # Показать / скрыть панель с деревом заметок from outwiker.actions.showhidetree import ShowHideTreeAction application.actionController.register(ShowHideTreeAction(application)) # Показать / скрыть панель с тегами from outwiker.actions.showhidetags import ShowHideTagsAction application.actionController.register(ShowHideTagsAction(application)) # Полноэкранный режим from outwiker.actions.fullscreen import FullScreenAction application.actionController.register(FullScreenAction(application), HotKey("F11")) # Поиск from outwiker.actions.search import SearchAction, SearchNextAction, SearchPrevAction, SearchAndReplaceAction application.actionController.register(SearchAction(application), HotKey("F", ctrl=True)) application.actionController.register(SearchNextAction(application), HotKey("F3")) application.actionController.register(SearchPrevAction(application), HotKey("F3", shift=True)) application.actionController.register(SearchAndReplaceAction(application), HotKey("H", ctrl=True)) # Вызов настроек from outwiker.actions.preferences import PreferencesAction application.actionController.register(PreferencesAction(application), HotKey("F8", ctrl=True)) # Добавить страницу того же уровня from outwiker.actions.addsiblingpage import AddSiblingPageAction application.actionController.register(AddSiblingPageAction(application), HotKey("T", ctrl=True, alt=True)) # Добавить дочернюю страницу from outwiker.actions.addchildpage import AddChildPageAction application.actionController.register(AddChildPageAction(application), HotKey("T", ctrl=True, shift=True)) # Переместить страницу на одну позицию вверх from outwiker.actions.movepageup import MovePageUpAction application.actionController.register(MovePageUpAction(application), HotKey("Up", ctrl=True, shift=True)) # Переместить страницу на одну позицию вниз from outwiker.actions.movepagedown import MovePageDownAction application.actionController.register( MovePageDownAction(application), HotKey("Down", ctrl=True, shift=True)) # Сортировка дочерних страниц по алфавиту from outwiker.actions.sortchildalpha import SortChildAlphabeticalAction application.actionController.register( SortChildAlphabeticalAction(application), None) # Сортировка страниц того же уровня, что и выбранная, по алфавиту from outwiker.actions.sortsiblingsalpha import SortSiblingsAlphabeticalAction application.actionController.register( SortSiblingsAlphabeticalAction(application), None) # Переименование текущей страницы from outwiker.actions.renamepage import RenamePageAction application.actionController.register(RenamePageAction(application), HotKey("F2")) # Удаление текущей страницы from outwiker.actions.removepage import RemovePageAction application.actionController.register( RemovePageAction(application), HotKey("Delete", ctrl=True, shift=True)) # Редактирование свойств страницы from outwiker.actions.editpageprop import EditPagePropertiesAction application.actionController.register( EditPagePropertiesAction(application), HotKey("E", ctrl=True)) # Добавление закладки from outwiker.actions.addbookmark import AddBookmarkAction application.actionController.register(AddBookmarkAction(application), HotKey("D", ctrl=True)) # Добавление вкладки from outwiker.actions.tabs import AddTabAction application.actionController.register(AddTabAction(application), HotKey("T", ctrl=True)) # Закрытие вкладки from outwiker.actions.tabs import CloseTabAction application.actionController.register(CloseTabAction(application), HotKey("W", ctrl=True)) # Перейти на предыдущую вкладку from outwiker.actions.tabs import PreviousTabAction application.actionController.register( PreviousTabAction(application), HotKey("PageUp", ctrl=True, shift=True)) # Перейти на следующую вкладку from outwiker.actions.tabs import NextTabAction application.actionController.register( NextTabAction(application), HotKey("PageDown", ctrl=True, shift=True)) # Открыть или создать страницу глобального поиска from outwiker.actions.globalsearch import GlobalSearchAction application.actionController.register(GlobalSearchAction(application), HotKey("F", ctrl=True, shift=True)) # Прикрепить файлы к странице from outwiker.actions.attachfiles import AttachFilesAction application.actionController.register(AttachFilesAction(application), HotKey("A", ctrl=True, alt=True)) # Открыть папку с прикрепленными файлами from outwiker.actions.openattachfolder import OpenAttachFolderAction application.actionController.register( OpenAttachFolderAction(application), HotKey("A", ctrl=True, shift=True, alt=True)) import outwiker.actions.clipboard as clipboard # Копировать заголовок текущей страницы application.actionController.register( clipboard.CopyPageTitleAction(application), HotKey("D", ctrl=True, shift=True)) # Копировать путь до текущей страницы application.actionController.register( clipboard.CopyPagePathAction(application), HotKey("P", ctrl=True, shift=True)) # Копировать путь до прикрепленных файлов application.actionController.register( clipboard.CopyAttachPathAction(application), HotKey("A", ctrl=True, shift=True)) # Копировать ссылку на текущую страницу application.actionController.register( clipboard.CopyPageLinkAction(application), HotKey("L", ctrl=True, shift=True)) import outwiker.actions.tags as tags # Добавить метки к ветке application.actionController.register( tags.AddTagsToBranchAction(application), None) # Удалить метки из ветки application.actionController.register( tags.RemoveTagsFromBranchAction(application), None) # Переименовать метку application.actionController.register(tags.RenameTagAction(application), None) # Перезагрузить вики from outwiker.actions.reloadwiki import ReloadWikiAction application.actionController.register(ReloadWikiAction(application), HotKey("R", ctrl=True)) # Вызов справки from outwiker.actions.openhelp import OpenHelpAction application.actionController.register(OpenHelpAction(application), HotKey("F1")) # "О программе" from outwiker.actions.about import AboutAction application.actionController.register(AboutAction(application), HotKey("F1", ctrl=True)) # Назад from outwiker.actions.history import HistoryBackAction, HistoryForwardAction application.actionController.register(HistoryBackAction(application), HotKey("Left", ctrl=True, alt=True)) application.actionController.register(HistoryForwardAction(application), HotKey("Right", ctrl=True, alt=True)) # Применить стиль страницы ко всей ветке from outwiker.actions.applystyle import SetStyleToBranchAction application.actionController.register(SetStyleToBranchAction(application), None) from outwiker.actions.openpluginsfolder import OpenPluginsFolderAction application.actionController.register(OpenPluginsFolderAction(application), None) # Moving on pages from outwiker.actions.moving import (GoToParentAction, GoToFirstChildAction, GoToNextSiblingAction, GoToPrevSiblingAction) application.actionController.register(GoToParentAction(application), HotKey("Left", ctrl=True)) application.actionController.register(GoToFirstChildAction(application), HotKey("Right", ctrl=True)) application.actionController.register(GoToNextSiblingAction(application), HotKey("Down", ctrl=True)) application.actionController.register(GoToPrevSiblingAction(application), HotKey("Up", ctrl=True)) _registerPolyActions(application)
def __createWiki(self): # Здесь будет создаваться вики WikiPageFactory().create(self.wikiroot, u"Викистраница", []) TextPageFactory().create(self.wikiroot, u"Текст", []) HtmlPageFactory().create(self.wikiroot, u"HTML", []) SearchPageFactory().create(self.wikiroot, u"Search", [])