def AddTextUTF8(self, text): """ Add UTF8 encoded text to the document at the current position. Works 'natively' in a unicode build of wxPython, and will also work in an ansi build if the UTF8 text is compatible with the current encoding. """ if not wx.USE_UNICODE: u = text.decode('utf-8') text = u.encode(wx.GetDefaultPyEncoding()) self.AddTextRaw(text) def InsertTextUTF8(self, pos, text): """ Insert UTF8 encoded text at a position. Works 'natively' in a unicode build of wxPython, and will also work in an ansi build if the UTF8 text is compatible with the current encoding. """ if not wx.USE_UNICODE: u = text.decode('utf-8') text = u.encode(wx.GetDefaultPyEncoding()) self.InsertTextRaw(pos, text) def GetCurLineUTF8(self): """ Retrieve the UTF8 text of the line containing the caret, and also the index of the caret on the line. In an ansi build of wxPython the text retrieved from the document is assumed to be in the current default encoding. """ text, pos = self.GetCurLineRaw() if not wx.USE_UNICODE: u = text.decode(wx.GetDefaultPyEncoding()) text = u.encode('utf-8') return text, pos def GetLineUTF8(self, line): """ Retrieve the contents of a line as UTF8. In an ansi build of wxPython the text retrieved from the document is assumed to be in the current default encoding. """ text = self.GetLineRaw(line) if not wx.USE_UNICODE: u = text.decode(wx.GetDefaultPyEncoding()) text = u.encode('utf-8') return text def GetSelectedTextUTF8(self): """ Retrieve the selected text as UTF8. In an ansi build of wxPython the text retrieved from the document is assumed to be in the current default encoding. """ text = self.GetSelectedTextRaw() if not wx.USE_UNICODE: u = text.decode(wx.GetDefaultPyEncoding()) text = u.encode('utf-8') return text def GetTextRangeUTF8(self, startPos, endPos): """ Retrieve a range of text as UTF8. In an ansi build of wxPython the text retrieved from the document is assumed to be in the current default encoding. """ text = self.GetTextRangeRaw(startPos, endPos) if not wx.USE_UNICODE: u = text.decode(wx.GetDefaultPyEncoding()) text = u.encode('utf-8') return text def SetTextUTF8(self, text): """ Replace the contents of the document with the UTF8 text given. Works 'natively' in a unicode build of wxPython, and will also work in an ansi build if the UTF8 text is compatible with the current encoding. """ if not wx.USE_UNICODE: u = text.decode('utf-8') text = u.encode(wx.GetDefaultPyEncoding()) self.SetTextRaw(text) def GetTextUTF8(self): """ Retrieve all the text in the document as UTF8. In an ansi build of wxPython the text retrieved from the document is assumed to be in the current default encoding. """ text = self.GetTextRaw() if not wx.USE_UNICODE: u = text.decode(wx.GetDefaultPyEncoding()) text = u.encode('utf-8') return text def AppendTextUTF8(self, text): """ Append a UTF8 string to the end of the document without changing the selection. Works 'natively' in a unicode build of wxPython, and will also work in an ansi build if the UTF8 text is compatible with the current encoding. """ if not wx.USE_UNICODE: u = text.decode('utf-8') text = u.encode(wx.GetDefaultPyEncoding()) self.AppendTextRaw(text)