// returns true if any of the accepted formats of this dataobj is in the pasteboard
bool HasDataInPasteboard( void * pasteboardRef );
bool GetFromPasteboard( void * pasteboardRef );
+
+#if wxOSX_USE_COCOA
+ virtual void AddSupportedTypes( void* cfarray);
+#endif
};
#endif // _WX_MAC_DATAOBJ_H_
return hasData;
}
+#if wxOSX_USE_COCOA
+
+void wxDataObject::AddSupportedTypes( void* cfarray)
+{
+ wxDataFormat *array = new wxDataFormat[ GetFormatCount() ];
+ GetAllFormats( array );
+
+ for (size_t i = 0; i < GetFormatCount(); i++)
+ {
+ wxDataFormat dataFormat = array[ i ];
+
+ if ( dataFormat.GetType() == wxDF_UNICODETEXT || dataFormat.GetType() == wxDF_TEXT )
+ {
+ CFArrayAppendValue((CFMutableArrayRef)cfarray, kUTTypeUTF16PlainText);
+ CFArrayAppendValue((CFMutableArrayRef)cfarray, kUTTypePlainText);
+ }
+ else if ( dataFormat.GetType() == wxDF_FILENAME )
+ {
+ CFArrayAppendValue((CFMutableArrayRef)cfarray, kUTTypeFileURL);
+ CFArrayAppendValue((CFMutableArrayRef)cfarray, kPasteboardTypeFileURLPromise);
+ }
+ else if ( dataFormat.GetType() == wxDF_HTML )
+ {
+ CFArrayAppendValue((CFMutableArrayRef)cfarray, kUTTypeHTML);
+ }
+ else if ( dataFormat.GetType() == wxDF_BITMAP )
+ {
+ CFArrayAppendValue((CFMutableArrayRef)cfarray, kUTTypeTIFF);
+ CFArrayAppendValue((CFMutableArrayRef)cfarray, kUTTypePICT);
+ }
+ else if ( dataFormat.GetType() == wxDF_METAFILE )
+ {
+ CFArrayAppendValue((CFMutableArrayRef)cfarray, kUTTypePDF);
+ }
+ }
+ delete[] array;
+}
+
+#endif
+
// ----------------------------------------------------------------------------
// wxTextDataObject
// ----------------------------------------------------------------------------