from wxPython.wx import *
from wxPython.stc import *
+import images
+
#----------------------------------------------------------------------
debug = 1
sections of text. This will typically be used for things like
syntax highlighting code editors, but I'm sure that there are other
applications as well. A style is a combination of font, point size,
-forground and background colours. The editor can handle
+foreground and background colours. The editor can handle
proportional fonts just as easily as monospaced fonts, and various
styles can use different sized fonts.
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):
-## wxTheClipboard.Flush()
-## evt.Skip()
+ 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):
% (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.GetX(), evt.GetY(), evt.GetPosition(), evt.GetDragResult()))
if debug and evt.GetPosition() < 250:
- evt.SetDragResult(wxDragNone) # prevent dropping at the begining of the buffer
+ evt.SetDragResult(wxDragNone) # prevent dropping at the beginning of the buffer
def OnDoDrop(self, evt):
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.SetBufferedDraw(False)
+ #ed.StyleClearAll()
+ #ed.SetScrollWidth(800)
+ #ed.SetWrapMode(True)
+
ed.SetText(demoText)
if wxUSE_UNICODE:
import codecs
# 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.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()
-
-
if __name__ == '__main__':
+ import sys,os
import run
- run.main(['', 'wxStyledTextCtrl_1'])
+ run.main(['', os.path.basename(sys.argv[0])])