X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c7d6d88330dac6c5c5b4b2ed94ec91b6a46066a1..a5325ad6728d6dbc6c2757f9ba6484bfc773fbbe:/include/wx/dataobj.h diff --git a/include/wx/dataobj.h b/include/wx/dataobj.h index 085487c62f..6c7c1d0d01 100644 --- a/include/wx/dataobj.h +++ b/include/wx/dataobj.h @@ -5,17 +5,13 @@ // Modified by: // Created: 26.05.99 // RCS-ID: $Id$ -// Copyright: (c) wxWindows Team +// Copyright: (c) wxWidgets Team // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_DATAOBJ_H_BASE_ #define _WX_DATAOBJ_H_BASE_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "dataobjbase.h" -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- @@ -80,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__) @@ -143,18 +141,18 @@ public: virtual size_t GetDataSize(const wxDataFormat& format) const = 0; // copy raw data (in the specified format) to the provided buffer, return - // TRUE if data copied successfully, FALSE otherwise + // true if data copied successfully, false otherwise virtual bool GetDataHere(const wxDataFormat& format, void *buf) const = 0; // get data from the buffer of specified length (in the given format), - // return TRUE if the data was read successfully, FALSE otherwise + // return true if the data was read successfully, false otherwise virtual bool SetData(const wxDataFormat& WXUNUSED(format), size_t WXUNUSED(len), const void * WXUNUSED(buf)) { - return FALSE; + return false; } - // returns TRUE if this format is supported + // returns true if this format is supported bool IsSupported(const wxDataFormat& format, Direction dir = Get) const; }; @@ -168,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__) @@ -180,7 +180,7 @@ public: // ---------------------------------------------------------------------------- // wxDataObjectSimple is a wxDataObject which only supports one format (in -// both Get and Set directions, but you may return FALSE from GetDataHere() or +// both Get and Set directions, but you may return false from GetDataHere() or // SetData() if one of them is not supported). This is the simplest possible // wxDataObject implementation. // @@ -218,11 +218,11 @@ public: // copy our data to the buffer virtual bool GetDataHere(void *WXUNUSED(buf)) const - { return FALSE; } + { return false; } // copy data from buffer to our data virtual bool SetData(size_t WXUNUSED(len), const void *WXUNUSED(buf)) - { return FALSE; } + { return false; } // implement base class pure virtuals // ---------------------------------- @@ -270,8 +270,8 @@ public: // add data object (it will be deleted by wxDataObjectComposite, hence it // must be allocated on the heap) whose format will become the preferred - // one if preferred == TRUE - void Add(wxDataObjectSimple *dataObject, bool preferred = FALSE); + // one if preferred == true + void Add(wxDataObjectSimple *dataObject, bool preferred = false); // implement base class pure virtuals // ---------------------------------- @@ -281,10 +281,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 ); @@ -293,6 +289,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; @@ -322,7 +322,13 @@ public: // ctor: you can specify the text here or in SetText(), or override // GetText() wxTextDataObject(const wxString& text = wxEmptyString) - : wxDataObjectSimple(wxUSE_UNICODE?wxDF_UNICODETEXT:wxDF_TEXT), + : wxDataObjectSimple( +#if wxUSE_UNICODE + wxDF_UNICODETEXT +#else + wxDF_TEXT +#endif + ), m_text(text) { } @@ -336,11 +342,12 @@ public: // implement base class pure virtuals // ---------------------------------- -#if wxUSE_UNICODE && defined(__WXGTK20__) + // some platforms have 2 and not 1 format for text data +#if wxUSE_UNICODE && (defined(__WXGTK20__) || defined(__WXMAC__)) virtual size_t GetFormatCount(Direction WXUNUSED(dir) = Get) const { return 2; } virtual void GetAllFormats(wxDataFormat *formats, wxDataObjectBase::Direction WXUNUSED(dir) = Get) const; - + virtual size_t GetDataSize() const { return GetDataSize(GetPreferredFormat()); } virtual bool GetDataHere(void *buf) const { return GetDataHere(GetPreferredFormat(), buf); } virtual bool SetData(size_t len, const void *buf) { return SetData(GetPreferredFormat(), len, buf); } @@ -352,18 +359,24 @@ 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: wxString m_text; - + DECLARE_NO_COPY_CLASS(wxTextDataObject) }; @@ -408,20 +421,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) }; @@ -465,19 +467,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,8 +497,10 @@ private: // wxURLDataObject defined in msw/ole/dataobj2.h #else // !__WXMSW__ - #if defined(__WXGTK__) + #if defined(__WXGTK20__) #include "wx/gtk/dataobj2.h" + #elif defined(__WXGTK__) + #include "wx/gtk1/dataobj2.h" #elif defined(__WXX11__) #include "wx/x11/dataobj2.h" #elif defined(__WXMOTIF__)