Esempio n. 1
0
 def __init__(self, parent=None, **kwargs):
     super().__init__(parent, **kwargs)
     self.setDocumentLayout(QPlainTextDocumentLayout(self))
     self.__currentCharFormat = QTextCharFormat()
     if 'defaultFont' not in kwargs:
         defaultFont = QFontDatabase.systemFont(QFontDatabase.FixedFont)
         self.setDefaultFont(defaultFont)
     self.__streams = []
Esempio n. 2
0
 def documentForScript(self, script=0):
     if not isinstance(script, Script):
         script = self.libraryList[script]
     if script not in self._cachedDocuments:
         doc = QTextDocument(self)
         doc.setDocumentLayout(QPlainTextDocumentLayout(doc))
         doc.setPlainText(script.script)
         doc.setDefaultFont(QFont(self.defaultFont))
         doc.highlighter = PythonSyntaxHighlighter(doc)
         doc.modificationChanged[bool].connect(self.onModificationChanged)
         doc.setModified(False)
         self._cachedDocuments[script] = doc
     return self._cachedDocuments[script]
Esempio n. 3
0
 def clone(self, parent=None) -> 'TerminalTextDocument':
     """Create a new TerminalTextDocument that is a copy of this document."""
     clone = type(self)()
     clone.setParent(parent)
     clone.setDocumentLayout(QPlainTextDocumentLayout(clone))
     cursor = QTextCursor(clone)
     cursor.insertFragment(QTextDocumentFragment(self))
     clone.rootFrame().setFrameFormat(self.rootFrame().frameFormat())
     clone.setDefaultStyleSheet(self.defaultStyleSheet())
     clone.setDefaultFont(self.defaultFont())
     clone.setDefaultTextOption(self.defaultTextOption())
     clone.setCurrentCharFormat(self.currentCharFormat())
     for s, w in self.__streams:
         clone.connectStream(s, w.charformat if w is not None else None)
     return clone