def insertString(self, offset, str, a, addUndoEvent=1): if self.needToSetEnvironment: #Give the environment and key words to the Highlighting Document HighlightingStyledDocument.setEnvironmentWords( self, self.editor.program.getVarsToHighlight().keys()) HighlightingStyledDocument.setKeywords(self, keyword.kwlist) self.needToSetEnvironment = 0 if self.errorLineStart >= 0: self.removeErrorHighlighting() if self.highlightLineStart >= 0: self.removeLineHighlighting() if str == '\t': str = JESConstants.TAB #Added to make auto indent work if str == '\n': defaultElement = self.getDefaultRootElement() rowIndex = defaultElement.getElementIndex(offset) rowStart = defaultElement.getElement(rowIndex).getStartOffset() rowEnd = defaultElement.getElement(rowIndex).getEndOffset() - 1 rowText = self.getText(rowStart, rowEnd - rowStart) #.expandtabs() newRowText = rowText.lstrip() numSpaces = (len(rowText) - len(newRowText)) str = "\n" + (" " * numSpaces) self.editor.modified = 1 self.editor.gui.loadButton.enabled = 1 if addUndoEvent: self.addUndoEvent(INSERT_EVENT, offset, str) HighlightingStyledDocument.insertString(self, offset, str, self.textAttrib)
def insertString(self, offset, str, a, addUndoEvent=1): if self.needToSetEnvironment: #Give the environment and key words to the Highlighting Document HighlightingStyledDocument.setEnvironmentWords(self, self.editor.program.getVarsToHighlight().keys()) HighlightingStyledDocument.setKeywords(self, keyword.kwlist) self.needToSetEnvironment = 0 if self.errorLineStart >= 0: self.removeErrorHighlighting() if self.highlightLineStart >= 0: self.removeLineHighlighting() if str == '\t': str = JESConstants.TAB #Added to make auto indent work if str == '\n': defaultElement = self.getDefaultRootElement() rowIndex = defaultElement.getElementIndex(offset) rowStart = defaultElement.getElement(rowIndex).getStartOffset() rowEnd = defaultElement.getElement(rowIndex).getEndOffset() - 1 rowText = self.getText(rowStart, rowEnd - rowStart)#.expandtabs() newRowText = rowText.lstrip() numSpaces = (len(rowText) - len(newRowText)) str = "\n" + (" " * numSpaces) self.editor.modified = 1 self.editor.gui.loadButton.enabled = 1 if addUndoEvent: self.addUndoEvent(INSERT_EVENT, offset, str) HighlightingStyledDocument.insertString(self, offset, str, self.textAttrib)