Example #1
0
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)
Example #2
0
 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", [])
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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", [])
Example #6
0
    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", [])
Example #7
0
    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)
Example #8
0
    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)
Example #9
0
    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
Example #10
0
    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
Example #11
0
    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
Example #12
0
    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", [])
Example #13
0
    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
Example #14
0
    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", [])
Example #15
0
    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)
Example #16
0
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)
Example #17
0
    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
Example #18
0
    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", [])
Example #19
0
    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
Example #20
0
    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)
Example #21
0
    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)
Example #22
0
 def reset ():
     """
     Установить словарь фабрик в первоначальное состояние. Используется для тестирования.
     Это не конструктор. В случае изменения списка фабрик, установленных по умолчанию, нужно изменять этот метод.
     """
     FactorySelector._factories = {factory.getTypeString(): factory
                                   for factory
                                   in [WikiPageFactory(),
                                       HtmlPageFactory(),
                                       TextPageFactory(),
                                       SearchPageFactory()]}
Example #23
0
    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)
Example #24
0
    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))
Example #25
0
    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
Example #26
0
    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
Example #27
0
    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)
Example #28
0
    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
Example #29
0
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]
Example #30
0
    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
Example #31
0
    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
Example #32
0
    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))
Example #33
0
    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)
Example #34
0
    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()))
Example #35
0
    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-страница", [])
Example #37
0
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)
Example #38
0
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)
Example #39
0
 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", [])