From: Patric Plitzner
ID="eu.etaxonomy.taxeditor.store.datasource"{trunked}
*/
public static String ID = "eu.etaxonomy.taxeditor.view.datasource"; //$NON-NLS-1$
-
+
private TableViewer viewer;
private String partNameCache;
private IWorkbenchSiteProgressService service;
-
+
private IContextListener contextListener;
private CdmDataSourceViewerComparator comparator;
-
+
/**
* Constructor for CdmDataSourceViewPart.
*/ public CdmDataSourceViewPart(){ } - + /** {@inheritDoc} */ @Override public void createPartControl(Composite parent) { service = (IWorkbenchSiteProgressService) getSite().getAdapter(IWorkbenchSiteProgressService.class); contextListener = new ContextListener(); CdmStore.getContextManager().addContextListener(contextListener); - + // Create top composite FillLayout fillLayout = new FillLayout(); fillLayout.marginWidth = 0; fillLayout.marginHeight = 0; - fillLayout.type = SWT.VERTICAL; + fillLayout.type = SWT.VERTICAL; parent.setLayout(fillLayout); - + viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); getSite().setSelectionProvider(viewer); - + createColumns(viewer); - + viewer.setContentProvider(new CdmDataSourceContentProvider()); viewer.setLabelProvider(new CdmDataSourceLabelProvider()); comparator = new CdmDataSourceViewerComparator(); viewer.setComparator(comparator); - - + + // register context menu MenuManager menuMgr = new MenuManager(); menuMgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); @@ -212,26 +222,27 @@ public class CdmDataSourceViewPart extends ViewPart{ Control control = viewer.getControl(); Menu menu = menuMgr.createContextMenu(control); - control.setMenu(menu); - + control.setMenu(menu); + // connect on doubleclick viewer.addDoubleClickListener(new IDoubleClickListener() { - public void doubleClick(DoubleClickEvent event) { + @Override + public void doubleClick(DoubleClickEvent event) { if (event.getSelection() instanceof StructuredSelection) { - + Object element = ((StructuredSelection) event .getSelection()).getFirstElement(); if (element instanceof CdmMetaDataAwareDataSourceContainer) { String commandId = "eu.etaxonomy.taxeditor.store.datasource.change"; //$NON-NLS-1$ - + ICommandService commandService = (ICommandService)getSite().getService(ICommandService.class); - - Command command = commandService.getCommand(commandId); + + Command command = commandService.getCommand(commandId); if(command.isEnabled()) { - + IHandlerService handlerService = (IHandlerService) StoreUtil.getService(IHandlerService.class); - + try { handlerService.executeCommand(commandId, null); } catch (ExecutionException e) { @@ -248,11 +259,11 @@ public class CdmDataSourceViewPart extends ViewPart{ } } }); - + refresh(); } - + // This will create the columns for the table private void createColumns(TableViewer viewer) { Table table = viewer.getTable(); @@ -273,13 +284,13 @@ public class CdmDataSourceViewPart extends ViewPart{ table.setHeaderVisible(true); table.setLinesVisible(true); table.setSortDirection(SWT.UP); - + } - + /** *refresh
*/ - public void refresh(){ + public void refresh(){ getService().schedule(new DataSourceJob(Messages.CdmDataSourceViewPart_1, CdmDataSourceRepository.getAll()), Job.LONG); } @@ -296,7 +307,7 @@ public class CdmDataSourceViewPart extends ViewPart{ viewer.getControl().setFocus(); } - + /* (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#showBusy(boolean) */ @@ -332,7 +343,7 @@ public class CdmDataSourceViewPart extends ViewPart{ public IWorkbenchSiteProgressService getService() { return service; } - + private SelectionAdapter getSelectionAdapter(final TableColumn column, final int index) { SelectionAdapter selectionAdapter = new SelectionAdapter() {