if (display == null) DND.error(SWT.ERROR_WIDGET_DISPOSED); if (display.isDisposed()) DND.error(SWT.ERROR_DEVICE_DISPOSED);
checkWidget();
public String[] getAvailableTypeNames() {	if (display == null) DND.error(SWT.ERROR_WIDGET_DISPOSED);	if (display.isDisposed()) DND.error(SWT.ERROR_DEVICE_DISPOSED);	FORMATETC[] types = _getAvailableTypes();	String[] names = new String[types.length];	int maxSize = 128;	for (int i = 0; i < types.length; i++){		TCHAR buffer = new TCHAR(0, maxSize);		int size = COM.GetClipboardFormatName(types[i].cfFormat, buffer, maxSize);		if (size != 0) {			names[i] = buffer.toString(0, size);		} else {			switch (types[i].cfFormat) {				case COM.CF_HDROP: names[i] = "CF_HDROP"; break; //$NON-NLS-1$				case COM.CF_TEXT: names[i] = "CF_TEXT"; break; //$NON-NLS-1$				case COM.CF_BITMAP: names[i] = "CF_BITMAP"; break; //$NON-NLS-1$				case COM.CF_METAFILEPICT: names[i] = "CF_METAFILEPICT"; break; //$NON-NLS-1$				case COM.CF_SYLK: names[i] = "CF_SYLK"; break; //$NON-NLS-1$				case COM.CF_DIF: names[i] = "CF_DIF"; break; //$NON-NLS-1$				case COM.CF_TIFF: names[i] = "CF_TIFF"; break; //$NON-NLS-1$				case COM.CF_OEMTEXT: names[i] = "CF_OEMTEXT"; break; //$NON-NLS-1$				case COM.CF_DIB: names[i] = "CF_DIB"; break; //$NON-NLS-1$				case COM.CF_PALETTE: names[i] = "CF_PALETTE"; break; //$NON-NLS-1$				case COM.CF_PENDATA: names[i] = "CF_PENDATA"; break; //$NON-NLS-1$				case COM.CF_RIFF: names[i] = "CF_RIFF"; break; //$NON-NLS-1$				case COM.CF_WAVE: names[i] = "CF_WAVE"; break; //$NON-NLS-1$				case COM.CF_UNICODETEXT: names[i] = "CF_UNICODETEXT"; break; //$NON-NLS-1$				case COM.CF_ENHMETAFILE: names[i] = "CF_ENHMETAFILE"; break; //$NON-NLS-1$				case COM.CF_LOCALE: names[i] = "CF_LOCALE"; break; //$NON-NLS-1$				case COM.CF_MAX: names[i] = "CF_MAX"; break; //$NON-NLS-1$				default: names[i] = "UNKNOWN";			}		}	}	return names;}