Example #1
0
    def undo(self):
        if len(self.startpos) == 1: return
        # calling the undo
        res = Doudou.undo()
        if isinstance(res, str): 
            print res
            error_dialog(self.get_toplevel(), res)
            return
        # poping the last starting position
        oldendpos = self.startpos.pop()

        # removing the tag
        newendpos = self.startpos[len(self.startpos) - 1]

        oldenditer = self.buffer.get_iter_at_offset(oldendpos)
        newenditer = self.buffer.get_iter_at_offset(newendpos)
        
        self.buffer.remove_tag(self.not_editable_tag, newenditer, oldenditer)

        # and we set the cursor
        self.buffer.place_cursor(newenditer)

        #print self.startpos
        return True