Advertisement
Guest User

PyGTK save from textmarks

a guest
Jul 17th, 2010
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.57 KB | None | 0 0
  1. def textConvertTo(self, pos=0):
  2.     def apply_tag(self):
  3.         iter = self.tmpBuffer.get_iter_at_mark(self.beginMark)
  4.         if iter.begins_tag(self.boldTag) and not self.boldLock:
  5.             self.tmpBuffer.insert(iter, '[b]')
  6.             self.boldLock = True
  7.         iter = self.tmpBuffer.get_iter_at_mark(self.beginMark)
  8.         if iter.begins_tag(self.italTag) and not self.italLock:
  9.             self.tmpBuffer.insert(iter, '[i]')
  10.             self.italLock = True
  11.         iter = self.tmpBuffer.get_iter_at_mark(self.beginMark)
  12.         if iter.begins_tag(self.undlTag) and not self.undlLock:
  13.             self.tmpBuffer.insert(iter, '[u]')
  14.             self.undlLock = True
  15.         iter = self.tmpBuffer.get_iter_at_mark(self.endMark)
  16.         if iter.ends_tag(self.boldTag) and self.boldLock:
  17.             self.tmpBuffer.insert(iter, '[/b]')
  18.             self.boldLock = False
  19.         iter = self.tmpBuffer.get_iter_at_mark(self.endMark)
  20.         if iter.ends_tag(self.italTag) and self.italLock:
  21.             self.tmpBuffer.insert(iter, '[/i]')
  22.             self.italLock = False
  23.         iter = self.tmpBuffer.get_iter_at_mark(self.endMark)
  24.         if iter.ends_tag(self.undlTag) and self.undlLock:
  25.             self.tmpBuffer.insert(iter, '[/u]')
  26.             self.undlLock = False
  27.     self.tmpBuffer = gtk.TextBuffer(self.textTags)
  28.     deserialization = self.tmpBuffer.register_deserialize_tagset()
  29.     self.tmpBuffer.deserialize(self.tmpBuffer, deserialization, self.tmpBuffer.get_start_iter(), self.textBuffer.serialize(self.textBuffer, "application/x-gtk-text-buffer-rich-text", self.textBuffer.get_start_iter(), self.textBuffer.get_end_iter()))
  30.     self.boldLock = False
  31.     self.italLock = False
  32.     self.undlLock = False
  33.     self.beginMark = self.tmpBuffer.create_mark(None, self.tmpBuffer.get_start_iter(), False)
  34.     self.endMark = self.tmpBuffer.create_mark(None, self.tmpBuffer.get_start_iter(), True)
  35.     apply_tag(self)
  36.     tmpIter = self.tmpBuffer.get_iter_at_mark(self.beginMark)
  37.     tmpVar = tmpIter.forward_to_tag_toggle(None)
  38.     while tmpVar:
  39.         self.beginMark = self.tmpBuffer.create_mark(None, tmpIter, False)
  40.         self.endMark = self.tmpBuffer.create_mark(None, tmpIter, True)
  41.         apply_tag(self)
  42.         tmpIter = self.tmpBuffer.get_iter_at_mark(self.endMark)
  43.         tmpVar = tmpIter.forward_to_tag_toggle(None)
  44.         print 'And again...'
  45.     text = self.tmpBuffer.get_text(self.tmpBuffer.get_start_iter(), self.tmpBuffer.get_end_iter())
  46.     del(self.beginMark, self.endMark, self.boldLock, self.italLock, self.undlLock, self.tmpBuffer)
  47.     return text
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement