List of usage examples for org.eclipse.jface.viewers IStructuredSelection isEmpty
public boolean isEmpty();
From source file:com.siteview.mde.internal.ui.editor.category.CategorySection.java
License:Open Source License
public void createClient(Section section, FormToolkit toolkit) { fModel = (ISiteModel) getPage().getModel(); fModel.addModelChangedListener(this); Composite container = createClientContainer(section, 2, toolkit); createViewerPartControl(container, SWT.MULTI, 2, toolkit); fCategoryTreePart = getTreePart();/*from w w w.j a v a 2 s.co m*/ fCategoryViewer = fCategoryTreePart.getTreeViewer(); fCategoryViewer.setContentProvider(new CategoryContentProvider()); fSiteLabelProvider = new CategoryLabelProvider(); fCategoryViewer.setLabelProvider(fSiteLabelProvider); fCategoryViewer.setInput(fModel.getSite()); int ops = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_DEFAULT; Transfer[] transfers = new Transfer[] { ModelDataTransfer.getInstance() }; if (isEditable()) { fCategoryViewer.addDropSupport(ops, transfers, new ViewerDropAdapter(fCategoryViewer) { public void dragEnter(DropTargetEvent event) { Object target = determineTarget(event); if (target == null && event.detail == DND.DROP_COPY) { event.detail = DND.DROP_MOVE; } super.dragEnter(event); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragOperationChanged(org.eclipse.swt.dnd.DropTargetEvent) */ public void dragOperationChanged(DropTargetEvent event) { Object target = determineTarget(event); if (target == null && event.detail == DND.DROP_COPY) { event.detail = DND.DROP_MOVE; } super.dragOperationChanged(event); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragOver(org.eclipse.swt.dnd.DropTargetEvent) */ public void dragOver(DropTargetEvent event) { Object target = determineTarget(event); if (target == null && event.detail == DND.DROP_COPY) { event.detail = DND.DROP_MOVE; } super.dragOver(event); } /** * Returns the position of the given event's coordinates * relative to its target. The position is determined to * be before, after, or on the item, based on some * threshold value. * * @param event * the event * @return one of the <code>LOCATION_* </code> * constants defined in this class */ protected int determineLocation(DropTargetEvent event) { if (!(event.item instanceof Item)) { return LOCATION_NONE; } Item item = (Item) event.item; Point coordinates = new Point(event.x, event.y); coordinates = getViewer().getControl().toControl(coordinates); if (item != null) { Rectangle bounds = getBounds(item); if (bounds == null) { return LOCATION_NONE; } } return LOCATION_ON; } public boolean performDrop(Object data) { if (!(data instanceof Object[])) return false; Object target = getCurrentTarget(); int op = getCurrentOperation(); Object[] objects = (Object[]) data; if (objects.length > 0 && objects[0] instanceof SiteFeatureAdapter) { if (op == DND.DROP_COPY && target != null) { copyFeature((SiteFeatureAdapter) objects[0], target); } else { moveFeature((SiteFeatureAdapter) objects[0], target); } return true; } return false; } public boolean validateDrop(Object target, int operation, TransferData transferType) { return (target instanceof ISiteCategoryDefinition || target == null); } }); } fCategoryViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, transfers, new DragSourceListener() { public void dragStart(DragSourceEvent event) { IStructuredSelection ssel = (IStructuredSelection) fCategoryViewer.getSelection(); if (ssel == null || ssel.isEmpty() || !(ssel.getFirstElement() instanceof SiteFeatureAdapter)) { event.doit = false; } } public void dragSetData(DragSourceEvent event) { IStructuredSelection ssel = (IStructuredSelection) fCategoryViewer.getSelection(); event.data = ssel.toArray(); } public void dragFinished(DragSourceEvent event) { } }); fCategoryTreePart.setButtonEnabled(BUTTON_ADD_CATEGORY, isEditable()); fCategoryTreePart.setButtonEnabled(BUTTON_ADD_FEATURE, isEditable()); // fCategoryViewer.expandAll(); toolkit.paintBordersFor(container); section.setClient(container); initialize(); }
From source file:com.siteview.mde.internal.ui.editor.feature.DataSection.java
License:Open Source License
private void handleDelete() { IStructuredSelection ssel = (IStructuredSelection) fDataViewer.getSelection(); if (ssel.isEmpty()) return;/*from www . j av a2 s. c o m*/ IFeatureModel model = (IFeatureModel) getPage().getModel(); if (!model.isEditable()) { return; } IFeature feature = model.getFeature(); try { IFeatureData[] removed = new IFeatureData[ssel.size()]; int i = 0; for (Iterator iter = ssel.iterator(); iter.hasNext();) { IFeatureData iobj = (IFeatureData) iter.next(); removed[i++] = iobj; } feature.removeData(removed); } catch (CoreException e) { MDEPlugin.logException(e); } }
From source file:com.siteview.mde.internal.ui.editor.feature.IncludedFeaturesSection.java
License:Open Source License
private void handleDelete() { IStructuredSelection ssel = (IStructuredSelection) fIncludesViewer.getSelection(); if (ssel.isEmpty()) return;/*from w w w .j a v a 2 s. com*/ IFeatureModel model = (IFeatureModel) getPage().getModel(); if (!model.isEditable()) { return; } IFeature feature = model.getFeature(); try { IFeatureChild[] removed = new IFeatureChild[ssel.size()]; int i = 0; for (Iterator iter = ssel.iterator(); iter.hasNext();) { IFeatureChild iobj = (IFeatureChild) iter.next(); removed[i++] = iobj; } feature.removeIncludedFeatures(removed); } catch (CoreException e) { MDEPlugin.logException(e); } }
From source file:com.siteview.mde.internal.ui.editor.feature.PluginSection.java
License:Open Source License
private void handleDelete() { IStructuredSelection ssel = (IStructuredSelection) fPluginViewer.getSelection(); if (ssel.isEmpty()) return;/*from ww w . j ava2s. c o m*/ IFeatureModel model = (IFeatureModel) getPage().getModel(); if (!model.isEditable()) { return; } IFeature feature = model.getFeature(); try { IFeaturePlugin[] removed = new IFeaturePlugin[ssel.size()]; int i = 0; for (Iterator iter = ssel.iterator(); iter.hasNext();) { IFeaturePlugin iobj = (IFeaturePlugin) iter.next(); removed[i++] = iobj; } feature.removePlugins(removed); } catch (CoreException e) { MDEPlugin.logException(e); } }
From source file:com.siteview.mde.internal.ui.editor.feature.RequiresSection.java
License:Open Source License
private void handleDelete() { IFeatureModel model = (IFeatureModel) getPage().getModel(); if (!model.isEditable()) { return;//ww w . j a v a 2 s . co m } IFeature feature = model.getFeature(); IStructuredSelection selection = (IStructuredSelection) fPluginViewer.getSelection(); if (selection.isEmpty()) return; try { IFeatureImport[] deleted = new IFeatureImport[selection.size()]; int i = 0; for (Iterator iter = selection.iterator(); iter.hasNext();) { IFeatureImport iimport = (IFeatureImport) iter.next(); deleted[i++] = iimport; } feature.removeImports(deleted); } catch (CoreException e) { MDEPlugin.logException(e); } }
From source file:com.siteview.mde.internal.ui.editor.feature.RequiresSection.java
License:Open Source License
protected void fillContextMenu(IMenuManager manager) { IStructuredSelection selection = (StructuredSelection) fPluginViewer.getSelection(); if (!selection.isEmpty()) { manager.add(fDeleteAction);//from ww w . jav a 2 s . co m manager.add(new Separator()); } getPage().getMDEEditor().getContributor().contextMenuAboutToShow(manager); manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); }
From source file:com.siteview.mde.internal.ui.editor.feature.URLSection.java
License:Open Source License
private void handleDelete() { IStructuredSelection ssel = (IStructuredSelection) fUrlViewer.getSelection(); if (ssel.isEmpty()) return;/* www .j a v a 2s . co m*/ IFeatureModel model = (IFeatureModel) getPage().getModel(); if (!model.isEditable()) { return; } IFeature feature = model.getFeature(); IFeatureURL url = feature.getURL(); if (url == null) { return; } for (Iterator iter = ssel.iterator(); iter.hasNext();) { IFeatureURLElement urlElement = (IFeatureURLElement) iter.next(); // IFeature feature = urlElement.getFeature(); try { url.removeDiscovery(urlElement); } catch (CoreException e) { MDEPlugin.logException(e); } } }
From source file:com.siteview.mde.internal.ui.editor.monitor.ExtensionPointsSection.java
License:Open Source License
protected void handleDoubleClick(IStructuredSelection selection) { if (!selection.isEmpty()) { MonitorExtensionPointNode extensionPoint = (MonitorExtensionPointNode) selection.getFirstElement(); String pointID = extensionPoint.getId(); // For some stupid reason extensionPoint.getFullId() does not return the full id. IBaseModel model = getPage().getMDEEditor().getAggregateModel(); String basePointID = ((IMonitorModelBase) model).getMonitorBase().getId(); pointID = basePointID + '.' + pointID; OpenSchemaAction action = new OpenSchemaAction(); action.setInput(pointID);/*from ww w.j a v a2s. com*/ action.run(); } }
From source file:com.siteview.mde.internal.ui.editor.monitor.ExtensionsSection.java
License:Open Source License
private void handleDelete() { IStructuredSelection sel = (IStructuredSelection) fExtensionTree.getSelection(); if (sel.isEmpty()) return;/*www. jav a 2 s. co m*/ for (Iterator iter = sel.iterator(); iter.hasNext();) { IMonitorObject object = (IMonitorObject) iter.next(); try { IStructuredSelection newSelection = null; boolean sorted = fSortAction != null && fSortAction.isChecked(); if (object instanceof IMonitorElement) { IMonitorElement ee = (IMonitorElement) object; IMonitorParent parent = (IMonitorParent) ee.getParent(); if (!sorted) { int index = getNewSelectionIndex(parent.getIndexOf(ee), parent.getChildCount()); newSelection = index == -1 ? new StructuredSelection(parent) : new StructuredSelection(parent.getChildren()[index]); } else { IMonitorObject original[] = parent.getChildren(); IMonitorObject objects[] = new IMonitorObject[original.length]; for (int i = 0; i < original.length; i++) objects[i] = original[i]; fExtensionTree.getComparator().sort(fExtensionTree, objects); int index = getNewSelectionIndex(getArrayIndex(objects, ee), objects.length); newSelection = index == -1 ? new StructuredSelection(parent) : new StructuredSelection(objects[index]); } parent.remove(ee); } else if (object instanceof IMonitorExtension) { IMonitorExtension extension = (IMonitorExtension) object; IMonitorBase plugin = extension.getMonitorBase(); if (!sorted) { int index = getNewSelectionIndex(plugin.getIndexOf(extension), plugin.getExtensions().length); if (index != -1) newSelection = new StructuredSelection(plugin.getExtensions()[index]); } else { IMonitorExtension original[] = plugin.getExtensions(); IMonitorExtension extensions[] = new IMonitorExtension[original.length]; for (int i = 0; i < original.length; i++) extensions[i] = original[i]; fExtensionTree.getComparator().sort(fExtensionTree, extensions); int index = getNewSelectionIndex(getArrayIndex(extensions, extension), extensions.length); if (index != -1) newSelection = new StructuredSelection(extensions[index]); } plugin.remove(extension); } if (newSelection != null) fExtensionTree.setSelection(newSelection); } catch (CoreException e) { MDEPlugin.logException(e); } } }
From source file:com.siteview.mde.internal.ui.editor.monitor.RequiresSection.java
License:Open Source License
private void handleRemove() { IStructuredSelection ssel = (IStructuredSelection) fImportViewer.getSelection(); if (!ssel.isEmpty()) { IMonitorModelBase model = (IMonitorModelBase) getPage().getModel(); IMonitorBase pluginBase = model.getMonitorBase(); IMonitorImport[] imports = new IMonitorImport[ssel.size()]; int i = 0; for (Iterator iter = ssel.iterator(); iter.hasNext(); i++) imports[i] = ((ImportObject) iter.next()).getImport(); try {// w w w . j av a 2 s . c om removeImports(pluginBase, imports); } catch (CoreException e) { MDEPlugin.logException(e); } updateButtons(); } }