1ce1bd84ea
UTF8 in either unicode or ansi builds git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
118 lines
3.5 KiB
Python
118 lines
3.5 KiB
Python
|
|
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)
|
|
|