X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e1ee679c2e3f48bc4f2607e35033ed5505ed6665..e87271f35887a50e011c7c97fc63c35f5d623e50:/include/wx/dataobj.h diff --git a/include/wx/dataobj.h b/include/wx/dataobj.h index 9ef5f2bc7f..045898f553 100644 --- a/include/wx/dataobj.h +++ b/include/wx/dataobj.h @@ -79,6 +79,8 @@ public: #include "wx/motif/dataform.h" #elif defined(__WXGTK__) #include "wx/gtk/dataform.h" +#elif defined(__WXPM__) + #include "wx/os2/dataform.h" #endif // ---------------------------------------------------------------------------- @@ -133,8 +135,11 @@ public: // get data from the buffer of specified length (in the given format), // return TRUE if the data was read successfully, FALSE otherwise - virtual bool SetData(const wxDataFormat& format, - size_t len, const void *buf) = 0; + virtual bool SetData(const wxDataFormat& WXUNUSED(format), + size_t WXUNUSED(len), const void * WXUNUSED(buf)) + { + return FALSE; + } }; // ---------------------------------------------------------------------------- @@ -152,7 +157,7 @@ public: #elif defined(__WXMAC__) #include "wx/mac/dnd.h" #elif defined(__WXPM__) - #include "wx/os2/dnd.h" + #include "wx/os2/dataobj.h" #elif defined(__WXSTUBS__) #include "wx/stubs/dnd.h" #endif @@ -200,17 +205,17 @@ public: { return FALSE; } // copy data from buffer to our data - virtual bool SetData(size_t len, const void *WXUNUSED(buf)) + virtual bool SetData(size_t WXUNUSED(len), const void *WXUNUSED(buf)) { return FALSE; } // implement base class pure virtuals // ---------------------------------- - virtual wxDataFormat GetPreferredFormat(Direction WXUNUSED(dir) = Get) const + virtual wxDataFormat GetPreferredFormat(wxDataObjectBase::Direction WXUNUSED(dir) = Get) const { return m_format; } - virtual size_t GetFormatCount(Direction WXUNUSED(dir) = Get) const + virtual size_t GetFormatCount(wxDataObjectBase::Direction WXUNUSED(dir) = Get) const { return 1; } virtual void GetAllFormats(wxDataFormat *formats, - Direction WXUNUSED(dir) = Get) const + wxDataObjectBase::Direction WXUNUSED(dir) = Get) const { *formats = m_format; } virtual size_t GetDataSize(const wxDataFormat& WXUNUSED(format)) const { return GetDataSize(); } @@ -251,9 +256,9 @@ public: // implement base class pure virtuals // ---------------------------------- - virtual wxDataFormat GetPreferredFormat(Direction dir = Get) const; - virtual size_t GetFormatCount(Direction dir = Get) const; - virtual void GetAllFormats(wxDataFormat *formats, Direction dir = Get) const; + virtual wxDataFormat GetPreferredFormat(wxDataObjectBase::Direction dir = Get) const; + virtual size_t GetFormatCount(wxDataObjectBase::Direction dir = Get) const; + virtual void GetAllFormats(wxDataFormat *formats, wxDataObjectBase::Direction dir = Get) const; 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); @@ -307,6 +312,16 @@ public: private: wxString m_text; + +#if defined(__VISAGECPP__) + // Virtual function hiding supression + size_t GetDataSize(const wxDataFormat& rFormat) const + { return(wxDataObjectSimple::GetDataSize(rFormat)); } + bool GetDataHere(const wxDataFormat& WXUNUSED(rFormat), void *pBuf) const + { return(GetDataHere(pBuf)); } + bool SetData(const wxDataFormat& rFormat, size_t nLen, const void* pBuf) + { return(wxDataObjectSimple::SetData(rFormat, nLen, pBuf)); } +#endif }; // ---------------------------------------------------------------------------- @@ -328,38 +343,41 @@ public: virtual wxBitmap GetBitmap() const { return m_bitmap; } virtual void SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; } -private: +protected: wxBitmap m_bitmap; }; // ---------------------------------------------------------------------------- // wxFileDataObject contains a list of filenames +// +// NB: notice that this is a "write only" object, it can only be filled with +// data from drag and drop operation. // ---------------------------------------------------------------------------- class WXDLLEXPORT wxFileDataObjectBase : public wxDataObjectSimple { public: - // ctor: you can specify the bitmap here or in SetBitmap(), or override - // GetBitmap() + // ctor: use AddFile() later to fill the array wxFileDataObjectBase() : wxDataObjectSimple(wxDF_FILENAME) { } - // get a reference to our array - you may modify it (i.e. add/remove - // filenames to it then) - wxArrayString& GetFilenames() { return m_filenames; } + // get a reference to our array + const wxArrayString& GetFilenames() const { return m_filenames; } - // a helper function - void AddFile(const wxString& filename) { m_filenames.Add(filename); } + // the Get() functions do nothing for us + virtual size_t GetDataSize() const { return 0; } + virtual bool GetDataHere(void *WXUNUSED(buf)) const { return FALSE; } - // virtual functions which you may override if you want to provide data on - // demand only - otherwise, the trivial default versions will be used. - // - // they work with a NUL-separated string of filenames, the base class - // versions concatenate/extract filenames from this string - virtual wxString GetFilenames() const; - virtual void SetFilenames(const wxChar* filenames); +protected: + wxArrayString m_filenames; +#if defined(__VISAGECPP__) private: - wxArrayString m_filenames; + // Virtual function hiding supression + size_t GetDataSize(const wxDataFormat& rFormat) const + { return(wxDataObjectSimple::GetDataSize(rFormat)); } + bool GetDataHere(const wxDataFormat& WXUNUSED(rformat), void* pBuf) const + { return(GetDataHere(pBuf)); } +#endif }; // ---------------------------------------------------------------------------- @@ -406,6 +424,16 @@ public: private: size_t m_size; void *m_data; + +#if defined(__VISAGECPP__) + // Virtual function hiding supression + size_t GetDataSize(const wxDataFormat& rFormat) const + { return(wxDataObjectSimple::GetDataSize(rFormat)); } + bool GetDataHere(const wxDataFormat& rFormat, void* pBuf) const + { return(wxDataObjectSimple::GetDataHere(rFormat, pBuf)); } + bool SetData(const wxDataFormat& rFormat, size_t nLen, const void* pBuf) + { return(wxDataObjectSimple::SetData(rFormat, nLen, pBuf)); } +#endif }; // ---------------------------------------------------------------------------- @@ -415,9 +443,11 @@ private: #if defined(__WXMSW__) #include "wx/msw/ole/dataobj2.h" #elif defined(__WXMOTIF__) - #include "wx/motif/dataobj2.h" + // #include "wx/motif/dataobj2.h" -- not yet #elif defined(__WXGTK__) #include "wx/gtk/dataobj2.h" +#elif defined(__WXPM__) + #include "wx/os2/dataobj2.h" #endif #endif // _WX_DATAOBJ_H_BASE_