]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk1/dataform.h
Don't create multiple parent-less top level frames in layout sample.
[wxWidgets.git] / include / wx / gtk1 / dataform.h
index dc52e99699d30106cbc3f0a5b89bf35200cc9193..ad27104edd3396988b96d197c88e75db8441c92f 100644 (file)
@@ -1,18 +1,18 @@
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        gtk/dataform.h
+// Name:        wx/gtk1/dataform.h
 // Purpose:     declaration of the wxDataFormat class
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     19.10.99 (extracted from gtk/dataobj.h)
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
 // Purpose:     declaration of the wxDataFormat class
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     19.10.99 (extracted from gtk/dataobj.h)
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_GTK_DATAFORM_H
 #define _WX_GTK_DATAFORM_H
 
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_GTK_DATAFORM_H
 #define _WX_GTK_DATAFORM_H
 
-class wxDataFormat
+class WXDLLIMPEXP_CORE wxDataFormat
 {
 public:
     // the clipboard formats under GDK are GdkAtoms
 {
 public:
     // the clipboard formats under GDK are GdkAtoms
@@ -20,10 +20,16 @@ public:
 
     wxDataFormat();
     wxDataFormat( wxDataFormatId type );
 
     wxDataFormat();
     wxDataFormat( wxDataFormatId type );
-    wxDataFormat( const wxString &id );
-    wxDataFormat( const wxChar *id );
     wxDataFormat( NativeFormat format );
 
     wxDataFormat( NativeFormat format );
 
+    // we have to provide all the overloads to allow using strings instead of
+    // data formats (as a lot of existing code does)
+    wxDataFormat( const wxString& id ) { InitFromString(id); }
+    wxDataFormat( const char *id ) { InitFromString(id); }
+    wxDataFormat( const wchar_t *id ) { InitFromString(id); }
+    wxDataFormat( const wxCStrData& id ) { InitFromString(id); }
+
+
     wxDataFormat& operator=(const wxDataFormat& format)
         { m_type = format.m_type; m_format = format.m_format; return *this; }
     wxDataFormat& operator=(NativeFormat format)
     wxDataFormat& operator=(const wxDataFormat& format)
         { m_type = format.m_type; m_format = format.m_format; return *this; }
     wxDataFormat& operator=(NativeFormat format)
@@ -50,13 +56,16 @@ public:
     // string ids are used for custom types - this SetId() must be used for
     // application-specific formats
     wxString GetId() const;
     // string ids are used for custom types - this SetId() must be used for
     // application-specific formats
     wxString GetId() const;
-    void SetId( const wxChar *id );
+    void SetId( const wxString& id );
 
     // implementation
     wxDataFormatId GetType() const;
     void SetType( wxDataFormatId type );
 
 private:
 
     // implementation
     wxDataFormatId GetType() const;
     void SetType( wxDataFormatId type );
 
 private:
+    // common part of ctors from format name
+    void InitFromString(const wxString& id);
+
     wxDataFormatId   m_type;
     NativeFormat     m_format;
 
     wxDataFormatId   m_type;
     NativeFormat     m_format;