/** * This implementation of <code>javaToNative</code> converts RTF-formatted * text represented by a java <code>String</code> to a platform specific * representation. * * @param object a java <code>String</code> containing RTF text * @param transferData an empty <code>TransferData</code> object that will be * filled in on return with the platform specific format of the data * @see Transfer#nativeToJava */ public void javaToNative( Object object, TransferData transferData ) { if( !checkRTF( object ) || !isSupportedType( transferData ) ) { DND.error( DND.ERROR_INVALID_DATA ); } transferData.data = object; transferData.result = 1; }
clipboard.setContents(new Object[] {buffer.toString()}, new Transfer[] {RTFTransfer.getInstance()}); } else { status.setText("No RTF to copy"); b.setText("Paste"); b.addSelectionListener(widgetSelectedAdapter(e -> { String textData = (String)clipboard.getContents(RTFTransfer.getInstance()); if (textData != null && textData.length() > 0) { status.setText("");
@Override public void dragSetData(org.eclipse.swt.dnd.DragSourceEvent event) { dragConsole.append(">>dragSetData\n"); printEvent(event); if (TextTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataText; } if (RTFTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataRTF; } if (HTMLTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataHTML; } if (URLTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataURL; } if (FileTransfer.getInstance().isSupportedType(event.dataType)) { event.data = dragDataFiles; } } @Override
@Override protected boolean validate(Object object) { return checkRTF(object); } }
/** * This implementation of <code>nativeToJava</code> converts a platform * specific representation of RTF text to a java <code>String</code>. * * @param transferData the platform specific representation of the data to be * converted * @return a java <code>String</code> containing RTF text if the conversion * was successful; otherwise null * @see Transfer#javaToNative */ public Object nativeToJava( TransferData transferData ) { if( !isSupportedType( transferData ) || transferData.data == null ) return null; if( transferData.result != 1 ) return null; return transferData.data; }
if (!isSupportedType(transferData) || transferData.pIDataObject == 0) return null; IDataObject data = new IDataObject(transferData.pIDataObject); data.AddRef(); FORMATETC formatetc = transferData.formatetc; stgmedium.tymed = COM.TYMED_HGLOBAL; transferData.result = getData(data, formatetc, stgmedium); data.Release(); if (transferData.result != COM.S_OK) return null;
@Override public boolean canPaste(Clipboard clipboard) { TransferData[] types = clipboard.getAvailableTypes(); Transfer[] transfers = new Transfer[] {TextTransfer.getInstance(), RTFTransfer.getInstance()}; for (TransferData type : types) { for (Transfer transfer : transfers) { if (transfer.isSupportedType(type)) return true; } } return false; }
String[] strings = null; if (TextTransfer.getInstance().isSupportedType(event.currentDataType) || RTFTransfer.getInstance().isSupportedType(event.currentDataType) || HTMLTransfer.getInstance().isSupportedType(event.currentDataType) || URLTransfer.getInstance().isSupportedType(event.currentDataType)) {
@Override protected boolean validate(Object object) { return checkRTF(object); } }
/** * This implementation of <code>nativeToJava</code> converts a platform specific * representation of RTF text to a java <code>String</code>. * * @param transferData the platform specific representation of the data to be converted * @return a java <code>String</code> containing RTF text if the conversion was successful; * otherwise null * * @see Transfer#javaToNative */ public Object nativeToJava(TransferData transferData){ if (!isSupportedType(transferData) || transferData.data == null) return null; NSString string = (NSString) transferData.data; return string.getString(); }
@Override public boolean canPaste(Clipboard clipboard) { TransferData[] types = clipboard.getAvailableTypes(); Transfer[] transfers = new Transfer[] {TextTransfer.getInstance(), RTFTransfer.getInstance()}; for (TransferData type : types) { for (Transfer transfer : transfers) { if (transfer.isSupportedType(type)) return true; } } return false; }
/** * This implementation of <code>javaToNative</code> converts RTF-formatted text * represented by a java <code>String</code> to a platform specific representation. * * @param object a java <code>String</code> containing RTF text * @param transferData an empty <code>TransferData</code> object that will * be filled in on return with the platform specific format of the data * * @see Transfer#nativeToJava */ public void javaToNative (Object object, TransferData transferData){ if (!checkRTF(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA); } transferData.data = NSString.stringWith((String) object); }
@Override protected boolean validate(Object object) { return checkRTF(object); } }
/** * This implementation of <code>nativeToJava</code> converts a platform specific * representation of RTF text to a java <code>String</code>. * * @param transferData the platform specific representation of the data to be converted * @return a java <code>String</code> containing RTF text if the conversion was successful; * otherwise null * * @see Transfer#javaToNative */ @Override public Object nativeToJava(TransferData transferData){ if ( !isSupportedType(transferData) || transferData.pValue == 0 ) return null; int size = transferData.format * transferData.length / 8; if (size == 0) return null; byte[] buffer = new byte[size]; OS.memmove(buffer, transferData.pValue, size); char [] chars = Converter.mbcsToWcs (null, buffer); String string = new String (chars); int end = string.indexOf('\0'); return (end == -1) ? string : string.substring(0, end); }
@Override public boolean canPaste(Clipboard clipboard) { TransferData[] types = clipboard.getAvailableTypes(); Transfer[] transfers = new Transfer[] {TextTransfer.getInstance(), RTFTransfer.getInstance()}; for (TransferData type : types) { for (Transfer transfer : transfers) { if (transfer.isSupportedType(type)) return true; } } return false; } }
/** * This implementation of <code>javaToNative</code> converts RTF-formatted text * represented by a java <code>String</code> to a platform specific representation. * * @param object a java <code>String</code> containing RTF text * @param transferData an empty <code>TransferData</code> object that will * be filled in on return with the platform specific format of the data * * @see Transfer#nativeToJava */ @Override public void javaToNative (Object object, TransferData transferData){ transferData.result = 0; if (!checkRTF(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA); } String string = (String)object; byte [] buffer = Converter.wcsToMbcs (null, string, true); long /*int*/ pValue = OS.g_malloc(buffer.length); if (pValue == 0) return; OS.memmove(pValue, buffer, buffer.length); transferData.length = buffer.length - 1; transferData.format = 8; transferData.pValue = pValue; transferData.result = 1; }
@Override protected boolean validate(Object object) { return checkRTF(object); } }
/** * This implementation of <code>nativeToJava</code> converts a platform specific * representation of RTF text to a java <code>String</code>. * * @param transferData the platform specific representation of the data to be converted * @return a java <code>String</code> containing RTF text if the conversion was successful; * otherwise null * * @see Transfer#javaToNative */ @Override public Object nativeToJava(TransferData transferData){ if ( !isSupportedType(transferData) || transferData.pValue == 0 ) return null; int size = transferData.format * transferData.length / 8; if (size == 0) return null; byte[] buffer = new byte[size]; OS.memmove(buffer, transferData.pValue, size); char [] chars = Converter.mbcsToWcs (null, buffer); String string = new String (chars); int end = string.indexOf('\0'); return (end == -1) ? string : string.substring(0, end); }
@Override public boolean canPaste(Clipboard clipboard) { TransferData[] types = clipboard.getAvailableTypes(); Transfer[] transfers = new Transfer[] {TextTransfer.getInstance(), RTFTransfer.getInstance()}; for (TransferData type : types) { for (Transfer transfer : transfers) { if (transfer.isSupportedType(type)) return true; } } return false; }
/** * This implementation of <code>javaToNative</code> converts RTF-formatted text * represented by a java <code>String</code> to a platform specific representation. * * @param object a java <code>String</code> containing RTF text * @param transferData an empty <code>TransferData</code> object that will * be filled in on return with the platform specific format of the data * * @see Transfer#nativeToJava */ @Override public void javaToNative (Object object, TransferData transferData){ transferData.result = 0; if (!checkRTF(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA); } String string = (String)object; byte [] buffer = Converter.wcsToMbcs (null, string, true); int /*long*/ pValue = OS.g_malloc(buffer.length); if (pValue == 0) return; OS.memmove(pValue, buffer, buffer.length); transferData.length = buffer.length - 1; transferData.format = 8; transferData.pValue = pValue; transferData.result = 1; }