]> git.saurik.com Git - wxWidgets.git/commitdiff
fix wxSashEvent, wxFindDialogEvent, wxSplitterEvent to implement Clone() correctly
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Sat, 27 Dec 2008 14:48:26 +0000 (14:48 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Sat, 27 Dec 2008 14:48:26 +0000 (14:48 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/fdrepdlg.h
include/wx/generic/sashwin.h
include/wx/generic/splitter.h

index 52175bebe55e017c2935eccbb21b7b66af15b297..4652e0cd79c1cabd090b314030f0b20daaf50b7b 100644 (file)
@@ -142,6 +142,8 @@ 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,10 +157,12 @@ 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)
 };
 
 extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_FIND;
index b89fe8159a2f6dc5f6d6b0bcf9532e41aa0d1a78..1044a603bf12c30e919344b294a0a31b80ef5bcb 100644 (file)
@@ -221,6 +221,12 @@ public:
         m_edge = edge;
     }
 
+    wxSashEvent(const wxSashEvent& event)
+        : wxCommandEvent(event),
+          m_edge(event.m_edge),
+          m_dragRect(event.m_dragRect),
+          m_dragStatus(event.m_dragStatus) { }
+
     void SetEdge(wxSashEdgePosition edge) { m_edge = edge; }
     wxSashEdgePosition GetEdge() const { return m_edge; }
 
@@ -233,13 +239,15 @@ public:
     void SetDragStatus(wxSashDragStatus status) { m_dragStatus = status; }
     wxSashDragStatus GetDragStatus() const { return m_dragStatus; }
 
+    virtual wxEvent *Clone() const { return new wxSashEvent(*this); }
+
 private:
     wxSashEdgePosition  m_edge;
     wxRect              m_dragRect;
     wxSashDragStatus    m_dragStatus;
 
 private:
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxSashEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxSashEvent)
 };
 
 typedef void (wxEvtHandler::*wxSashEventFunction)(wxSashEvent&);
index 498471fa9940fb4b69cb580836d0bf2f3bf2fa3d..98a39231ca0e46b090739c446051fee5f853da5f 100644 (file)
@@ -322,6 +322,8 @@ public:
         SetEventObject(splitter);
         if (splitter) m_id = splitter->GetId();
     }
+    wxSplitterEvent(const wxSplitterEvent& event)
+        : wxNotifyEvent(event), m_data(event.m_data) { }
 
     // SASH_POS_CHANGED methods
 
@@ -366,6 +368,8 @@ public:
         return m_data.pt.y;
     }
 
+    virtual wxEvent *Clone() const { return new wxSplitterEvent(*this); }
+
 private:
     friend class WXDLLIMPEXP_FWD_CORE wxSplitterWindow;
 
@@ -380,7 +384,7 @@ private:
         } pt;               // position of double click for DCLICK event
     } m_data;
 
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxSplitterEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxSplitterEvent)
 };
 
 typedef void (wxEvtHandler::*wxSplitterEventFunction)(wxSplitterEvent&);