Demo updates for new wx namespace, from Jeff Grimmett
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1,8 +1,17 @@
|
||||
# 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.
|
||||
#
|
||||
|
||||
from wxPython.wx import *
|
||||
from wxPython.stc import *
|
||||
import wx
|
||||
import wx.stc as stc
|
||||
|
||||
import images
|
||||
import images
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
@@ -37,7 +46,7 @@ text works, as well as virtually unlimited Undo and Redo
|
||||
capabilities, (right click to try it out.)
|
||||
"""
|
||||
|
||||
if wxPlatform == '__WXMSW__':
|
||||
if wx.Platform == '__WXMSW__':
|
||||
face1 = 'Arial'
|
||||
face2 = 'Times New Roman'
|
||||
face3 = 'Courier New'
|
||||
@@ -52,22 +61,22 @@ else:
|
||||
#----------------------------------------------------------------------
|
||||
# This shows how to catch the Modified event from the wxStyledTextCtrl
|
||||
|
||||
class MySTC(wxStyledTextCtrl):
|
||||
class MySTC(stc.StyledTextCtrl):
|
||||
def __init__(self, parent, ID, log):
|
||||
wxStyledTextCtrl.__init__(self, parent, ID)
|
||||
stc.StyledTextCtrl.__init__(self, parent, ID)
|
||||
self.log = log
|
||||
|
||||
EVT_STC_DO_DROP(self, ID, self.OnDoDrop)
|
||||
EVT_STC_DRAG_OVER(self, ID, self.OnDragOver)
|
||||
EVT_STC_START_DRAG(self, ID, self.OnStartDrag)
|
||||
EVT_STC_MODIFIED(self, ID, self.OnModified)
|
||||
self.Bind(stc.EVT_STC_DO_DROP, self.OnDoDrop)
|
||||
self.Bind(stc.EVT_STC_DRAG_OVER, self.OnDragOver)
|
||||
self.Bind(stc.EVT_STC_START_DRAG, self.OnStartDrag)
|
||||
self.Bind(stc.EVT_STC_MODIFIED, self.OnModified)
|
||||
|
||||
EVT_WINDOW_DESTROY(self, self.OnDestroy)
|
||||
self.Bind(wx.EVT_WINDOW_DESTROY, self.OnDestroy)
|
||||
|
||||
def OnDestroy(self, evt):
|
||||
# This is how the clipboard contents can be preserved after
|
||||
# the app has exited.
|
||||
wxTheClipboard.Flush()
|
||||
wx.TheClipboard.Flush()
|
||||
evt.Skip()
|
||||
|
||||
|
||||
@@ -82,11 +91,15 @@ class MySTC(wxStyledTextCtrl):
|
||||
|
||||
|
||||
def OnDragOver(self, evt):
|
||||
self.log.write("OnDragOver: x,y=(%d, %d) pos: %d DragResult: %d\n"
|
||||
% (evt.GetX(), evt.GetY(), evt.GetPosition(), evt.GetDragResult()))
|
||||
#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())
|
||||
)
|
||||
|
||||
if debug and evt.GetPosition() < 250:
|
||||
evt.SetDragResult(wxDragNone) # prevent dropping at the beginning of the buffer
|
||||
evt.SetDragResult(wx.DragNone) # prevent dropping at the beginning of the buffer
|
||||
|
||||
|
||||
def OnDoDrop(self, evt):
|
||||
@@ -97,11 +110,11 @@ class MySTC(wxStyledTextCtrl):
|
||||
|
||||
if debug and evt.GetPosition() < 500:
|
||||
evt.SetDragText("DROPPED TEXT") # Can change text if needed
|
||||
##evt.SetDragResult(wxDragNone) # Can also change the drag operation, but it
|
||||
#evt.SetDragResult(wx.DragNone) # Can also change the drag operation, but it
|
||||
# is probably better to do it in OnDragOver so
|
||||
# there is visual feedback
|
||||
|
||||
##evt.SetPosition(25) # Can also change position, but I'm not sure why
|
||||
#evt.SetPosition(25) # Can also change position, but I'm not sure why
|
||||
# you would want to...
|
||||
|
||||
|
||||
@@ -122,17 +135,17 @@ class MySTC(wxStyledTextCtrl):
|
||||
|
||||
def transModType(self, modType):
|
||||
st = ""
|
||||
table = [(wxSTC_MOD_INSERTTEXT, "InsertText"),
|
||||
(wxSTC_MOD_DELETETEXT, "DeleteText"),
|
||||
(wxSTC_MOD_CHANGESTYLE, "ChangeStyle"),
|
||||
(wxSTC_MOD_CHANGEFOLD, "ChangeFold"),
|
||||
(wxSTC_PERFORMED_USER, "UserFlag"),
|
||||
(wxSTC_PERFORMED_UNDO, "Undo"),
|
||||
(wxSTC_PERFORMED_REDO, "Redo"),
|
||||
(wxSTC_LASTSTEPINUNDOREDO, "Last-Undo/Redo"),
|
||||
(wxSTC_MOD_CHANGEMARKER, "ChangeMarker"),
|
||||
(wxSTC_MOD_BEFOREINSERT, "B4-Insert"),
|
||||
(wxSTC_MOD_BEFOREDELETE, "B4-Delete")
|
||||
table = [(stc.STC_MOD_INSERTTEXT, "InsertText"),
|
||||
(stc.STC_MOD_DELETETEXT, "DeleteText"),
|
||||
(stc.STC_MOD_CHANGESTYLE, "ChangeStyle"),
|
||||
(stc.STC_MOD_CHANGEFOLD, "ChangeFold"),
|
||||
(stc.STC_PERFORMED_USER, "UserFlag"),
|
||||
(stc.STC_PERFORMED_UNDO, "Undo"),
|
||||
(stc.STC_PERFORMED_REDO, "Redo"),
|
||||
(stc.STC_LASTSTEPINUNDOREDO, "Last-Undo/Redo"),
|
||||
(stc.STC_MOD_CHANGEMARKER, "ChangeMarker"),
|
||||
(stc.STC_MOD_BEFOREINSERT, "B4-Insert"),
|
||||
(stc.STC_MOD_BEFOREDELETE, "B4-Delete")
|
||||
]
|
||||
|
||||
for flag,text in table:
|
||||
@@ -156,10 +169,10 @@ def runTest(frame, nb, log):
|
||||
ed = p = MySTC(nb, -1, log)
|
||||
|
||||
else:
|
||||
p = wxPanel(nb, -1, style=wxNO_FULL_REPAINT_ON_RESIZE)
|
||||
p = wx.Panel(nb, -1, style=wx.NO_FULL_REPAINT_ON_RESIZE)
|
||||
ed = MySTC(p, -1, log)
|
||||
s = wxBoxSizer(wxHORIZONTAL)
|
||||
s.Add(ed, 1, wxEXPAND)
|
||||
s = wx.BoxSizer(wx.HORIZONTAL)
|
||||
s.Add(ed, 1, wx.EXPAND)
|
||||
p.SetSizer(s)
|
||||
p.SetAutoLayout(True)
|
||||
|
||||
@@ -170,7 +183,8 @@ def runTest(frame, nb, log):
|
||||
#ed.SetWrapMode(True)
|
||||
|
||||
ed.SetText(demoText)
|
||||
if wxUSE_UNICODE:
|
||||
|
||||
if wx.USE_UNICODE:
|
||||
import codecs
|
||||
decode = codecs.lookup("utf-8")[1]
|
||||
|
||||
@@ -186,7 +200,7 @@ def runTest(frame, nb, log):
|
||||
ed.EmptyUndoBuffer()
|
||||
|
||||
# make some styles
|
||||
ed.StyleSetSpec(wxSTC_STYLE_DEFAULT, "size:%d,face:%s" % (pb, face3))
|
||||
ed.StyleSetSpec(stc.STC_STYLE_DEFAULT, "size:%d,face:%s" % (pb, face3))
|
||||
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))
|
||||
@@ -207,17 +221,17 @@ def runTest(frame, nb, log):
|
||||
|
||||
|
||||
# line numbers in the margin
|
||||
ed.SetMarginType(0, wxSTC_MARGIN_NUMBER)
|
||||
ed.SetMarginType(0, stc.STC_MARGIN_NUMBER)
|
||||
ed.SetMarginWidth(0, 22)
|
||||
ed.StyleSetSpec(wxSTC_STYLE_LINENUMBER, "size:%d,face:%s" % (pb, face1))
|
||||
ed.StyleSetSpec(stc.STC_STYLE_LINENUMBER, "size:%d,face:%s" % (pb, face1))
|
||||
|
||||
# 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.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(2, wxSTC_MARK_SHORTARROW, "blue", "blue")
|
||||
ed.MarkerDefine(3, wxSTC_MARK_ARROW, "#00FF00", "#00FF00")
|
||||
ed.MarkerDefine(2, stc.STC_MARK_SHORTARROW, "blue", "blue")
|
||||
ed.MarkerDefine(3, stc.STC_MARK_ARROW, "#00FF00", "#00FF00")
|
||||
|
||||
# put some markers on some lines
|
||||
ed.MarkerAdd(17, 0)
|
||||
@@ -228,17 +242,17 @@ def runTest(frame, nb, log):
|
||||
|
||||
|
||||
# and finally, an indicator or two
|
||||
ed.IndicatorSetStyle(0, wxSTC_INDIC_SQUIGGLE)
|
||||
ed.IndicatorSetForeground(0, wxRED)
|
||||
ed.IndicatorSetStyle(1, wxSTC_INDIC_DIAGONAL)
|
||||
ed.IndicatorSetForeground(1, wxBLUE)
|
||||
ed.IndicatorSetStyle(2, wxSTC_INDIC_STRIKE)
|
||||
ed.IndicatorSetForeground(2, wxRED)
|
||||
ed.IndicatorSetStyle(0, stc.STC_INDIC_SQUIGGLE)
|
||||
ed.IndicatorSetForeground(0, wx.RED)
|
||||
ed.IndicatorSetStyle(1, stc.STC_INDIC_DIAGONAL)
|
||||
ed.IndicatorSetForeground(1, wx.BLUE)
|
||||
ed.IndicatorSetStyle(2, stc.STC_INDIC_STRIKE)
|
||||
ed.IndicatorSetForeground(2, wx.RED)
|
||||
|
||||
ed.StartStyling(836, wxSTC_INDICS_MASK)
|
||||
ed.SetStyling(10, wxSTC_INDIC0_MASK)
|
||||
ed.SetStyling(10, wxSTC_INDIC1_MASK)
|
||||
ed.SetStyling(10, wxSTC_INDIC2_MASK | wxSTC_INDIC1_MASK)
|
||||
ed.StartStyling(836, stc.STC_INDICS_MASK)
|
||||
ed.SetStyling(10, stc.STC_INDIC0_MASK)
|
||||
ed.SetStyling(10, stc.STC_INDIC1_MASK)
|
||||
ed.SetStyling(10, stc.STC_INDIC2_MASK | stc.STC_INDIC1_MASK)
|
||||
|
||||
|
||||
# some test stuff...
|
||||
|
Reference in New Issue
Block a user