from wxPython.wx import *
from wxPython.stc import *
+import images
+
#----------------------------------------------------------------------
debug = 1
EVT_STC_START_DRAG(self, ID, self.OnStartDrag)
EVT_STC_MODIFIED(self, ID, self.OnModified)
+ EVT_WINDOW_DESTROY(self, self.OnDestroy)
+
+ def OnDestroy(self, evt):
+ # This is how the clipboard contents can be preserved after
+ # the app has exited.
+ wxTheClipboard.Flush()
+ evt.Skip()
+
def OnStartDrag(self, evt):
self.log.write("OnStartDrag: %d, %s\n"
% (evt.GetDragAllowMove(), evt.GetDragText()))
if debug and evt.GetPosition() < 250:
- evt.SetDragAllowMove(false) # you can prevent moving of text (only copy)
+ evt.SetDragAllowMove(False) # you can prevent moving of text (only copy)
evt.SetDragText("DRAGGED TEXT") # you can change what is dragged
#evt.SetDragText("") # or prevent the drag with empty text
evt.GetPosition(),
evt.GetLinesAdded(),
evt.GetLength(),
- evt.GetText() ))
+ repr(evt.GetText()) ))
def transModType(self, modType):
ed = p = MySTC(nb, -1, log)
else:
- p = wxPanel(nb, -1)
+ p = wxPanel(nb, -1, style=wxNO_FULL_REPAINT_ON_RESIZE)
ed = MySTC(p, -1, log)
s = wxBoxSizer(wxHORIZONTAL)
s.Add(ed, 1, wxEXPAND)
p.SetSizer(s)
- p.SetAutoLayout(true)
+ p.SetAutoLayout(True)
+
+
+ #ed.SetBufferedDraw(False)
+ #ed.StyleClearAll()
+ #ed.SetScrollWidth(800)
+ #ed.SetWrapMode(True)
ed.SetText(demoText)
+ if wxUSE_UNICODE:
+ import codecs
+ decode = codecs.lookup("utf-8")[1]
+
+ ed.GotoPos(ed.GetLength())
+ ed.AddText("\n\nwxStyledTextCtrl can also do Unicode:\n")
+ 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)
+
ed.EmptyUndoBuffer()
# make some styles
ed.StyleSetSpec(3, "face:%s,bold,size:%d" % (face2, pb+2))
ed.StyleSetSpec(4, "face:%s,size:%d" % (face1, pb-1))
-
- # now set some text to those styles... Normally this would be
+ # Now set some text to those styles... Normally this would be
# done in an event handler that happens when text needs displayed.
ed.StartStyling(98, 0xff)
ed.SetStyling(6, 1) # set style for 6 characters using style 1
# setup some markers
ed.SetMarginType(1, wxSTC_MARGIN_SYMBOL)
ed.MarkerDefine(0, wxSTC_MARK_ROUNDRECT, "#CCFF00", "RED")
- ed.MarkerDefine(1, wxSTC_MARK_CIRCLE, "FOREST GREEN", "SIENNA")
+ #ed.MarkerDefine(1, wxSTC_MARK_CIRCLE, "FOREST GREEN", "SIENNA")
+ ed.MarkerDefineBitmap(1, images.getFolder1Bitmap())
ed.MarkerDefine(2, wxSTC_MARK_SHORTARROW, "blue", "blue")
ed.MarkerDefine(3, wxSTC_MARK_ARROW, "#00FF00", "#00FF00")
ed.SetStyling(10, wxSTC_INDIC1_MASK)
ed.SetStyling(10, wxSTC_INDIC2_MASK | wxSTC_INDIC1_MASK)
+
# some test stuff...
if debug:
print "GetTextLength(): ", ed.GetTextLength(), len(ed.GetText())
ed.SetSelection(25, 35)
print "GetSelectedText(): ", repr(ed.GetSelectedText())
print "GetTextRange(25, 35): ", repr(ed.GetTextRange(25, 35))
-
+ print "FindText(0, max, 'indicators'): ",
+ print ed.FindText(0, ed.GetTextLength(), "indicators")
ed.GotoPos(0)
+
return p
"""
-
if __name__ == '__main__':
- import sys
- app = wxPySimpleApp()
- frame = wxFrame(None, -1, "Tester...", size=(640, 480))
- win = runTest(frame, frame, sys.stdout)
- frame.Show(true)
- app.MainLoop()
-
+ import sys,os
+ import run
+ run.main(['', os.path.basename(sys.argv[0])])