]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dataobj.h
Fixed wxDatePickerCtrl under OS X
[wxWidgets.git] / include / wx / dataobj.h
index 6c7c1d0d01e3ddba101ed1b6f89051bb43ea9f9e..f7923c0b6519cc1d2829b457beb3b7208d386927 100644 (file)
@@ -55,7 +55,7 @@ public:
     typedef <integral type> NativeFormat;
 
     wxDataFormat(NativeFormat format = wxDF_INVALID);
-    wxDataFormat(const wxChar *format);
+    wxDataFormat(const wxString& format);
 
     wxDataFormat& operator=(NativeFormat format);
     wxDataFormat& operator=(const wxDataFormat& format);
@@ -67,7 +67,7 @@ public:
     NativeFormat GetType() const;
 
     wxString GetId() const;
-    void SetId(const wxChar *format);
+    void SetId(const wxString& format);
 };
 
 */
@@ -92,7 +92,7 @@ public:
 
 // the value for default argument to some functions (corresponds to
 // wxDF_INVALID)
-extern WXDLLEXPORT const wxDataFormat& wxFormatInvalid;
+extern WXDLLIMPEXP_CORE const wxDataFormat& wxFormatInvalid;
 
 // ----------------------------------------------------------------------------
 // wxDataObject represents a piece of data which knows which formats it
@@ -114,7 +114,7 @@ extern WXDLLEXPORT const wxDataFormat& wxFormatInvalid;
 // to be supported by SetData() or GetDataHere().
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxDataObjectBase
+class WXDLLIMPEXP_CORE wxDataObjectBase
 {
 public:
     enum Direction
@@ -194,7 +194,7 @@ public:
 // Otherwise, you should use wxDataObjectComposite or wxDataObject directly.
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxDataObjectSimple : public wxDataObject
+class WXDLLIMPEXP_CORE wxDataObjectSimple : public wxDataObject
 {
 public:
     // ctor takes the format we support, but it can also be set later with
@@ -261,7 +261,7 @@ private:
 
 WX_DECLARE_EXPORTED_LIST(wxDataObjectSimple, wxSimpleDataObjectList);
 
-class WXDLLEXPORT wxDataObjectComposite : public wxDataObject
+class WXDLLIMPEXP_CORE wxDataObjectComposite : public wxDataObject
 {
 public:
     // ctor
@@ -273,6 +273,12 @@ public:
     // one if preferred == true
     void Add(wxDataObjectSimple *dataObject, bool preferred = false);
 
+    // Report the format passed to the SetData method.  This should be the
+    // format of the data object within the composite that recieved data from
+    // the clipboard or the DnD operation.  You can use this method to find
+    // out what kind of data object was recieved.
+    wxDataFormat GetReceivedFormat() const;
+
     // implement base class pure virtuals
     // ----------------------------------
     virtual wxDataFormat GetPreferredFormat(wxDataObjectBase::Direction dir = Get) const;
@@ -301,6 +307,8 @@ private:
     // one is the preferred)
     size_t m_preferred;
 
+    wxDataFormat m_receivedFormat;
+
     DECLARE_NO_COPY_CLASS(wxDataObjectComposite)
 };
 
@@ -316,7 +324,7 @@ private:
 // wxTextDataObject contains text data
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxTextDataObject : public wxDataObjectSimple
+class WXDLLIMPEXP_CORE wxTextDataObject : public wxDataObjectSimple
 {
 public:
     // ctor: you can specify the text here or in SetText(), or override
@@ -384,7 +392,7 @@ private:
 // wxBitmapDataObject contains a bitmap
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxBitmapDataObjectBase : public wxDataObjectSimple
+class WXDLLIMPEXP_CORE wxBitmapDataObjectBase : public wxDataObjectSimple
 {
 public:
     // ctor: you can specify the bitmap here or in SetBitmap(), or override
@@ -412,7 +420,7 @@ protected:
 //     data from drag and drop operation.
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxFileDataObjectBase : public wxDataObjectSimple
+class WXDLLIMPEXP_CORE wxFileDataObjectBase : public wxDataObjectSimple
 {
 public:
     // ctor: use AddFile() later to fill the array
@@ -433,7 +441,7 @@ protected:
 // It is understood that this data can be copied bitwise.
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxCustomDataObject : public wxDataObjectSimple
+class WXDLLIMPEXP_CORE wxCustomDataObject : public wxDataObjectSimple
 {
 public:
     // if you don't specify the format in the ctor, you can still use
@@ -494,12 +502,13 @@ private:
 
 #if defined(__WXMSW__)
     #include "wx/msw/ole/dataobj2.h"
-
     // wxURLDataObject defined in msw/ole/dataobj2.h
-#else // !__WXMSW__
-    #if defined(__WXGTK20__)
-        #include "wx/gtk/dataobj2.h"
-    #elif defined(__WXGTK__)
+#elif defined(__WXGTK20__)
+    #include "wx/gtk/dataobj2.h"
+    // wxURLDataObject defined in msw/ole/dataobj2.h
+
+#else 
+    #if defined(__WXGTK__)
         #include "wx/gtk1/dataobj2.h"
     #elif defined(__WXX11__)
         #include "wx/x11/dataobj2.h"
@@ -514,13 +523,18 @@ private:
     #endif
 
     // wxURLDataObject is simply wxTextDataObject with a different name
-    class WXDLLEXPORT wxURLDataObject : public wxTextDataObject
+    class WXDLLIMPEXP_CORE wxURLDataObject : public wxTextDataObject
     {
     public:
+        wxURLDataObject(const wxString& url = wxEmptyString)
+            : wxTextDataObject(url)
+        {
+        }
+
         wxString GetURL() const { return GetText(); }
         void SetURL(const wxString& url) { SetText(url); }
     };
-#endif // __WXMSW__/!__WXMSW__
+#endif
 
 #endif // wxUSE_DATAOBJ