demoText = """\
-
This editor is provided by a class named wx.StyledTextCtrl. As
the name suggests, you can define styles that can be applied to
sections of text. This will typically be used for things like
face1 = 'Helvetica'
face2 = 'Times'
face3 = 'Courier'
- pb = 10
+ pb = 12
#----------------------------------------------------------------------
#ed.StyleClearAll()
#ed.SetScrollWidth(800)
#ed.SetWrapMode(True)
+ #ed.SetUseAntiAliasing(False)
+ #ed.SetViewEOL(True)
+
+ #ed.CmdKeyClear(stc.STC_KEY_BACK,
+ # stc.STC_SCMOD_CTRL)
+ #ed.CmdKeyAssign(stc.STC_KEY_BACK,
+ # stc.STC_SCMOD_CTRL,
+ # stc.STC_CMD_DELWORDLEFT)
ed.SetText(demoText)
ed.GotoPos(ed.GetLength())
ed.AddText("\n\nwx.StyledTextCtrl can also do Unicode:\n")
+ uniline = ed.GetCurrentLine()
unitext, l = decode('\xd0\x9f\xd0\xb8\xd1\x82\xd0\xbe\xd0\xbd - '
'\xd0\xbb\xd1\x83\xd1\x87\xd1\x88\xd0\xb8\xd0\xb9 '
'\xd1\x8f\xd0\xb7\xd1\x8b\xd0\xba \xd0\xbf\xd1\x80\xd0\xbe\xd0\xb3\xd1\x80\xd0\xb0\xd0\xbc\xd0\xbc\xd0\xb8\xd1\x80\xd0\xbe\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x8f!\n\n')
ed.AddText('\tRussian: ')
ed.AddText(unitext)
ed.GotoPos(0)
-
+ #else:
+ # #ed.StyleSetFontEncoding(stc.STC_STYLE_DEFAULT, wx.FONTENCODING_KOI8)
+ # #text = u'\u041f\u0438\u0442\u043e\u043d - \u043b\u0443\u0447\u0448\u0438\u0439 \u044f\u0437\u044b\u043a \n\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f!'
+ # #text = text.encode('koi8-r')
+ # #ed.StyleSetFontEncoding(stc.STC_STYLE_DEFAULT, wx.FONTENCODING_BIG5)
+ # #text = u'Python \u662f\u6700\u597d\u7684\u7de8\u7a0b\u8a9e\u8a00\uff01'
+ # #text = text.encode('big5')
+ # ed.GotoPos(ed.GetLength())
+ # ed.AddText('\n\n' + text)
+
ed.EmptyUndoBuffer()
# make some styles
ed.StyleSetSpec(stc.STC_STYLE_DEFAULT, "size:%d,face:%s" % (pb, face3))
+ ed.StyleClearAll()
ed.StyleSetSpec(1, "size:%d,bold,face:%s,fore:#0000FF" % (pb+2, face1))
ed.StyleSetSpec(2, "face:%s,italic,fore:#FF0000,size:%d" % (face2, pb))
ed.StyleSetSpec(3, "face:%s,bold,size:%d" % (face2, pb+2))
print "GetTextRange(25, 35): ", repr(ed.GetTextRange(25, 35))
print "FindText(0, max, 'indicators'): ",
print ed.FindText(0, ed.GetTextLength(), "indicators")
-
- ed.GotoPos(0)
+ if wx.USE_UNICODE:
+ end = ed.GetLength()
+ start = ed.PositionFromLine(uniline)
+ print "GetTextRange(%d, %d): " % (start, end),
+ print repr(ed.GetTextRange(start, end))
+ wx.CallAfter(ed.GotoPos, 0)
return p
if __name__ == '__main__':
import sys,os
import run
- run.main(['', os.path.basename(sys.argv[0])])
+ run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])