X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/95bfd958bda8955ac81277c78e5627c926154f39..db679b8c836e69c111cdc31e62cf92cebe4f938f:/wxPython/demo/StyledTextCtrl_1.py?ds=inline diff --git a/wxPython/demo/StyledTextCtrl_1.py b/wxPython/demo/StyledTextCtrl_1.py index 821d85c73e..d1db6228d0 100644 --- a/wxPython/demo/StyledTextCtrl_1.py +++ b/wxPython/demo/StyledTextCtrl_1.py @@ -1,7 +1,6 @@ # # 11/21/2003 - Jeff Grimmett (grimmtooth@softhome.net) # -# o EVT_STC_DRAG_OVER event GetdragResult() is not an int # o wx.TheClipboard.Flush() generates a warning on program exit. # @@ -16,7 +15,6 @@ debug = 1 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 @@ -52,7 +50,7 @@ else: face1 = 'Helvetica' face2 = 'Times' face3 = 'Courier' - pb = 10 + pb = 12 #---------------------------------------------------------------------- @@ -88,8 +86,6 @@ class MySTC(stc.StyledTextCtrl): def OnDragOver(self, evt): - #Todo: evt.GetdragResult() response is not an int - self.log.write( "OnDragOver: x,y=(%d, %d) pos: %d DragResult: %d\n" % (evt.GetX(), evt.GetY(), evt.GetPosition(), evt.GetDragResult()) @@ -178,6 +174,14 @@ def runTest(frame, nb, log): #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) @@ -187,17 +191,28 @@ def runTest(frame, nb, log): 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)) @@ -270,10 +285,14 @@ def runTest(frame, nb, log): 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 @@ -293,5 +312,5 @@ be helpful. 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:])