/** * This implementation of <code>javaToNative</code> converts HTML-formatted * text represented by a java <code>String</code> to a platform specific * representation. * * @param object a java <code>String</code> containing HTML 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( !checkHTML( object ) || !isSupportedType( transferData ) ) { DND.error( DND.ERROR_INVALID_DATA ); } transferData.data = object; transferData.result = 1; }
@Override public TransferData[] getSupportedTypes() { return htmlTransfer.getSupportedTypes(); }
@Override public boolean isSupportedType(TransferData transferData) { return htmlTransfer.isSupportedType(transferData); }
@Override protected boolean validate(Object object) { return checkHTML(object); } }
@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
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;
if (textData.length() > 0) { status.setText(""); clipboard.setContents(new Object[] {textData}, new Transfer[] {HTMLTransfer.getInstance()}); } else { status.setText("No HTML to copy"); b.setText("Paste"); b.addSelectionListener(widgetSelectedAdapter(e -> { String textData = (String)clipboard.getContents(HTMLTransfer.getInstance()); if (textData != null && textData.length() > 0) { status.setText("");
/** * This implementation of <code>nativeToJava</code> converts a platform * specific representation of HTML 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 HTML 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; }
protected boolean validate( Object object ) { return checkHTML( object ); } }
if (TextTransfer.getInstance().isSupportedType(event.currentDataType) || RTFTransfer.getInstance().isSupportedType(event.currentDataType) || HTMLTransfer.getInstance().isSupportedType(event.currentDataType) || URLTransfer.getInstance().isSupportedType(event.currentDataType)) { strings = new String[] {(String)event.data};
return FileTransfer.getInstance(); }else if("HTML".equals(selfType)){ return HTMLTransfer.getInstance(); }else if("Image".equals(selfType)){ return ImageTransfer.getInstance();
/** * This implementation of <code>javaToNative</code> converts HTML-formatted text * represented by a java <code>String</code> to a platform specific representation. * * @param object a java <code>String</code> containing HTML 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 (!checkHTML(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA); } transferData.data = NSString.stringWith((String) object); }
/** * This implementation of <code>nativeToJava</code> converts a platform specific * representation of HTML 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 HTML 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 protected boolean validate(Object object) { return checkHTML(object); } }
Button eb = (Button) e.widget; if (eb.getSelection()) { addDropTransfer(HTMLTransfer.getInstance()); } else { removeDropTransfer(HTMLTransfer.getInstance());
if (!checkHTML(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA);
if ( !isSupportedType(transferData) || transferData.pValue == 0 ) return null;
@Override protected boolean validate(Object object) { return checkHTML(object); } }
Button b2 = (Button) e.widget; if (b2.getSelection()) { addDragTransfer(HTMLTransfer.getInstance()); } else { removeDragTransfer(HTMLTransfer.getInstance());
/** * This implementation of <code>javaToNative</code> converts HTML-formatted text * represented by a java <code>String</code> to a platform specific representation. * * @param object a java <code>String</code> containing HTML 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 (!checkHTML(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA); } String string = (String)object; byte[] utf8 = Converter.wcsToMbcs(null, string, true); int byteCount = utf8.length; int /*long*/ pValue = OS.g_malloc(byteCount); if (pValue == 0) return; OS.memmove(pValue, utf8, byteCount); transferData.length = byteCount; transferData.format = 8; transferData.pValue = pValue; transferData.result = 1; }