]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/StyledTextCtrl_1.py
Patch [ 1314868 ] [wxMSW] Show MDI child menubars when ShowFullScreen(false)
[wxWidgets.git] / wxPython / demo / StyledTextCtrl_1.py
index 5eff81c883afbfc63125daa13bbffabe1873539b..33028c3bbdad9b4141350eb59bf6d7fd092b3208 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))
@@ -228,8 +240,7 @@ def runTest(frame, nb, log):
     # setup some markers
     ed.SetMarginType(1, stc.STC_MARGIN_SYMBOL)
     ed.MarkerDefine(0, stc.STC_MARK_ROUNDRECT, "#CCFF00", "RED")
-    #ed.MarkerDefine(1, stc.STC_MARK_CIRCLE, "FOREST GREEN", "SIENNA")
-    ed.MarkerDefineBitmap(1, images.getFolder1Bitmap())
+    ed.MarkerDefine(1, stc.STC_MARK_CIRCLE, "FOREST GREEN", "SIENNA")
     ed.MarkerDefine(2, stc.STC_MARK_SHORTARROW, "blue", "blue")
     ed.MarkerDefine(3, stc.STC_MARK_ARROW, "#00FF00", "#00FF00")
 
@@ -273,10 +284,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 +311,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:])