]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dataobj.h
corrected handling of timeouts in wxConditionInternal::WaitTimeout(): check for wxSEM...
[wxWidgets.git] / include / wx / dataobj.h
index a80b6a4c6e50d51e3467a4c1f61a794cdb49bf19..12c2101f10e0a2960982d94ce6c33ac102df21df 100644 (file)
@@ -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(__APPLE__)
-    #pragma interface "dataobjbase.h"
-#endif
-
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
@@ -86,6 +82,8 @@ public:
     #include "wx/x11/dataform.h"
 #elif defined(__WXMAC__)
     #include "wx/mac/dataform.h"
+#elif defined(__WXCOCOA__)
+    #include "wx/cocoa/dataform.h"
 #elif defined(__WXPM__)
     #include "wx/os2/dataform.h"
 #endif
@@ -141,18 +139,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;
 };
 
@@ -170,13 +168,15 @@ public:
     #include "wx/gtk/dataobj.h"
 #elif defined(__WXMAC__)
     #include "wx/mac/dataobj.h"
+#elif defined(__WXCOCOA__)
+    #include "wx/cocoa/dataobj.h"
 #elif defined(__WXPM__)
     #include "wx/os2/dataobj.h"
 #endif
 
 // ----------------------------------------------------------------------------
 // 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.
 //
@@ -214,11 +214,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
     // ----------------------------------
@@ -241,6 +241,8 @@ public:
 private:
     // the one and only format we support
     wxDataFormat m_format;
+
+    DECLARE_NO_COPY_CLASS(wxDataObjectSimple)
 };
 
 // ----------------------------------------------------------------------------
@@ -264,8 +266,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
     // ----------------------------------
@@ -294,6 +296,8 @@ private:
     // the index of the preferred one (0 initially, so by default the first
     // one is the preferred)
     size_t m_preferred;
+
+    DECLARE_NO_COPY_CLASS(wxDataObjectComposite)
 };
 
 // ============================================================================
@@ -314,7 +318,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)
         {
         }
@@ -327,20 +337,37 @@ public:
 
     // implement base class pure virtuals
     // ----------------------------------
+
+    // 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); }
+
+    size_t GetDataSize(const wxDataFormat& format) const;
+    bool GetDataHere(const wxDataFormat& format, void *pBuf) const;
+    bool SetData(const wxDataFormat& format, size_t nLen, const void* pBuf);
+#else
     virtual size_t GetDataSize() const;
     virtual bool GetDataHere(void *buf) const;
     virtual bool SetData(size_t len, const void *buf);
 
-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)); }
+#endif
+
+private:
+    wxString m_text;
+
+    DECLARE_NO_COPY_CLASS(wxTextDataObject)
 };
 
 // ----------------------------------------------------------------------------
@@ -364,6 +391,8 @@ public:
 
 protected:
     wxBitmap m_bitmap;
+
+    DECLARE_NO_COPY_CLASS(wxBitmapDataObjectBase)
 };
 
 // ----------------------------------------------------------------------------
@@ -384,7 +413,7 @@ public:
 
     // the Get() functions do nothing for us
     virtual size_t GetDataSize() const { return 0; }
-    virtual bool GetDataHere(void *WXUNUSED(buf)) const { return FALSE; }
+    virtual bool GetDataHere(void *WXUNUSED(buf)) const { return false; }
 
 protected:
     wxArrayString m_filenames;
@@ -395,6 +424,8 @@ private:
         { return(wxDataObjectSimple::GetDataSize(format)); }
     bool GetDataHere(const wxDataFormat& format, void* pBuf) const
         { return(wxDataObjectSimple::GetDataHere(format, pBuf)); }
+
+    DECLARE_NO_COPY_CLASS(wxFileDataObjectBase)
 };
 
 // ----------------------------------------------------------------------------
@@ -470,6 +501,8 @@ private:
         #include "wx/motif/dataobj2.h"
     #elif defined(__WXMAC__)
         #include "wx/mac/dataobj2.h"
+    #elif defined(__WXCOCOA__)
+        #include "wx/cocoa/dataobj2.h"
     #elif defined(__WXPM__)
         #include "wx/os2/dataobj2.h"
     #endif