native hook for supported datatypes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -31,6 +31,10 @@ public:
|
|||||||
// returns true if any of the accepted formats of this dataobj is in the pasteboard
|
// returns true if any of the accepted formats of this dataobj is in the pasteboard
|
||||||
bool HasDataInPasteboard( void * pasteboardRef );
|
bool HasDataInPasteboard( void * pasteboardRef );
|
||||||
bool GetFromPasteboard( void * pasteboardRef );
|
bool GetFromPasteboard( void * pasteboardRef );
|
||||||
|
|
||||||
|
#if wxOSX_USE_COCOA
|
||||||
|
virtual void AddSupportedTypes( void* cfarray);
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _WX_MAC_DATAOBJ_H_
|
#endif // _WX_MAC_DATAOBJ_H_
|
||||||
|
@@ -594,6 +594,46 @@ bool wxDataObject::HasDataInPasteboard( void * pb )
|
|||||||
return hasData;
|
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
|
// wxTextDataObject
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user