wxWidgets/wxPython/demo/wxFindReplaceDialog.py
2003-07-02 23:13:10 +00:00

88 lines
2.4 KiB
Python

from wxPython.wx import *
#---------------------------------------------------------------------------
class TestPanel(wxPanel):
def __init__(self, parent, log):
wxPanel.__init__(self, parent, -1)
self.log = log
b = wxButton(self, -1, "Show Find Dialog", (25, 50))
EVT_BUTTON(self, b.GetId(), self.OnShowFind)
b = wxButton(self, -1, "Show Find && Replace Dialog", (25, 90))
EVT_BUTTON(self, b.GetId(), self.OnShowFindReplace)
EVT_COMMAND_FIND(self, -1, self.OnFind)
EVT_COMMAND_FIND_NEXT(self, -1, self.OnFind)
EVT_COMMAND_FIND_REPLACE(self, -1, self.OnFind)
EVT_COMMAND_FIND_REPLACE_ALL(self, -1, self.OnFind)
EVT_COMMAND_FIND_CLOSE(self, -1, self.OnFindClose)
def OnShowFind(self, evt):
data = wxFindReplaceData()
dlg = wxFindReplaceDialog(self, data, "Find")
dlg.data = data # save a reference to it...
dlg.Show(True)
def OnShowFindReplace(self, evt):
data = wxFindReplaceData()
dlg = wxFindReplaceDialog(self, data, "Find & Replace", wxFR_REPLACEDIALOG)
dlg.data = data # save a reference to it...
dlg.Show(True)
def OnFind(self, evt):
map = {
wxEVT_COMMAND_FIND : "FIND",
wxEVT_COMMAND_FIND_NEXT : "FIND_NEXT",
wxEVT_COMMAND_FIND_REPLACE : "REPLACE",
wxEVT_COMMAND_FIND_REPLACE_ALL : "REPLACE_ALL",
}
et = evt.GetEventType()
try:
evtType = map[et]
except KeyError:
evtType = "**Unknown Event Type**"
if et == wxEVT_COMMAND_FIND_REPLACE or et == wxEVT_COMMAND_FIND_REPLACE_ALL:
replaceTxt = "Replace text: " + evt.GetReplaceString()
else:
replaceTxt = ""
self.log.write("%s -- Find text: %s %s Flags: %d \n" %
(evtType, evt.GetFindString(), replaceTxt, evt.GetFlags()))
def OnFindClose(self, evt):
self.log.write("wxFindReplaceDialog closing...\n")
evt.GetDialog().Destroy()
#---------------------------------------------------------------------------
def runTest(frame, nb, log):
win = TestPanel(nb, log)
return win
#---------------------------------------------------------------------------
overview = """\
A generic find and replace dialog.
"""
if __name__ == '__main__':
import sys,os
import run
run.main(['', os.path.basename(sys.argv[0])])