@Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchPart part = HandlerUtil.getActivePartChecked(event); ISelection selection = HandlerUtil.getCurrentSelectionChecked(event); if (part instanceof MarketDataView && selection instanceof IStructuredSelection) { MarketDataView view = (MarketDataView) part; IStructuredSelection sselection = (IStructuredSelection) selection; StringBuilder builder = new StringBuilder(); for (Object obj : sselection.toArray()) { if (obj instanceof MarketDataViewItem) { MarketDataViewItem item = (MarketDataViewItem) obj; builder.append(item); builder.append(System.getProperty("line.separator")); // $NON-NLS-1$ } } view.getClipboard() .setContents( new Object[] {builder.toString()}, new Transfer[] {TextTransfer.getInstance()}); } return null; }
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchPart part = HandlerUtil.getActivePartChecked(event); ISelection selection = HandlerUtil.getCurrentSelectionChecked(event); if (part instanceof MarketDataView && selection instanceof IStructuredSelection) { final MarketDataView view = (MarketDataView) part; final IStructuredSelection sselection = (IStructuredSelection) selection; // this can take some time view.busyRun( new Runnable() { public void run() { for (Object obj : sselection.toArray()) { if (obj instanceof MarketDataViewItem) { view.remove((MarketDataViewItem) obj); } } } }); } return null; }