]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/fdrepdlg.h
ensure that ProcessEvent() is called for all the event handlers, not just the first...
[wxWidgets.git] / include / wx / fdrepdlg.h
index 2adda0cbbff610a025e1a9b8c2ac7856a2a8b712..93fb43c697f81ebd6ad933c2cfd4a295e9d014d9 100644 (file)
@@ -4,7 +4,7 @@
 // Author:      Markus Greither and Vadim Zeitlin
 // Modified by:
 // Created:     23/03/2001
-// RCS-ID:
+// RCS-ID:      $Id$
 // Copyright:   (c) Markus Greither
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #include "wx/dialog.h"
 
-class WXDLLEXPORT wxFindDialogEvent;
-class WXDLLEXPORT wxFindReplaceDialog;
-class WXDLLEXPORT wxFindReplaceData;
-class WXDLLEXPORT wxFindReplaceDialogImpl;
+class WXDLLIMPEXP_FWD_CORE wxFindDialogEvent;
+class WXDLLIMPEXP_FWD_CORE wxFindReplaceDialog;
+class WXDLLIMPEXP_FWD_CORE wxFindReplaceData;
+class WXDLLIMPEXP_FWD_CORE wxFindReplaceDialogImpl;
 
 // ----------------------------------------------------------------------------
 // Flags for wxFindReplaceData.Flags
@@ -60,7 +60,7 @@ enum wxFindReplaceDialogStyles
 // wxFindReplaceData: holds Setup Data/Feedback Data for wxFindReplaceDialog
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxFindReplaceData : public wxObject
+class WXDLLIMPEXP_CORE wxFindReplaceData : public wxObject
 {
 public:
     wxFindReplaceData() { Init(); }
@@ -93,7 +93,7 @@ private:
 // wxFindReplaceDialogBase
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxFindReplaceDialogBase : public wxDialog
+class WXDLLIMPEXP_CORE wxFindReplaceDialogBase : public wxDialog
 {
 public:
     // ctors and such
@@ -137,11 +137,13 @@ protected:
 // wxFindReplaceDialog events
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxFindDialogEvent : public wxCommandEvent
+class WXDLLIMPEXP_CORE wxFindDialogEvent : public wxCommandEvent
 {
 public:
     wxFindDialogEvent(wxEventType commandType = wxEVT_NULL, int id = 0)
         : wxCommandEvent(commandType, id) { }
+    wxFindDialogEvent(const wxFindDialogEvent& event)
+        : wxCommandEvent(event), m_strReplace(event.m_strReplace) { }
 
     int GetFlags() const { return GetInt(); }
     wxString GetFindString() const { return GetString(); }
@@ -155,24 +157,24 @@ public:
     void SetFindString(const wxString& str) { SetString(str); }
     void SetReplaceString(const wxString& str) { m_strReplace = str; }
 
+    virtual wxEvent *Clone() const { return new wxFindDialogEvent(*this); }
+
 private:
     wxString m_strReplace;
 
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxFindDialogEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxFindDialogEvent)
 };
 
-BEGIN_DECLARE_EVENT_TYPES()
-    DECLARE_EVENT_TYPE(wxEVT_COMMAND_FIND, 510)
-    DECLARE_EVENT_TYPE(wxEVT_COMMAND_FIND_NEXT, 511)
-    DECLARE_EVENT_TYPE(wxEVT_COMMAND_FIND_REPLACE, 512)
-    DECLARE_EVENT_TYPE(wxEVT_COMMAND_FIND_REPLACE_ALL, 513)
-    DECLARE_EVENT_TYPE(wxEVT_COMMAND_FIND_CLOSE, 514)
-END_DECLARE_EVENT_TYPES()
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_COMMAND_FIND, wxFindDialogEvent )
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_COMMAND_FIND_NEXT, wxFindDialogEvent )
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_COMMAND_FIND_REPLACE, wxFindDialogEvent )
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_COMMAND_FIND_REPLACE_ALL, wxFindDialogEvent )
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_COMMAND_FIND_CLOSE, wxFindDialogEvent )
 
 typedef void (wxEvtHandler::*wxFindDialogEventFunction)(wxFindDialogEvent&);
 
 #define wxFindDialogEventHandler(func) \
-    (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxFindDialogEventFunction, &func)
+    wxEVENT_HANDLER_CAST(wxFindDialogEventFunction, func)
 
 #define EVT_FIND(id, fn) \
     wx__DECLARE_EVT1(wxEVT_COMMAND_FIND, id, wxFindDialogEventHandler(fn))