+
+ IHandlerService serv = (IHandlerService) getSite().getService(IHandlerService.class);
+ serv.activateHandler(org.eclipse.ui.IWorkbenchCommandConstants.EDIT_COPY, new CopyHandler());
+ }
+
+ class CopyHandler extends AbstractHandler {
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ IStructuredSelection selection = tableViewer.getStructuredSelection();
+ if(!selection.isEmpty()) {
+ StringBuilder b = new StringBuilder();
+ for(Iterator it=selection.iterator();it.hasNext();) {
+ SCLIssuesTableEntry entry = (SCLIssuesTableEntry)it.next();
+ b.append(entry.moduleName).append('\t').append(entry.error.description).append('\n');
+ }
+ clipboard.setContents(new Object[] { b.toString() }, new Transfer[] { TextTransfer.getInstance() });
+ }
+ return null;
+ }