Renamed demo modules to be wx-less.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		
							
								
								
									
										123
									
								
								wxPython/demo/FindReplaceDialog.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								wxPython/demo/FindReplaceDialog.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,123 @@
 | 
			
		||||
# 11/17/2003 - Jeff Grimmett (grimmtooth@softhome.net)
 | 
			
		||||
#
 | 
			
		||||
# o Updated for wx namespace
 | 
			
		||||
# 
 | 
			
		||||
# 11/28/2003 - Jeff Grimmett (grimmtooth@softhome.net)
 | 
			
		||||
#
 | 
			
		||||
# o Changed the event binding slightly.
 | 
			
		||||
# o There are issues with the GetReplaceText() method of the 
 | 
			
		||||
#   FindDialogEvent. Must be retested when this is fixed.
 | 
			
		||||
# 
 | 
			
		||||
 | 
			
		||||
import  wx
 | 
			
		||||
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
class TestPanel(wx.Panel):
 | 
			
		||||
    def __init__(self, parent, log):
 | 
			
		||||
        wx.Panel.__init__(self, parent, -1)
 | 
			
		||||
        self.log = log
 | 
			
		||||
 | 
			
		||||
        b = wx.Button(self, -1, "Show Find Dialog", (25, 50))
 | 
			
		||||
        self.Bind(wx.EVT_BUTTON, self.OnShowFind, b)
 | 
			
		||||
 | 
			
		||||
        b = wx.Button(self, -1, "Show Find && Replace Dialog", (25, 90))
 | 
			
		||||
        self.Bind(wx.EVT_BUTTON, self.OnShowFindReplace, b)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        # jg - 11/28/03 - corrected a long standing issue here where 
 | 
			
		||||
        # EVT_COMMAND_FIND_* was being used for these event binders
 | 
			
		||||
        # instead of the actual event IDs shown below. As a result,
 | 
			
		||||
        # onFind() was never showing the appropriate type. I guess
 | 
			
		||||
        # nobody really paid much attention to that little
 | 
			
		||||
        # debugging window :-)
 | 
			
		||||
        #
 | 
			
		||||
        self.Bind(wx.EVT_FIND, self.OnFind)
 | 
			
		||||
        self.Bind(wx.EVT_FIND_NEXT, self.OnFind)
 | 
			
		||||
        self.Bind(wx.EVT_FIND_REPLACE, self.OnFind)
 | 
			
		||||
        self.Bind(wx.EVT_FIND_REPLACE_ALL, self.OnFind)
 | 
			
		||||
        self.Bind(wx.EVT_FIND_CLOSE, self.OnFindClose)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def OnShowFind(self, evt):
 | 
			
		||||
        data = wx.FindReplaceData()
 | 
			
		||||
        dlg = wx.FindReplaceDialog(self, data, "Find")
 | 
			
		||||
        dlg.data = data  # save a reference to it...
 | 
			
		||||
        dlg.Show(True)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def OnShowFindReplace(self, evt):
 | 
			
		||||
        data = wx.FindReplaceData()
 | 
			
		||||
        dlg = wx.FindReplaceDialog(self, data, "Find & Replace", wx.FR_REPLACEDIALOG)
 | 
			
		||||
        dlg.data = data  # save a reference to it...
 | 
			
		||||
        dlg.Show(True)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def OnFind(self, evt):
 | 
			
		||||
        map = {
 | 
			
		||||
            wx.wxEVT_COMMAND_FIND : "FIND",
 | 
			
		||||
            wx.wxEVT_COMMAND_FIND_NEXT : "FIND_NEXT",
 | 
			
		||||
            wx.wxEVT_COMMAND_FIND_REPLACE : "REPLACE",
 | 
			
		||||
            wx.wxEVT_COMMAND_FIND_REPLACE_ALL : "REPLACE_ALL",
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        et = evt.GetEventType()
 | 
			
		||||
        
 | 
			
		||||
        #print evt.GetReplaceString()
 | 
			
		||||
 | 
			
		||||
        if et in map:
 | 
			
		||||
            evtType = map[et]
 | 
			
		||||
        else:
 | 
			
		||||
            evtType = "**Unknown Event Type**"
 | 
			
		||||
 | 
			
		||||
        #>> Todo: the GetReplaceString() method is broken. Has to be
 | 
			
		||||
        # fixed.
 | 
			
		||||
        if et == wx.EVT_COMMAND_FIND_REPLACE or et == wx.EVT_COMMAND_FIND_REPLACE_ALL:
 | 
			
		||||
            replaceTxt = "Replace text: %s" % 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("FindReplaceDialog closing...\n")
 | 
			
		||||
        evt.GetDialog().Destroy()
 | 
			
		||||
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
def runTest(frame, nb, log):
 | 
			
		||||
    win = TestPanel(nb, log)
 | 
			
		||||
    return win
 | 
			
		||||
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
overview = """\
 | 
			
		||||
FindReplaceDialog is a standard modeless dialog which is used to allow the user 
 | 
			
		||||
to search for some text (and possibly replace it with something else). The actual 
 | 
			
		||||
searching is supposed to be done in the owner window which is the parent of this 
 | 
			
		||||
dialog. Note that it means that unlike for the other standard dialogs this one 
 | 
			
		||||
<u>must have a parent window</u>. Also note that there is no way to use this 
 | 
			
		||||
dialog in a modal way; <b>it is always, by design and implementation, modeless</b>.
 | 
			
		||||
 | 
			
		||||
FileReplaceDialog requires the use of <b>FindReplaceData</b>. This holds the 
 | 
			
		||||
data for the dialog. It is used to initialize the dialog with the default values 
 | 
			
		||||
and will keep the last values from the dialog when it is closed. It is also 
 | 
			
		||||
updated each time a FindDialogEvent is generated so instead of using the 
 | 
			
		||||
FindDialogEvent methods you can also directly query this object. <b>Care must be
 | 
			
		||||
taken not to use this object after the dialog is destroyed.</b> The data within
 | 
			
		||||
will be invalid after the parent dialog is destroyed.
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    import sys,os
 | 
			
		||||
    import run
 | 
			
		||||
    run.main(['', os.path.basename(sys.argv[0])])
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user