Example #1
0
 def init(self):
     super(TextDocument, self).init()
     self.setUndoManager_(UndoManager.alloc().init())
     self.id = doc_id_gen.next()
     self.icon_cache = (None, None)
     self.document_attrs = {
         NSDocumentTypeDocumentAttribute: NSPlainTextDocumentType,
         NSCharacterEncodingDocumentAttribute: NSUTF8StringEncoding,
     }
     self.text_storage = NSTextStorage.alloc().initWithString_attributes_(u"", {})
     self.syntaxer = SyntaxCache()
     self._filestat = None
     self.props = KVOProxy(self)
     self.indent_mode = const.INDENT_MODE_SPACE
     self.indent_size = 4  # should come from syntax definition
     self.newline_mode = const.NEWLINE_MODE_UNIX
     self.reset_text_attributes(self.indent_size)
     # self.save_hooks = []
     return self
Example #2
0
 def init_with_document(self, document):
     self = super(TextDocumentView, self).init()
     self._documents = KVOList.alloc().init()
     self.id = doc_id_gen.next()
     self.project = None
     self.document = document
     self.text_view = None
     self.scroll_view = None
     self.props = KVOProxy(self)
     if isinstance(document, NSDocument):
         # HACK this should not be conditional (but it is for tests)
         self.kvolink = KVOLink(
             [
                 (document, "properties.indent_mode", self.props, "indent_mode"),
                 (document, "properties.indent_size", self.props, "indent_size"),
                 (document, "properties.newline_mode", self.props, "newline_mode"),
                 (document, "properties.syntaxdef", self.props, "syntaxdef"),
                 (document, "properties.character_encoding", self.props, "character_encoding"),
             ]
         )
     return self