]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/fdrepdlg.cpp
don't send fictious menu events when another WM_COMMAND occurs while a popup menu...
[wxWidgets.git] / src / msw / fdrepdlg.cpp
index ca6e4e533fa417ef0e8ad0e5b2a7f2db533afe1f..0d34834244735f4eee9afda48dc78fcfa7bd881d 100644 (file)
@@ -1,8 +1,8 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        src/msw/fdrepdlg.cpp
 // Purpose:     wxFindReplaceDialog class
-// Author:      Markus Greither
-// Modified by: 31.07.01: VZ: integrated into wxWindows
+// Author:      Markus Greither and Vadim Zeitlin
+// Modified by:
 // Created:     23/03/2001
 // RCS-ID:
 // Copyright:   (c) Markus Greither
@@ -18,7 +18,7 @@
 // ----------------------------------------------------------------------------
 
 #ifdef __GNUG__
-    #pragma implementation "fdrepdlg.h"
+    #pragma implementation "mswfdrepdlg.h"
 #endif
 
 // For compilers that support precompilation, includes "wx.h".
@@ -61,14 +61,6 @@ UINT CALLBACK wxFindReplaceDialogHookProc(HWND hwnd,
 
 IMPLEMENT_DYNAMIC_CLASS(wxFindReplaceDialog, wxDialog)
 
-IMPLEMENT_DYNAMIC_CLASS(wxFindDialogEvent, wxCommandEvent)
-
-DEFINE_EVENT_TYPE(wxEVT_COMMAND_FIND)
-DEFINE_EVENT_TYPE(wxEVT_COMMAND_FIND_NEXT)
-DEFINE_EVENT_TYPE(wxEVT_COMMAND_FIND_REPLACE)
-DEFINE_EVENT_TYPE(wxEVT_COMMAND_FIND_REPLACE_ALL)
-DEFINE_EVENT_TYPE(wxEVT_COMMAND_FIND_CLOSE)
-
 // ----------------------------------------------------------------------------
 // wxFindReplaceDialogImpl: the internals of wxFindReplaceDialog
 // ----------------------------------------------------------------------------
@@ -281,16 +273,7 @@ LRESULT APIENTRY wxFindReplaceWindowProc(HWND hwnd, WXUINT nMsg,
             event.SetReplaceString(pFR->lpstrReplaceWith);
         }
 
-        // TODO: should we copy the strings to dialog->GetData() as well?
-
-        if ( !dialog->GetEventHandler()->ProcessEvent(event) )
-        {
-            // the event is not propagated upwards to the parent automatically
-            // because the dialog is a top level window, so do it manually as
-            // in 9 cases of 10 the message must be processed by the dialog
-            // owner and not the dialog itself
-            (void)dialog->GetParent()->GetEventHandler()->ProcessEvent(event);
-        }
+        dialog->Send(event);
     }
 
     WNDPROC wndProc = (WNDPROC)::GetWindowLong(hwnd, GWL_USERDATA);
@@ -325,15 +308,6 @@ UINT CALLBACK wxFindReplaceDialogHookProc(HWND hwnd,
     return 0;
 }
 
-// ----------------------------------------------------------------------------
-// wxFindReplaceData
-// ----------------------------------------------------------------------------
-
-void wxFindReplaceData::Init()
-{
-    m_Flags = 0;
-}
-
 // ============================================================================
 // wxFindReplaceDialog implementation
 // ============================================================================
@@ -355,7 +329,7 @@ wxFindReplaceDialog::wxFindReplaceDialog(wxWindow *parent,
                                          wxFindReplaceData *data,
                                          const wxString &title,
                                          int flags)
-                   : m_FindReplaceData(data)
+                   : wxFindReplaceDialogBase(parent, data, title, flags)
 {
     Init();
 
@@ -371,7 +345,7 @@ wxFindReplaceDialog::~wxFindReplaceDialog()
     m_isShown = FALSE;
 
     // and from destroying our window
-    m_hWnd = NULL;
+    m_hWnd = (WXHWND)NULL;
 }
 
 bool wxFindReplaceDialog::Create(wxWindow *parent,
@@ -389,16 +363,6 @@ bool wxFindReplaceDialog::Create(wxWindow *parent,
     return parent != NULL;
 }
 
-// ----------------------------------------------------------------------------
-// wxFindReplaceDialog data access
-// ----------------------------------------------------------------------------
-
-void wxFindReplaceDialog::SetData(wxFindReplaceData *data)
-{
-    delete m_FindReplaceData;
-    m_FindReplaceData = data;
-}
-
 // ----------------------------------------------------------------------------
 // wxFindReplaceData show/hide
 // ----------------------------------------------------------------------------