Example #1
0
    def __init__(self, textview=None):
        RichTextBaseBuffer.__init__(self, RichTextTagTable())

        # indentation manager
        self._indent = IndentHandler(self)

        # set of all anchors in buffer
        self._anchors = set()
        self._child_uninit = set()

        # anchors that still need to be added,
        # they are defferred because textview was not available at insert-time
        self._anchors_deferred = set() 
Example #2
0
    def _on_delete_range(self, textbuffer, start, end):

        # TODO: should I add something like this back?
        # let indent manager prepare the delete
        #if self.is_interactive():
        #    self._indent.prepare_delete_range(start, end)
                
        # call super class
        RichTextBaseBuffer._on_delete_range(self, textbuffer, start, end)
        
        # deregister any deleted anchors
        for kind, offset, param in self._next_action.contents:
            if kind == "anchor":
                self._anchors.remove(param[0])
Example #3
0
    def get_font(self, font=None):
        """Get font under cursor"""

        if font is None:
            font = RichTextFont()
        return RichTextBaseBuffer.get_font(self, font)
Example #4
0
 def clear(self):
     """Clear buffer contents"""
     
     RichTextBaseBuffer.clear(self)
     self._anchors.clear()
     self._anchors_deferred.clear()