X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4004aba33197f62b09f6c77834d5301def168e61..dad5f99acb6b3400ff73562c03db2f3f21b658cd:/include/wx/dataobj.h diff --git a/include/wx/dataobj.h b/include/wx/dataobj.h index 76e30d96a6..e7042d2b07 100644 --- a/include/wx/dataobj.h +++ b/include/wx/dataobj.h @@ -79,10 +79,16 @@ public: #include "wx/motif/dataform.h" #elif defined(__WXGTK__) #include "wx/gtk/dataform.h" +#elif defined(__WXMAC__) + #include "wx/mac/dataform.h" #elif defined(__WXPM__) #include "wx/os2/dataform.h" #endif +// the value for default argument to some functions (corresponds to +// wxDF_INVALID) +extern WXDLLEXPORT const wxDataFormat& wxFormatInvalid; + // ---------------------------------------------------------------------------- // wxDataObject represents a piece of data which knows which formats it // supports and knows how to render itself in each of them - GetDataHere(), @@ -140,6 +146,9 @@ public: { return FALSE; } + + // returns TRUE if this format is supported + bool IsSupported(const wxDataFormat& format, Direction dir = Get) const; }; // ---------------------------------------------------------------------------- @@ -155,9 +164,9 @@ public: #elif defined(__WXQT__) #include "wx/qt/dnd.h" #elif defined(__WXMAC__) - #include "wx/mac/dnd.h" + #include "wx/mac/dataobj.h" #elif defined(__WXPM__) - #include "wx/os2/dnd.h" + #include "wx/os2/dataobj.h" #elif defined(__WXSTUBS__) #include "wx/stubs/dnd.h" #endif @@ -183,7 +192,7 @@ class WXDLLEXPORT wxDataObjectSimple : public wxDataObject public: // ctor takes the format we support, but it can also be set later with // SetFormat() - wxDataObjectSimple(const wxDataFormat& format = wxDF_INVALID) + wxDataObjectSimple(const wxDataFormat& format = wxFormatInvalid) : m_format(format) { } @@ -241,7 +250,7 @@ private: // wxDataObject directly. // ---------------------------------------------------------------------------- -WX_DECLARE_LIST(wxDataObjectSimple, wxSimpleDataObjectList); +WX_DECLARE_EXPORTED_LIST(wxDataObjectSimple, wxSimpleDataObjectList); class WXDLLEXPORT wxDataObjectComposite : public wxDataObject { @@ -312,6 +321,14 @@ public: private: wxString m_text; + + // virtual function hiding supression + size_t GetDataSize(const wxDataFormat& format) const + { return(wxDataObjectSimple::GetDataSize(format)); } + bool GetDataHere(const wxDataFormat& format, void *pBuf) const + { return(wxDataObjectSimple::GetDataHere(format, pBuf)); } + bool SetData(const wxDataFormat& format, size_t nLen, const void* pBuf) + { return(wxDataObjectSimple::SetData(format, nLen, pBuf)); } }; // ---------------------------------------------------------------------------- @@ -359,6 +376,13 @@ public: protected: wxArrayString m_filenames; + +private: + // Virtual function hiding supression + size_t GetDataSize(const wxDataFormat& format) const + { return(wxDataObjectSimple::GetDataSize(format)); } + bool GetDataHere(const wxDataFormat& format, void* pBuf) const + { return(wxDataObjectSimple::GetDataHere(format, pBuf)); } }; // ---------------------------------------------------------------------------- @@ -372,7 +396,7 @@ class WXDLLEXPORT wxCustomDataObject : public wxDataObjectSimple public: // if you don't specify the format in the ctor, you can still use // SetFormat() later - wxCustomDataObject(const wxDataFormat& format = wxDF_INVALID); + wxCustomDataObject(const wxDataFormat& format = wxFormatInvalid); // the dtor calls Free() virtual ~wxCustomDataObject(); @@ -405,6 +429,14 @@ public: private: size_t m_size; void *m_data; + + // virtual function hiding supression + size_t GetDataSize(const wxDataFormat& format) const + { return(wxDataObjectSimple::GetDataSize(format)); } + bool GetDataHere(const wxDataFormat& format, void* pBuf) const + { return(wxDataObjectSimple::GetDataHere(format, pBuf)); } + bool SetData(const wxDataFormat& format, size_t nLen, const void* pBuf) + { return(wxDataObjectSimple::SetData(format, nLen, pBuf)); } }; // ---------------------------------------------------------------------------- @@ -417,6 +449,10 @@ private: // #include "wx/motif/dataobj2.h" -- not yet #elif defined(__WXGTK__) #include "wx/gtk/dataobj2.h" +#elif defined(__WXMAC__) + #include "wx/mac/dataobj2.h" +#elif defined(__WXPM__) + #include "wx/os2/dataobj2.h" #endif #endif // _WX_DATAOBJ_H_BASE_