X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/17a1ebd101f0653e69736416a2a28d0ada423141..5c80fea840f43976c0903a0dd6f87f046d09d555:/include/wx/dataobj.h diff --git a/include/wx/dataobj.h b/include/wx/dataobj.h index 12c2101f10..04fbee454f 100644 --- a/include/wx/dataobj.h +++ b/include/wx/dataobj.h @@ -55,7 +55,7 @@ public: typedef 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); }; */ @@ -76,8 +76,10 @@ public: #include "wx/msw/ole/dataform.h" #elif defined(__WXMOTIF__) #include "wx/motif/dataform.h" -#elif defined(__WXGTK__) +#elif defined(__WXGTK20__) #include "wx/gtk/dataform.h" +#elif defined(__WXGTK__) + #include "wx/gtk1/dataform.h" #elif defined(__WXX11__) #include "wx/x11/dataform.h" #elif defined(__WXMAC__) @@ -164,8 +166,10 @@ public: #include "wx/motif/dataobj.h" #elif defined(__WXX11__) #include "wx/x11/dataobj.h" -#elif defined(__WXGTK__) +#elif defined(__WXGTK20__) #include "wx/gtk/dataobj.h" +#elif defined(__WXGTK__) + #include "wx/gtk1/dataobj.h" #elif defined(__WXMAC__) #include "wx/mac/dataobj.h" #elif defined(__WXCOCOA__) @@ -269,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; @@ -277,10 +287,6 @@ public: virtual size_t GetDataSize(const wxDataFormat& format) const; virtual bool GetDataHere(const wxDataFormat& format, void *buf) const; virtual bool SetData(const wxDataFormat& format, size_t len, const void *buf); - -protected: - // returns the pointer to the object which supports this format or NULL - wxDataObjectSimple *GetObject(const wxDataFormat& format) const; #if defined(__WXMSW__) virtual const void* GetSizeFromBuffer( const void* buffer, size_t* size, const wxDataFormat& format ); @@ -289,6 +295,10 @@ protected: virtual size_t GetBufferOffset( const wxDataFormat& format ); #endif +protected: + // returns the pointer to the object which supports this format or NULL + wxDataObjectSimple *GetObject(const wxDataFormat& format) const; + private: // the list of all (simple) data objects whose formats we support wxSimpleDataObjectList m_dataObjects; @@ -297,6 +307,8 @@ private: // one is the preferred) size_t m_preferred; + wxDataFormat m_receivedFormat; + DECLARE_NO_COPY_CLASS(wxDataObjectComposite) }; @@ -355,13 +367,19 @@ public: virtual size_t GetDataSize() const; virtual bool GetDataHere(void *buf) const; virtual bool SetData(size_t len, const void *buf); - - 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)); } + // Must provide overloads to avoid hiding them (and warnings about it) + virtual size_t GetDataSize(const wxDataFormat&) const + { + return GetDataSize(); + } + virtual bool GetDataHere(const wxDataFormat&, void *buf) const + { + return GetDataHere(buf); + } + virtual bool SetData(const wxDataFormat&, size_t len, const void *buf) + { + return SetData(len, buf); + } #endif private: @@ -411,20 +429,9 @@ public: // get a reference to our array const wxArrayString& GetFilenames() const { return m_filenames; } - // the Get() functions do nothing for us - virtual size_t GetDataSize() const { return 0; } - virtual bool GetDataHere(void *WXUNUSED(buf)) const { return false; } - 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)); } - DECLARE_NO_COPY_CLASS(wxFileDataObjectBase) }; @@ -468,19 +475,24 @@ public: virtual size_t GetDataSize() const; virtual bool GetDataHere(void *buf) const; virtual bool SetData(size_t size, const void *buf); + // Must provide overloads to avoid hiding them (and warnings about it) + virtual size_t GetDataSize(const wxDataFormat&) const + { + return GetDataSize(); + } + virtual bool GetDataHere(const wxDataFormat&, void *buf) const + { + return GetDataHere(buf); + } + virtual bool SetData(const wxDataFormat&, size_t len, const void *buf) + { + return SetData(len, buf); + } 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)); } - DECLARE_NO_COPY_CLASS(wxCustomDataObject) }; @@ -490,11 +502,14 @@ private: #if defined(__WXMSW__) #include "wx/msw/ole/dataobj2.h" - // wxURLDataObject defined in msw/ole/dataobj2.h -#else // !__WXMSW__ +#elif defined(__WXGTK20__) + #include "wx/gtk/dataobj2.h" + // wxURLDataObject defined in msw/ole/dataobj2.h + +#else #if defined(__WXGTK__) - #include "wx/gtk/dataobj2.h" + #include "wx/gtk1/dataobj2.h" #elif defined(__WXX11__) #include "wx/x11/dataobj2.h" #elif defined(__WXMOTIF__) @@ -511,10 +526,15 @@ private: class WXDLLEXPORT 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