private static boolean isAvailable(Transfer transfer, TransferData[] availableDataTypes) { for (int i = 0; i < availableDataTypes.length; i++) { if (transfer.isSupportedType(availableDataTypes[i])) return true; } return false; }
private static Object transferData( final DropTarget dropTarget, final TransferData dataType, final DragSourceEvent setDataEvent ) { Object data = null; if( setDataEvent.doit ) { Transfer transfer = findTransferByType( dataType, dropTarget ); transfer.javaToNative( setDataEvent.data, dataType ); data = transfer.nativeToJava( dataType ); } return data; }
static TransferData[] determineDataTypes( final DragSource dragSource, final DropTarget dropTarget ) { java.util.List supportedTypes = new ArrayList(); Transfer[] dragSourceTransfers = dragSource.getTransfer(); Transfer[] dropTargetTransfers = dropTarget.getTransfer(); for( int i = 0; i < dragSourceTransfers.length; i++ ) { TransferData[] dataTypes = dragSourceTransfers[ i ].getSupportedTypes(); for( int j = 0; j < dropTargetTransfers.length; j++ ) { for( int k = 0; k < dataTypes.length; k++ ) { if( dropTargetTransfers[ j ].isSupportedType( dataTypes[ k ] ) ) { supportedTypes.add( dataTypes[ k ] ); } } } } TransferData[] result = new TransferData[ supportedTypes.size() ]; for( int i = 0; i < supportedTypes.size(); i++ ) { result[ i ] = ( TransferData )supportedTypes.get( i ); } return result; }
/** * This function provides the data to the clipboard on request. * When this clipboard is disposed, the data will no longer be available. */ int /*long*/ getFunc(int /*long*/ clipboard, int /*long*/ selection_data, int /*long*/ info, int /*long*/ user_data_or_owner){ if (selection_data == 0) return 0; int /*long*/ target = OS.gtk_selection_data_get_target(selection_data); TransferData tdata = new TransferData(); tdata.type = target; Transfer[] types = (clipboard == Clipboard.GTKCLIPBOARD) ? clipboardDataTypes : primaryClipboardDataTypes; int index = -1; for (int i = 0; i < types.length; i++) { if (types[i].isSupportedType(tdata)) { index = i; break; } } if (index == -1) return 0; Object[] data = (clipboard == Clipboard.GTKCLIPBOARD) ? clipboardData : primaryClipboardData; types[index].javaToNative(data[index], tdata); if (tdata.format < 8 || tdata.format % 8 != 0) { return 0; } OS.gtk_selection_data_set(selection_data, tdata.type, tdata.format, tdata.pValue, tdata.length); OS.g_free(tdata.pValue); return 1; }
for (int i = 0; i < transferAgents.length; i++) { Transfer transfer = transferAgents[i]; if (transfer != null && transfer.isSupportedType(transferData)) { object = transfer.nativeToJava(transferData); break;
String[] typeNames = transfer.getTypeNames(); int[] typeIds = transfer.getTypeIds(); tdata.type = Transfer.registerType(type.getString()); if (type.isEqual(OS.NSStringPboardType) || type.isEqual(OS.NSHTMLPboardType) || for (int i = 0; i < transferAgents.length; i++) { Transfer transfer = transferAgents[i]; if (transfer != null && transfer.isSupportedType(selectedDataType)) { selectedDataType.data = data; object = transfer.nativeToJava(selectedDataType); break;
Transfer transfer = transferAgents[i]; if (transfer != null) { int[] typeIds = transfer.getTypeIds(); String[] typeNames = transfer.getTypeNames(); for (int j = 0; j < typeIds.length; j++) { GtkTargetEntry entry = new GtkTargetEntry();
if (pasteboard == null || dataType == null) return; TransferData transferData = new TransferData(); transferData.type = Transfer.registerType(dataType.getString()); DNDEvent event = new DNDEvent(); event.widget = this; for (int i = 0; i < transferAgents.length; i++) { Transfer transferAgent = transferAgents[i]; if (transferAgent != null && transferAgent.isSupportedType(transferData)) { transfer = transferAgent; break; transfer.javaToNative(event.data, transferData); if (transferData.data == null) return;
if (data[i] == null || dataTypes[i] == null || !dataTypes[i].validate(data[i])) { DND.error(SWT.ERROR_INVALID_ARGUMENT); String[] typeNames = dataTypes[i].getTypeNames(); for (int j=0; j<typeNames.length; j++) { TransferData transferData = new TransferData(); transferData.type = Transfer.registerType(typeNames[j]); dataTypes[i].javaToNative(data[i], transferData); NSObject tdata = transferData.data; NSString dataType = NSString.stringWith(typeNames[j]);
if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT); long /*int*/ selection_data = 0; int[] typeIds = transfer.getTypeIds(); for (int i = 0; i < typeIds.length; i++) { if ((clipboards & DND.CLIPBOARD) != 0) { tdata.length = OS.gtk_selection_data_get_length(selection_data); tdata.format = OS.gtk_selection_data_get_format(selection_data); Object result = transfer.nativeToJava(tdata); OS.gtk_selection_data_free(selection_data); return result;
NSString nativeDataType = new NSString(draggedType); TransferData data = new TransferData(); data.type = Transfer.registerType(nativeDataType.getString()); if (transfer != null && transfer.isSupportedType(data)) { dataTypes[++index] = data; break;
NSPasteboard pasteboard = NSPasteboard.generalPasteboard(); if (pasteboard == null) return null; String[] typeNames = transfer.getTypeNames(); NSMutableArray types = NSMutableArray.arrayWithCapacity(typeNames.length); for (int i = 0; i < typeNames.length; i++) { if (type != null) { TransferData tdata = new TransferData(); tdata.type = Transfer.registerType(type.getString()); if (type.isEqual(OS.NSStringPboardType) || type.isEqual(OS.NSRTFPboardType) || return transfer.nativeToJava(tdata);
if (data[i] == null || dataTypes[i] == null || !dataTypes[i].validate(data[i])) { DND.error(SWT.ERROR_INVALID_ARGUMENT);
IDataObject dataObject = new IDataObject(ppv[0]); try { TransferData[] allowed = transfer.getSupportedTypes(); for (int i = 0; i < allowed.length; i++) { if (dataObject.QueryGetData(allowed[i].formatetc) == COM.S_OK) { TransferData data = allowed[i]; data.pIDataObject = ppv[0]; return transfer.nativeToJava(data);
String[] types = transferAgents[i].getTypeNames();
/** * This function provides the data to the clipboard on request. * When this clipboard is disposed, the data will no longer be available. */ long /*int*/ getFunc(long /*int*/ clipboard, long /*int*/ selection_data, long /*int*/ info, long /*int*/ user_data_or_owner){ if (selection_data == 0) return 0; long /*int*/ target = OS.gtk_selection_data_get_target(selection_data); TransferData tdata = new TransferData(); tdata.type = target; Transfer[] types = (clipboard == Clipboard.GTKCLIPBOARD) ? clipboardDataTypes : primaryClipboardDataTypes; int index = -1; for (int i = 0; i < types.length; i++) { if (types[i].isSupportedType(tdata)) { index = i; break; } } if (index == -1) return 0; Object[] data = (clipboard == Clipboard.GTKCLIPBOARD) ? clipboardData : primaryClipboardData; types[index].javaToNative(data[index], tdata); if (tdata.format < 8 || tdata.format % 8 != 0) { return 0; } OS.gtk_selection_data_set(selection_data, tdata.type, tdata.format, tdata.pValue, tdata.length); OS.g_free(tdata.pValue); return 1; }
for (int i = 0; i < transferAgents.length; i++) { Transfer transfer = transferAgents[i]; if (transfer != null && transfer.isSupportedType(transferData)) { object = transfer.nativeToJava(transferData); break;
Transfer transfer = transferAgents[i]; if (transfer != null) { int[] typeIds = transfer.getTypeIds(); String[] typeNames = transfer.getTypeNames(); for (int j = 0; j < typeIds.length; j++) { GtkTargetEntry entry = new GtkTargetEntry();
if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT); int /*long*/ selection_data = 0; int[] typeIds = transfer.getTypeIds(); for (int i = 0; i < typeIds.length; i++) { if ((clipboards & DND.CLIPBOARD) != 0) { tdata.length = OS.gtk_selection_data_get_length(selection_data); tdata.format = OS.gtk_selection_data_get_format(selection_data); Object result = transfer.nativeToJava(tdata); OS.gtk_selection_data_free(selection_data); return result;
if (data[i] == null || dataTypes[i] == null || !dataTypes[i].validate(data[i])) { DND.error(SWT.ERROR_INVALID_ARGUMENT);