Example usage for org.eclipse.jface.viewers IStructuredSelection isEmpty

List of usage examples for org.eclipse.jface.viewers IStructuredSelection isEmpty

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers IStructuredSelection isEmpty.

Prototype

public boolean isEmpty();

Source Link

Document

Returns whether this selection is empty.

Usage

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();
    }
}