]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/StyledTextCtrl_1.py
wxCheckListBox doesn't require wxUSE_OWNER_DRAWN when using WXUNIVERSAL
[wxWidgets.git] / wxPython / demo / StyledTextCtrl_1.py
index 5eff81c883afbfc63125daa13bbffabe1873539b..d1db6228d0e233bc33d97d9d93a9015ce7d2feb9 100644 (file)
@@ -1,11 +1,7 @@
-# 11/21/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o Updated for wx namespace
 # 
 # 11/21/2003 - Jeff Grimmett (grimmtooth@softhome.net)
 #
-# o EVT_STC_DRAG_OVER event GetdragResult() is not an int
-# o wx.TheClipboard.Flush() generates an error on program exit.
+# o wx.TheClipboard.Flush() generates a warning on program exit.
 # 
 
 import  wx
@@ -19,8 +15,7 @@ debug = 1
 
 
 demoText = """\
-
-This editor is provided by a class named wxStyledTextCtrl.  As
+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
 syntax highlighting code editors, but I'm sure that there are other
@@ -35,7 +30,7 @@ If you do you can simply register an event handler and the editor
 will let you know when the visible portion of the text needs
 styling.
 
-wxStyledTextEditor also supports setting markers in the margin...
+wx.StyledTextEditor also supports setting markers in the margin...
 
 
 
@@ -55,11 +50,11 @@ else:
     face1 = 'Helvetica'
     face2 = 'Times'
     face3 = 'Courier'
-    pb = 10
+    pb = 12
 
 
 #----------------------------------------------------------------------
-# This shows how to catch the Modified event from the wxStyledTextCtrl
+# This shows how to catch the Modified event from the wx.StyledTextCtrl
 
 class MySTC(stc.StyledTextCtrl):
     def __init__(self, parent, ID, log):
@@ -91,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())
@@ -181,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)
 
@@ -189,18 +190,29 @@ def runTest(frame, nb, log):
         decode = codecs.lookup("utf-8")[1]
 
         ed.GotoPos(ed.GetLength())
-        ed.AddText("\n\nwxStyledTextCtrl can also do Unicode:\n")
+        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))
@@ -273,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
 
 
@@ -296,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:])