]> git.saurik.com Git - wxWidgets.git/commitdiff
Include wx/dataobj.h from wx/clipbrd.h.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 20 Jul 2009 23:54:08 +0000 (23:54 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 20 Jul 2009 23:54:08 +0000 (23:54 +0000)
This is necessary in order to define wxVector<wxDataFormat> at least when
wxVector is std::vector (as in wxUSE_STL==1 build) because vectors of
incomplete types can't be used.

Also removed inclusions of this and other unneeded headers from MSW and OS X
headers and removed a hopefully out of date comment about Mac code being wx
1.xx-based from the latter.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/clipbrd.h
include/wx/msw/clipbrd.h
include/wx/osx/clipbrd.h
src/common/clipcmn.cpp

index 3376472381886c8563c580895232f4fc345e2296..06dd74d1947912232d96abbfff82b1463868ab7a 100644 (file)
 
 #include "wx/event.h"
 #include "wx/chartype.h"
+#include "wx/dataobj.h"     // for wxDataFormat
 #include "wx/vector.h"
 
-class WXDLLIMPEXP_FWD_CORE wxDataFormat;
-class WXDLLIMPEXP_FWD_CORE wxDataObject;
 class WXDLLIMPEXP_FWD_CORE wxClipboard;
 
 // ----------------------------------------------------------------------------
@@ -105,13 +104,25 @@ public:
 class WXDLLIMPEXP_CORE wxClipboardEvent : public wxEvent
 {
 public:
-    wxClipboardEvent(wxEventType evtType = wxEVT_NULL);
-    wxClipboardEvent(const wxClipboardEvent& event);
+    wxClipboardEvent(wxEventType evtType = wxEVT_NULL)
+        : wxEvent(0, evtType)
+    {
+    }
+
+    wxClipboardEvent(const wxClipboardEvent& event)
+        : wxEvent(event),
+          m_formats(event.m_formats)
+    {
+    }
 
     bool SupportsFormat(const wxDataFormat& format) const;
     void AddFormat(const wxDataFormat& format);
 
-    virtual wxEvent *Clone() const;
+    virtual wxEvent *Clone() const
+    {
+        return new wxClipboardEvent(*this);
+    }
+
 
 protected:
     wxVector<wxDataFormat> m_formats;
index 7a771e75bbdc8078373acaba91b8929ceb83aa66..fc9a399f3b486e3a9194eb437f64bb7258721a2b 100644 (file)
 
 #if wxUSE_CLIPBOARD
 
-#include "wx/list.h"
-#include "wx/module.h"
-#include "wx/dataobj.h"     // for wxDataFormat
-
 // These functions superceded by wxClipboard, but retained in order to
 // implement wxClipboard, and for compatibility.
 
@@ -47,11 +43,8 @@ WXDLLIMPEXP_CORE bool wxGetClipboardFormatName(wxDataFormat dataFormat,
 // wxClipboard
 //-----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_FWD_CORE wxDataObject;
 class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase
 {
-    DECLARE_DYNAMIC_CLASS(wxClipboard)
-
 public:
     wxClipboard();
     virtual ~wxClipboard();
@@ -88,6 +81,8 @@ public:
 private:
     IDataObject *m_lastDataObject;
     bool m_isOpened;
+
+    DECLARE_DYNAMIC_CLASS(wxClipboard)
 };
 
 #endif // wxUSE_CLIPBOARD
index db74c5ba46ec8cd5b368350c1709d2e09ef4ad4f..930a5469c0749bdb22faa8d4c2bdb3da79d2452a 100644 (file)
@@ -1,9 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        clipbrd.h
 // Purpose:     Clipboard functionality.
-//              Note: this functionality is under review, and
-//              is derived from wxWidgets 1.xx code. Please contact
-//              the wxWidgets developers for further information.
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     1998-01-01
 
 #if wxUSE_CLIPBOARD
 
-#include "wx/list.h"
-#include "wx/module.h"
-#include "wx/dataobj.h"     // for wxDataFormat
-
 #include "wx/osx/core/cfref.h"
 
 //-----------------------------------------------------------------------------
 // wxClipboard
 //-----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_FWD_CORE wxDataObject;
 class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase
 {
-    DECLARE_DYNAMIC_CLASS(wxClipboard)
-
 public:
     wxClipboard();
     virtual ~wxClipboard();
@@ -69,6 +59,8 @@ private:
     wxDataObject     *m_data;
     bool              m_open;
     wxCFRef<PasteboardRef> m_pasteboard;
+
+    DECLARE_DYNAMIC_CLASS(wxClipboard)
 };
 
 #endif // wxUSE_CLIPBOARD
index 133c18967a10edd0ab8c9524dcfb87a7021896bf..2781a967d797bb1ed9b74a47fe4399e7c983d78b 100644 (file)
@@ -41,29 +41,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxClipboardEvent,wxEvent)
 
 wxDEFINE_EVENT( wxEVT_CLIPBOARD_CHANGED, wxClipboardEvent );
 
-// notice that ctors are defined here and not inline to avoid having to include
-// wx/dataobj.h from wx/clipbrd.h
-wxClipboardEvent::wxClipboardEvent(wxEventType evtType)
-    : wxEvent(0, evtType)
-{
-}
-
-wxClipboardEvent::wxClipboardEvent(const wxClipboardEvent& event)
-    : wxEvent(event),
-      m_formats(event.m_formats)
-{
-}
-
-wxEvent* wxClipboardEvent::Clone() const
-{
-    return new wxClipboardEvent(*this);
-}
-
 bool wxClipboardEvent::SupportsFormat( const wxDataFormat &format ) const
 {
 #ifdef __WXGTK20__
-    // GTK has an asynchronous API which reports the supported formats one by
-    // one. We may have to add X11 and Motif later.
     for (wxVector<wxDataFormat>::size_type n = 0; n < m_formats.size(); n++)
     {
         if (m_formats[n] == format)