示例#1
0
    def __init__(self, parent, application):
        super(type(self), self).__init__(parent)

        self.MIN_TAB_WIDTH = 1
        self.MAX_TAB_WIDTH = 50

        self.__config = EditorConfig(application.config)
        self.__createGuiElements(self.__config)
        self.__do_layout()
        self.LoadState()
        self.SetupScrolling()
示例#2
0
    def __init__(self, *args, **kwds):
        kwds["style"] = wx.TAB_TRAVERSAL
        wx.Panel.__init__(self, *args, **kwds)

        self._config = EditorConfig (Application.config)

        self._enableSpellChecking = True
        self._spellChecker = None

        self.SPELL_ERROR_INDICATOR = 0

        self._spellErrorText = None
        self._spellSuggestList = []

        self._spellMaxSuggest = len (TextEditorMenu.ID_SUGGESTS)
        self._spellStartByteError = -1
        self._spellEndByteError = -1

        # Уже были установлены стили текста (раскраска)
        self._styleSet = False

        self.__stylebytes = None
        self.__indicatorsbytes = None

        # Начинаем раскраску кода не менее чем через это время с момента его изменения
        self._DELAY = timedelta (milliseconds=300)

        # Время последней модификации текста страницы.
        # Используется для замера времени после модификации, чтобы не парсить текст
        # после каждой введенной буквы
        self._lastEdit = datetime.now() - self._DELAY * 2

        self.textCtrl = StyledTextCtrl(self, -1)

        self._popupMenu = TextEditorMenu(self)

        # Создание панели поиска и ее контроллера
        self._searchPanel = SearchReplacePanel (self)
        self._searchPanelController = SearchReplaceController (self._searchPanel, self)
        self._searchPanel.setController (self._searchPanelController)

        self.__do_layout()
        self.__createCoders()
        self._helper = TextEditorHelper()

        self.__showlinenumbers = self._config.lineNumbers.value

        self.setDefaultSettings()
        self.__bindEvents()
示例#3
0
    def _addSpellTools(self):
        generalToolbar = self.mainWindow.toolbars[
            self.mainWindow.GENERAL_TOOLBAR_STR]
        self._application.actionController.getAction(SPELL_ON_OFF_ID).setFunc(
            self._spellOnOff)

        self._application.actionController.appendMenuCheckItem(
            SPELL_ON_OFF_ID, self._application.mainWindow.mainMenu.editMenu)

        self._application.actionController.appendToolbarCheckButton(
            SPELL_ON_OFF_ID,
            generalToolbar,
            os.path.join(self.imagesDir, "spellcheck.png"),
            fullUpdate=False)

        enableSpell = EditorConfig(self._application.config).spellEnabled.value
        self._application.actionController.check(SPELL_ON_OFF_ID, enableSpell)
示例#4
0
    def __init__(self, parent):
        super().__init__(parent)
        self.SPELL_ERROR_INDICATOR = wx.stc.STC_INDIC_SQUIGGLE

        self._config = EditorConfig(Application.config)

        self._enableSpellChecking = True
        self._spellChecker = None

        self.SPELL_ERROR_INDICATOR = 0

        self._spellErrorText = None
        self._spellSuggestList = []

        self._spellMaxSuggest = 10
        self._suggestMenuItems = []
        self._spellStartByteError = -1
        self._spellEndByteError = -1

        self._oldStartSelection = None
        self._oldEndSelection = None

        # Уже были установлены стили текста (раскраска)
        self._styleSet = False

        self.__stylebytes = None
        self.__indicatorsbytes = None

        # Начинаем раскраску кода не менее чем через это время
        # с момента его изменения
        self._DELAY = timedelta(milliseconds=300)

        # Время последней модификации текста страницы.
        # Используется для замера времени после модификации,
        # чтобы не парсить текст после каждой введенной буквы
        self._lastEdit = datetime.now() - self._DELAY * 2

        self.__showlinenumbers = self._config.lineNumbers.value
        self.dropTarget = EditorFilesDropTarget(Application, self)

        self.setDefaultSettings()
        self.__bindEvents()
示例#5
0
    def testChange(self):
        newConfig = EditorConfig(self.config)

        newConfig.lineNumbers.value = True
        self.assertEqual(self.editorConfig.lineNumbers.value, True)

        newConfig.tabWidth.value = 8
        self.assertEqual(self.editorConfig.tabWidth.value, 8)

        newConfig.fontSize.value = 12
        self.assertEqual(self.editorConfig.fontSize.value, 12)

        newConfig.fontName.value = "Arial"
        self.assertEqual(self.editorConfig.fontName.value, "Arial")

        newConfig.fontIsBold.value = True
        self.assertEqual(self.editorConfig.fontIsBold.value, True)

        newConfig.fontIsItalic.value = True
        self.assertEqual(self.editorConfig.fontIsItalic.value, True)
示例#6
0
    def setUp(self):
        self.path = "../test/testconfig.ini"
        self.config = Config(self.path)

        self.editorConfig = EditorConfig(self.config)
示例#7
0
    def __init__(self, parent, application):
        super(type(self), self).__init__(parent)

        self._config = EditorConfig(application.config)
        self._createGui()
        self.SetupScrolling()
示例#8
0
 def _spellOnOff(self, checked):
     EditorConfig(self._application.config).spellEnabled.value = checked
     event = self._spellOnOffEvent(checked=checked)
     wx.PostEvent(self, event)