def update_save(self):
        next = self.element.firstChild
        while next:
            m = next.nextSibling
            if next.nodeName == "attribute":
                self.element.removeChild(next)
                next.unlink()
            next = m

        if self.text_element.parentNode is not None:
            self.text_element.replaceWholeText(self.text)
        text = self.extended_buffer.get_text()
        if text:
            self.extended_buffer.update_save()
        else:
            try:
                self.element.removeChild(self.extended_buffer.element)
            except xml.dom.NotFoundErr:
                pass
        self.element.setAttribute("cursor", str(self.index))
        self.element.setAttribute("ul-coords", str(self.ul))
        self.element.setAttribute("lr-coords", str(self.lr))
        self.element.setAttribute("identity", str(self.identity))
        self.element.setAttribute("background-color",
                                  utils.color_to_string(self.background_color))
        self.element.setAttribute("foreground-color",
                                  utils.color_to_string(self.foreground_color))

        if self.am_selected:
            self.element.setAttribute("current_root", "true")

        else:
            try:
                self.element.removeAttribute("current_root")

            except xml.dom.NotFoundErr:
                pass

        if self.am_primary:
            self.element.setAttribute("primary_root", "true")

        else:
            try:
                self.element.removeAttribute("primary_root")

            except xml.dom.NotFoundErr:
                pass

        doc = self.element.ownerDocument
        """
    def update_save (self):
        next = self.element.firstChild
        while next:
            m = next.nextSibling
            if next.nodeName == "attribute":
                self.element.removeChild (next)
                next.unlink ()
            next = m

        if self.text_element.parentNode is not None:
            self.text_element.replaceWholeText (self.text)
        text = self.extended_buffer.get_text ()
        if text:
            self.extended_buffer.update_save()
        else:
            try:
                self.element.removeChild(self.extended_buffer.element)
            except xml.dom.NotFoundErr:
                pass
        self.element.setAttribute("cursor", str(self.index))
        self.element.setAttribute("ul-coords", str(self.ul))
        self.element.setAttribute("lr-coords", str(self.lr))
        self.element.setAttribute("identity", str(self.identity))
        self.element.setAttribute("background-color", utils.color_to_string(self.background_color))
        self.element.setAttribute("foreground-color", utils.color_to_string(self.foreground_color))

        if self.am_selected:
                self.element.setAttribute ("current_root", "true")

        else:
            try:
                self.element.removeAttribute ("current_root")

            except xml.dom.NotFoundErr:
                pass

        if self.am_primary:
            self.element.setAttribute ("primary_root", "true");

        else:
            try:
                self.element.removeAttribute ("primary_root")

            except xml.dom.NotFoundErr:
                pass

        doc = self.element.ownerDocument
        """
Exemple #3
0
	def update_save (self):
		next = self.element.firstChild
		while next:
			m = next.nextSibling
			if next.nodeName == "attribute":
				self.element.removeChild (next)
				next.unlink ()
			next = m

		if self.text_element.parentNode is not None:
			self.text_element.replaceWholeText (self.text)
		text = self.extended_buffer.get_text ()
		if text:
			self.extended_buffer.update_save()
		else:
			try:
				self.element.removeChild(self.extended_buffer.element)
			except xml.dom.NotFoundErr:
				pass
		self.element.setAttribute ("cursor", str(self.index))
		self.element.setAttribute ("ul-coords", str(self.ul))
		self.element.setAttribute ("lr-coords", str(self.lr))
		self.element.setAttribute ("identity", str(self.identity))
		self.element.setAttribute ("background-color", utils.color_to_string(self.background_color))
		self.element.setAttribute ("foreground-color", utils.color_to_string(self.foreground_color))
		if self.am_selected:
				self.element.setAttribute ("current_root", "true")
		else:
			try:
				self.element.removeAttribute ("current_root")
			except xml.dom.NotFoundErr:
				pass
		if self.am_primary:
			self.element.setAttribute ("primary_root", "true");
		else:
			try:
				self.element.removeAttribute ("primary_root")
			except xml.dom.NotFoundErr:
				pass
		doc = self.element.ownerDocument
		it = self.attributes.get_iterator()
		while (1):
			r = it.range()
			for x in it.get_attrs():
				if x.type == pango.ATTR_WEIGHT and x.value == pango.WEIGHT_BOLD:
					elem = doc.createElement ("attribute")
					self.element.appendChild (elem)
					elem.setAttribute("start", str(r[0]))
					elem.setAttribute("end", str(r[1]))
					elem.setAttribute("type", "bold")
				elif x.type == pango.ATTR_STYLE and x.value == pango.STYLE_ITALIC:
					elem = doc.createElement ("attribute")
					self.element.appendChild (elem)
					elem.setAttribute("start", str(r[0]))
					elem.setAttribute("end", str(r[1]))
					elem.setAttribute("type", "italics")
				elif x.type == pango.ATTR_UNDERLINE and x.value == pango.UNDERLINE_SINGLE:
					elem = doc.createElement ("attribute")
					self.element.appendChild (elem)
					elem.setAttribute("start", str(r[0]))
					elem.setAttribute("end", str(r[1]))
					elem.setAttribute("type", "underline")
				elif x.type == pango.ATTR_FONT_DESC:
					elem = doc.createElement ("attribute")
					self.element.appendChild (elem)
					elem.setAttribute("start", str(r[0]))
					elem.setAttribute("end", str(r[1]))
					elem.setAttribute("type", "font")
					elem.setAttribute("value", x.desc.to_string ())
			if not it.next():
				break
    def update_save(self):
        next = self.element.firstChild
        while next:
            m = next.nextSibling
            if next.nodeName == "attribute":
                self.element.removeChild(next)
                next.unlink()
            next = m

        if self.text_element.parentNode is not None:
            self.text_element.replaceWholeText(self.text)
        text = self.extended_buffer.get_text()
        if text:
            self.extended_buffer.update_save()
        else:
            try:
                self.element.removeChild(self.extended_buffer.element)
            except xml.dom.NotFoundErr:
                pass
        self.element.setAttribute("cursor", str(self.index))
        self.element.setAttribute("ul-coords", str(self.ul))
        self.element.setAttribute("lr-coords", str(self.lr))
        self.element.setAttribute("identity", str(self.identity))
        self.element.setAttribute("background-color",
                                  utils.color_to_string(self.background_color))
        self.element.setAttribute("foreground-color",
                                  utils.color_to_string(self.foreground_color))
        if self.am_selected:
            self.element.setAttribute("current_root", "true")
        else:
            try:
                self.element.removeAttribute("current_root")
            except xml.dom.NotFoundErr:
                pass
        if self.am_primary:
            self.element.setAttribute("primary_root", "true")
        else:
            try:
                self.element.removeAttribute("primary_root")
            except xml.dom.NotFoundErr:
                pass
        doc = self.element.ownerDocument
        it = self.attributes.get_iterator()
        while (1):
            r = it.range()
            for x in it.get_attrs():
                if x.type == pango.ATTR_WEIGHT and x.value == pango.WEIGHT_BOLD:
                    elem = doc.createElement("attribute")
                    self.element.appendChild(elem)
                    elem.setAttribute("start", str(r[0]))
                    elem.setAttribute("end", str(r[1]))
                    elem.setAttribute("type", "bold")
                elif x.type == pango.ATTR_STYLE and x.value == pango.STYLE_ITALIC:
                    elem = doc.createElement("attribute")
                    self.element.appendChild(elem)
                    elem.setAttribute("start", str(r[0]))
                    elem.setAttribute("end", str(r[1]))
                    elem.setAttribute("type", "italics")
                elif x.type == pango.ATTR_UNDERLINE and x.value == pango.UNDERLINE_SINGLE:
                    elem = doc.createElement("attribute")
                    self.element.appendChild(elem)
                    elem.setAttribute("start", str(r[0]))
                    elem.setAttribute("end", str(r[1]))
                    elem.setAttribute("type", "underline")
                elif x.type == pango.ATTR_FONT_DESC:
                    elem = doc.createElement("attribute")
                    self.element.appendChild(elem)
                    elem.setAttribute("start", str(r[0]))
                    elem.setAttribute("end", str(r[1]))
                    elem.setAttribute("type", "font")
                    elem.setAttribute("value", x.desc.to_string())
            if not it.next():
                break