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

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

Introduction

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

Prototype

public Object[] toArray();

Source Link

Document

Returns the elements in this selection as an array.

Usage

From source file:com.nokia.tools.variant.resourcelibrary.actions.RenameResourceAction.java

License:Open Source License

@Override
public void run() {
    CommandStack stack = page.getCommandStack();
    IStructuredSelection sel = getStructuredSelection();

    List<ResourceStorage> resources = new ArrayList<ResourceStorage>();
    for (Object obj : sel.toArray()) {
        if (obj instanceof ResourceStorage) {
            resources.add((ResourceStorage) obj);
        }/*ww w .ja v a  2  s .c o m*/
    }

    Shell shell = ((IPageBookViewPage) page).getSite().getShell();

    // Fetch selection
    Object element = sel.getFirstElement();
    FileSystemElement fse = ((ResourceStorage) element).getFileSystemElement();
    Directory target = (Directory) fse.eContainer();

    // Launch a dialog for fetching folder, check existence of the folder
    RenameResourceDialog diag = new RenameResourceDialog(shell, target);
    diag.setInitialSelections(new String[] { fse.getName() });
    if (diag.open() != RenameResourceDialog.OK) {
        return;
    }
    String newName = (String) diag.getFirstResult();
    Command cmd = RenameCommand.createRenameCommand(fse, newName);

    if (cmd.canExecute()) {
        stack.execute(cmd);
    } else {
        cmd.dispose();
    }

}

From source file:com.nokia.tools.variant.viewer.viewer.SettingsViewer.java

License:Open Source License

private Widget getFocussedItem() {
    IStructuredSelection selection = (IStructuredSelection) getSelection();
    Object[] array = selection.toArray();
    for (Object object : array) {
        Widget doFindItem = doFindItem(object);
        if (doFindItem instanceof Composite) {
            Composite comp = (Composite) doFindItem;
            if (comp.isFocusControl()) {
                return comp;
            }/*from  w ww.j a v  a 2s .c o  m*/
            Control[] children = comp.getChildren();
            for (Control control : children) {
                if (control.isFocusControl()) {
                    return comp;
                }
                if (control instanceof Composite) {
                    Control[] children2 = ((Composite) control).getChildren();
                    for (Control control2 : children2) {
                        if (control2.isFocusControl()) {
                            return comp;
                        }
                    }
                }
            }
        }
    }
    return null;
}

From source file:com.nokia.tools.vct.appshell.appshellmodel.presentation.EAppshellModelEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc --> <!-- end-user-doc -->
 * //ww w .ja  v  a 2s  . c om
 * @generated
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), EAppshellModelEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setInput(rootDocument);
            selectionViewer.setSelection(new StructuredSelection(rootDocument), true);
            selectionViewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
                public void selectionChanged(SelectionChangedEvent event) {
                    IStructuredSelection ss = (IStructuredSelection) event.getSelection();
                    Object[] selected = ss.toArray();
                    if (selected.length == 0 || previewViewPage == null) {
                        return;
                    }

                    ITreeItemContentProvider tic = (ITreeItemContentProvider) adapterFactory.adapt(selected[0],
                            ITreeItemContentProvider.class);
                    Object parent = tic.getParent(selected[0]);
                    for (Object obj : selected) {
                        tic = (ITreeItemContentProvider) adapterFactory.adapt(obj,
                                ITreeItemContentProvider.class);
                        Object tmp = tic.getParent(obj);
                        if (parent != tmp) {
                            return;
                        }
                    }
                    while (parent instanceof DelegatingWrapperItemProvider) {
                        parent = ((DelegatingWrapperItemProvider) parent).getValue();
                    }
                    if (parent instanceof FeatureMap.Entry) {
                        parent = ((FeatureMap.Entry) parent).getValue();
                    }

                    if (parent instanceof EDataElement) {
                        parent = ((EDataElement) parent).getFolder();
                    }
                    if (parent instanceof EAppshellDocument) {
                        parent = ((EAppshellDocument) parent).getData().getFolder();
                    }

                    EditPart contents = previewViewPage.getViewer().getContents();
                    Object model = contents == null ? null : contents.getModel();
                    if (model != parent) {
                        previewViewPage.getViewer().setContents(parent);
                    }
                    List<Object> unwrapped = new ArrayList<Object>();
                    for (Object obj : selected) {
                        while (obj instanceof DelegatingWrapperItemProvider) {
                            obj = ((DelegatingWrapperItemProvider) obj).getValue();
                        }
                        if (obj instanceof FeatureMap.Entry) {
                            obj = ((FeatureMap.Entry) obj).getValue();
                        }
                        unwrapped.add(obj);
                    }
                    previewViewPage.setSelection(new StructuredSelection(unwrapped));
                }
            });
            viewerPane.setTitle("Tree Model");

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:com.nokia.tools.vct.appshell.appshellmodel.presentation.GraphicalViewerWrapper.java

License:Open Source License

@Override
public ISelection getSelection() {
    IStructuredSelection ss = (IStructuredSelection) delegate.getSelection();
    Object[] src = ss.toArray();
    Object[] dst = new Object[src.length];
    for (int i = 0; i < src.length; i++) {
        dst[i] = ((EditPart) src[i]).getModel();
    }//  ww w. j  av a 2 s .  c om
    return new StructuredSelection(dst);
}

From source file:com.nokia.tools.vct.confml.editor.view.actions.DeleteAction.java

License:Open Source License

@Override
public void run() {
    super.run();// w w  w  .  j a v a2s. c o  m

    List<EObject> list = new ArrayList<EObject>();
    IStructuredSelection selection = (IStructuredSelection) editor.getViewTv().getSelection();
    Object[] selected = selection.toArray();
    for (Object o : selected) {
        if (o instanceof EGroup || o instanceof ESettingRef || o instanceof ERefOption
                || o instanceof ERefProperty || o instanceof EView) { //no further check of the view, but delete should be enabled only for views included directly under root view
            list.add((EObject) o);
        }
    }
    DeleteCommand dc = new DeleteCommand(editor, list);
    editor.getCommandStack().execute(dc);
}

From source file:com.nokia.tools.vct.confml.editor.view.ViewsEditor.java

License:Open Source License

/**
 * Drop adapter for Drag and Drop/*from w ww  . j  a  v  a  2 s . c o m*/
 * 
 * @return
 */
private DropTargetAdapter getDropTargetAdapter() {
    return new DropTargetAdapter() {

        public void dragOver(DropTargetEvent event) {

            ISelection selection = LocalSelectionTransfer.getTransfer().getSelection();
            if (!(selection instanceof IStructuredSelection) || selection.isEmpty()) {
                event.feedback = DND.DROP_NONE;
                event.detail = DND.DROP_NONE;
                return;
            }

            Object[] dropped = ((IStructuredSelection) selection).toArray();

            // combined drops are not supported...
            boolean hadFeatureOrSettingOrReference = false;
            boolean hadGroup = false;
            boolean hadView = false;

            for (Object obj : dropped) {
                if (obj instanceof ESetting || obj instanceof EFeature || obj instanceof EAppSetting
                        || obj instanceof EAppFeature) {
                    hadFeatureOrSettingOrReference = true;
                    if (hadGroup) {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                } else if (obj instanceof ESettingRef) {
                    if (!isFromRootView((EObject) obj)) {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                    hadFeatureOrSettingOrReference = true;
                    if (hadGroup) {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                } else if (obj instanceof EGroup) {
                    if (!isFromRootView((EObject) obj)) {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                    hadGroup = true;
                    if (hadFeatureOrSettingOrReference) {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                } else if (obj instanceof EView) {
                    if (!isViewUnderRoot((EObject) obj)) {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                    hadView = true;
                } else {
                    event.feedback = DND.DROP_NONE;
                    event.detail = DND.DROP_NONE;
                    return;
                }
            }

            if (event.item == null) {
                event.feedback = DND.DROP_NONE;
                event.detail = DND.DROP_NONE;
                return;
            }

            if (!hadFeatureOrSettingOrReference && !hadGroup && !hadView) {
                event.feedback = DND.DROP_NONE;
                event.detail = DND.DROP_NONE;
                return;
            }

            event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL;
            event.detail = DND.DROP_MOVE;

            TreeItem item = (TreeItem) event.item;

            Point pt = Display.getCurrent().map(null, viewTv.getTree(), event.x, event.y);
            Rectangle bounds = item.getBounds();

            // we are either dropping (moving) groups or refs
            if (hadGroup) {
                // only group and view selection is allowed
                if (item.getData() instanceof EGroup) {

                    if (isFromRootView((EGroup) item.getData())) {
                        if (pt.y < bounds.y + bounds.height / 3) {
                            event.feedback |= DND.FEEDBACK_INSERT_BEFORE;
                        } else if (pt.y > bounds.y + 2 * bounds.height / 3) {
                            event.feedback |= DND.FEEDBACK_INSERT_AFTER;
                        } else {
                            event.feedback |= DND.FEEDBACK_SELECT;
                        }
                    } else {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                } else if (item.getData() instanceof EView) {
                    if (pt.y < bounds.y + bounds.height / 3) {
                        event.feedback |= DND.FEEDBACK_INSERT_BEFORE;
                    } else if (pt.y > bounds.y + 2 * bounds.height / 3) {
                        event.feedback |= DND.FEEDBACK_INSERT_AFTER;
                    } else {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                } else {
                    event.feedback = DND.DROP_NONE;
                    event.detail = DND.DROP_NONE;
                    return;
                }
            } else if (hadView) {
                Object treeRootObject = viewTv.getTree().getItems()[0].getData();
                if (item.getData() == treeRootObject)
                    event.feedback |= DND.FEEDBACK_SELECT;
                else if (item.getParentItem().getData() == treeRootObject) {
                    if (pt.y < bounds.y + bounds.height / 3) {
                        event.feedback |= DND.FEEDBACK_INSERT_BEFORE;
                    } else if (pt.y > bounds.y + 2 * bounds.height / 3) {
                        event.feedback |= DND.FEEDBACK_INSERT_AFTER;
                    } else {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                } else {
                    event.feedback = DND.DROP_NONE;
                    event.detail = DND.DROP_NONE;
                    return;
                }
            } else {
                // Group and another reference is allowed
                if (item.getData() instanceof EGroup) {
                    if (!isFromRootView((EGroup) item.getData())) {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }

                    event.feedback |= DND.FEEDBACK_SELECT;
                } else if (item.getData() instanceof ESettingRef) {

                    if (!isFromRootView((ESettingRef) item.getData())) {
                        event.feedback = DND.DROP_NONE;
                        event.detail = DND.DROP_NONE;
                        return;
                    }

                    if (pt.y < bounds.y + bounds.height / 2) {
                        event.feedback |= DND.FEEDBACK_INSERT_BEFORE;
                    } else {
                        event.feedback |= DND.FEEDBACK_INSERT_AFTER;
                    }
                } else {
                    event.feedback = DND.DROP_NONE;
                    event.detail = DND.DROP_NONE;
                    return;
                }
            }
        }

        public void dropAccept(DropTargetEvent event) {

            ISelection selection = LocalSelectionTransfer.getTransfer().getSelection();
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection s = (IStructuredSelection) selection;
                Object[] dropped = s.toArray();

                // combined drops are not supported...
                boolean hadFeatureOrSetting = false;
                boolean hadGroup = false;
                boolean hadSettingReference = false;
                boolean hadView = false;

                for (Object obj : dropped) {
                    if (obj instanceof ESetting || obj instanceof EFeature || obj instanceof EAppSetting
                            || obj instanceof EAppFeature) {
                        hadFeatureOrSetting = true;

                        if (hadGroup || hadSettingReference || hadView) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                    } else if (obj instanceof EGroup) {
                        hadGroup = true;

                        if (hadFeatureOrSetting || hadSettingReference || hadView) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                    } else if (obj instanceof EView) {
                        hadView = true;
                        if (hadGroup || hadSettingReference || hadFeatureOrSetting) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                    } else if (obj instanceof ESettingRef) {
                        hadSettingReference = true;

                        if (hadFeatureOrSetting || hadGroup) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                    } else {
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                }

            } else {
                event.detail = DND.DROP_NONE;
            }
            isDirty = true;
        }

        public void drop(DropTargetEvent event) {
            ISelection selection = (ISelection) event.data;
            List<?> dropped = Collections.emptyList();
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection s = (IStructuredSelection) selection;
                dropped = s.toList();
            }
            if (dropped.isEmpty()) {
                return;
            }

            TreeItem item = (TreeItem) event.item;
            Point pt = Display.getCurrent().map(null, viewTv.getTree(), event.x, event.y);
            Rectangle bounds = item.getBounds();
            int operation;
            if (pt.y < bounds.y + bounds.height / 3) {
                // prepend
                operation = DND.FEEDBACK_INSERT_BEFORE;
            } else if (pt.y > bounds.y + 2 * bounds.height / 3) {
                // append
                operation = DND.FEEDBACK_INSERT_AFTER;
            } else {
                // add child
                operation = DND.FEEDBACK_SELECT;
            }

            List<ESettingRef> added = new ArrayList<ESettingRef>(dropped.size());
            List<EGroup> movedGroups = new ArrayList<EGroup>(dropped.size());
            List<EView> movedViews = new ArrayList<EView>(dropped.size());
            List<ESettingRef> movedRefs = new ArrayList<ESettingRef>(dropped.size());
            List<EView> includedViews = new ArrayList<EView>(dropped.size());
            for (Object obj : dropped) {
                ESettingRef ref = null;
                if (obj instanceof EFeature) {
                    EFeature feature = (EFeature) obj;
                    // move only rest setting in feature
                    //
                    // final EMap<String, ESetting> map = feature
                    // .getSettings();
                    // EList<ESettingRef> foundedSettings =
                    // getUnsortedSetting(
                    // feature, item);
                    // for (int i = 0; i < map.size(); i++) {
                    // Entry<String, ESetting> entry = map.get(i);
                    // ESetting setting = (ESetting) entry.getValue();
                    // ref = EViewEditorFactory.eINSTANCE
                    // .createESettingRef();
                    // ref.setFeatureId(getObjectId(feature));
                    // ref.setSettingId(getObjectId(setting));
                    // boolean add = true;
                    // for (ESettingRef set : foundedSettings) {
                    // if (set.getSettingId() == ref.getSettingId()) {
                    // add = false;
                    // }
                    // }
                    // if (add) {
                    // added.add(ref);
                    // }
                    // }
                    ref = null;

                    ref = EViewEditorFactory.eINSTANCE.createESettingRef();
                    ref.setFeatureId(getObjectId(feature));
                    ref.setSettingId("*");

                } else if (obj instanceof EAppFeature) {
                    /*
                     * final EMap<String, ESetting> map =
                     * feature.getSettings(); for(int i=0;i<map.size();i++){
                     * Entry entry = map.get(i); ESetting setting =
                     * (ESetting)entry.getValue(); ref =
                     * EViewEditorFactory.eINSTANCE.createESettingRef();
                     * ref.setFeatureId(((EAppFeature)
                     * obj).getType().getId()); if(i==0){
                     * ref.setSettingId("*"+getObjectId(setting)); }else{
                     * ref.setSettingId(getObjectId(setting)); }
                     * added.add(ref); }
                     */

                    ref = EViewEditorFactory.eINSTANCE.createESettingRef();
                    ref.setFeatureId(ConverterUtils.getFeatureId((EAppFeature) obj));
                    ref.setSettingId("*");
                } else if (obj instanceof ESetting) {
                    ESetting setting = (ESetting) obj;
                    if (setting.eContainer().eContainer() instanceof EFeature) {
                        EFeature feature = (EFeature) setting.eContainer().eContainer();
                        ref = EViewEditorFactory.eINSTANCE.createESettingRef();
                        ref.setFeatureId(getObjectId(feature));
                        ref.setSettingId(getObjectId(setting));
                    } else if (setting.eContainer().eContainer() instanceof ESetting) {
                        ESetting parentSetting = (ESetting) setting.eContainer().eContainer();
                        EFeature feature = (EFeature) parentSetting.eContainer().eContainer();
                        ref = EViewEditorFactory.eINSTANCE.createESettingRef();
                        ref.setFeatureId(getObjectId(feature));
                        ref.setSettingId(getObjectId(parentSetting) + "/" + getObjectId(setting));
                    }

                } else if (obj instanceof EAppSetting) {
                    EAppSetting setting = (EAppSetting) obj;
                    EAppFeature feature = (EAppFeature) setting.eContainer();

                    ref = EViewEditorFactory.eINSTANCE.createESettingRef();
                    ref.setFeatureId(ConverterUtils.getFeatureId(feature));
                    ref.setSettingId(ConverterUtils.getSettingId(setting));
                } else if (obj instanceof EGroup) {
                    movedGroups.add((EGroup) obj);
                } else if (obj instanceof ESettingRef) {
                    movedRefs.add((ESettingRef) obj);
                } else if (obj instanceof EView) {
                    EView includedView = (EView) obj;
                    if (includedView.eContainer() instanceof EView)
                        movedViews.add(includedView);
                    else {
                        includedViews.add(copyView(includedView));
                    }
                }
                if (ref != null) {
                    added.add(ref);
                }
            }

            if (!added.isEmpty()) {
                Object data = item.getData();
                int index;
                EGroup parentGroup;
                if (data instanceof ESettingRef) {
                    ESettingRef ref = (ESettingRef) data;
                    parentGroup = (EGroup) ref.eContainer();

                    if (operation == DND.FEEDBACK_INSERT_BEFORE) {
                        index = parentGroup.getRefs().indexOf(ref);
                    } else {
                        index = parentGroup.getRefs().indexOf(ref) + 1;
                    }
                } else if (data instanceof EGroup) {
                    parentGroup = (EGroup) data;
                    index = parentGroup.getRefs().size();
                } else {
                    return;
                }

                AddSettingCommand addSettingCommand = new AddSettingCommand(ViewsEditor.this, parentGroup,
                        index, ArrayUtils.createCopy(ESettingRef.class, added));
                getCommandStack().execute(addSettingCommand);
                refreshConfmlTree();
            }
            if (!movedViews.isEmpty()) {
                Object data = item.getData();
                int index;
                EGroupContainer parentContainer;
                if (data instanceof EView) {
                    switch (operation) {
                    case DND.FEEDBACK_INSERT_AFTER:
                        parentContainer = (EGroupContainer) ((EView) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data) + 1;
                        break;
                    case DND.FEEDBACK_INSERT_BEFORE:
                        parentContainer = (EGroupContainer) ((EView) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data);
                        break;
                    default:
                        return;
                    }
                } else if (data instanceof EGroup) {
                    switch (operation) {
                    case DND.FEEDBACK_INSERT_AFTER:
                        parentContainer = (EGroupContainer) ((EGroup) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data) + 1;
                        break;
                    case DND.FEEDBACK_INSERT_BEFORE:
                        parentContainer = (EGroupContainer) ((EGroup) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data);
                        break;
                    default:
                        return;
                    }
                } else {
                    return;
                }
                Set<EGroupContainer> stack = new HashSet<EGroupContainer>();
                EGroupContainer ptr = parentContainer;
                while (!(ptr instanceof EView)) {
                    stack.add(ptr);
                    ptr = (EGroupContainer) ptr.eContainer();
                }
                boolean error = false;
                if (!stack.isEmpty()) {
                    error = stack.removeAll(movedGroups);
                }
                if (!error) {
                    MoveViewsCommand command = new MoveViewsCommand(ViewsEditor.this, parentContainer, index,
                            movedViews);
                    getCommandStack().execute(command);
                }
            }
            if (!movedGroups.isEmpty()) {
                // moving group(s)

                Object data = item.getData();
                int index;
                EGroupContainer parentContainer;

                if (data instanceof EView) {
                    switch (operation) {
                    case DND.FEEDBACK_INSERT_AFTER:
                        parentContainer = (EGroupContainer) ((EView) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data) + 1;
                        break;
                    case DND.FEEDBACK_INSERT_BEFORE:
                        parentContainer = (EGroupContainer) ((EView) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data);
                        break;
                    default:
                        return;
                    }
                } else if (data instanceof ESettingRef) {
                    parentContainer = (EGroup) ((ESettingRef) data).eContainer();
                    index = parentContainer.getGroupsAndViews().size();
                } else if (data instanceof EGroup) {
                    switch (operation) {
                    case DND.FEEDBACK_SELECT:
                        parentContainer = (EGroup) data;
                        index = parentContainer.getGroupsAndViews().size();
                        break;
                    case DND.FEEDBACK_INSERT_AFTER:
                        parentContainer = (EGroupContainer) ((EGroup) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data) + 1;
                        break;
                    case DND.FEEDBACK_INSERT_BEFORE:
                        parentContainer = (EGroupContainer) ((EGroup) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data);
                        break;
                    default:
                        return;
                    }
                } else {
                    return;
                }
                Set<EGroupContainer> stack = new HashSet<EGroupContainer>();
                EGroupContainer ptr = parentContainer;
                while (!(ptr instanceof EView)) {
                    stack.add(ptr);
                    ptr = (EGroupContainer) ptr.eContainer();
                }
                boolean error = false;
                if (!stack.isEmpty()) {
                    error = stack.removeAll(movedGroups);
                }
                if (!error) {
                    MoveGroupsCommand command = new MoveGroupsCommand(ViewsEditor.this, parentContainer, index,
                            movedGroups);
                    getCommandStack().execute(command);
                }
            }
            if (!movedRefs.isEmpty()) {
                // moving references
                Object data = item.getData();
                int index;
                EGroup parentContainer;
                if (data instanceof ESettingRef) {
                    parentContainer = (EGroup) ((ESettingRef) data).eContainer();
                    switch (operation) {
                    case DND.FEEDBACK_SELECT:
                    case DND.FEEDBACK_INSERT_AFTER:
                        index = parentContainer.getRefs().indexOf(data) + 1;
                        break;
                    case DND.FEEDBACK_INSERT_BEFORE:
                        index = parentContainer.getRefs().indexOf(data);
                        break;
                    default:
                        return;
                    }
                } else if (data instanceof EGroup) {
                    parentContainer = (EGroup) data;
                    index = parentContainer.getRefs().size();
                } else {
                    return;
                }
                MoveRefsCommand command = new MoveRefsCommand(ViewsEditor.this, parentContainer, index,
                        movedRefs);
                try {
                    getCommandStack().execute(command);
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
            if (!includedViews.isEmpty()) {
                Object data = item.getData();
                int index = -1;
                EGroupContainer parentContainer = null;
                if (data instanceof EView) {
                    switch (operation) {
                    case DND.FEEDBACK_SELECT:
                        parentContainer = (EView) data;
                        index = parentContainer.getGroupsAndViews().size();
                        break;
                    case DND.FEEDBACK_INSERT_AFTER:
                        parentContainer = (EGroupContainer) ((EView) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data) + 1;
                        break;
                    case DND.FEEDBACK_INSERT_BEFORE:
                        parentContainer = (EGroupContainer) ((EView) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data);
                        break;
                    default:
                        return;
                    }
                } else if (data instanceof EGroup) {
                    switch (operation) {
                    case DND.FEEDBACK_SELECT:
                        parentContainer = (EGroup) data;
                        index = parentContainer.getGroupsAndViews().size();
                        break;
                    case DND.FEEDBACK_INSERT_AFTER:
                        parentContainer = (EGroupContainer) ((EGroup) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data) + 1;
                        break;
                    case DND.FEEDBACK_INSERT_BEFORE:
                        parentContainer = (EGroupContainer) ((EGroup) data).eContainer();
                        index = parentContainer.getGroupsAndViews().indexOf(data);
                        break;
                    default:
                        return;
                    }
                }
                if (parentContainer != null && index != -1) {

                    IncludeViewCommand command = new IncludeViewCommand(ViewsEditor.this, parentContainer,
                            index, includedViews);
                    getCommandStack().execute(command);
                    refreshConfmlTree();

                }
            }
        }
    };

}

From source file:com.nokia.tools.vct.confml.editor.view.ViewsEditor.java

License:Open Source License

private void createViewTreeViewer(Composite parent) {
    viewTv = new ViewTreeViewer(parent, SWT.MULTI | SWT.BORDER);
    viewTv.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    viewTv.setContentProvider(new ViewTreeViewerContentProvider());
    ViewTreeViewerLabelProvider labelProvider = new ViewTreeViewerLabelProvider();
    labelProvider.setViewer(viewTv);/*from  w ww.j  av a  2s. com*/
    viewTv.setLabelProvider(new DecoratingLabelProvider(labelProvider,
            PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));

    viewTv.setAutoExpandLevel(2);
    viewTv.getTree().addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            switch (e.keyCode) {
            case SWT.DEL:
                // do not use action here...

                IStructuredSelection selection = (IStructuredSelection) viewTv.getSelection();
                if (selection.isEmpty()) {
                    return;
                }
                Object[] selected = selection.toArray();

                List<EObject> list = new ArrayList<EObject>();
                for (Object o : selected) {
                    if (isFromRootView((EObject) o) && (o instanceof EGroup || o instanceof ESettingRef)) {
                        list.add((EObject) o);
                    } else if (isViewUnderRoot((EObject) o) && o instanceof EView) {
                        list.add((EObject) o);
                    }
                }
                if (!list.isEmpty()) {
                    DeleteCommand dc = new DeleteCommand(ViewsEditor.this, list);
                    getCommandStack().execute(dc);
                }

                break;
            default:
                break;
            }
        }
    });

    viewTv.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection.isEmpty() || !(selection instanceof IStructuredSelection)) {
                return;
            }

            Object selected = ((IStructuredSelection) selection).getFirstElement();
            if (selected == null) {
                return;
            }
            if (selected instanceof ESettingRef) {
                selected = ((ESettingRef) selected).getTarget();
            }
            if (selected instanceof EResourceLocator) {
                // URI uri = ((EResourceLocator) selected).getResourceUri();
                // EConfMLResource res =
                // EditorUtils.getConfMLResource((EObject)selected);
                // EditorUtils.openEditor(uri, null);
            } else {
                return;
            }
        }
    });

}

From source file:com.nokia.tools.vct.internal.common.secure.ui.actions.SetAsDefaultAction.java

License:Open Source License

public SetAsDefaultAction(StructuredViewer viewer) {
    this.viewer = viewer;
    IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
    Object[] selected = selection.toArray();
    if (selected.length != 1) {
        setEnabled(false);/*from   w  ww  . j ava  2s.c o  m*/
        entry = null;
    } else {
        entry = (IKeyStoreEntry) selected[0];
        boolean enabled = !entry.equals(SecurityCorePlugin.getKeyStoreManager().getDefaultEntry());
        enabled = enabled & entry.hasPrivateKey();

        setEnabled(enabled);
    }
    setText("Set As Default");
}

From source file:com.opcoach.e4.contextExplorer.parts.ContextExplorerPart.java

License:Open Source License

/**
 * Create contents of the view part.//ww w  . ja  v a  2s.  c o m
 */
@PostConstruct
public void createControls(Composite parent, MApplication a, IEclipseContext ctx) {
    parent.setLayout(new GridLayout(1, false));

    final Composite comp = new Composite(parent, SWT.NONE);
    comp.setLayout(new GridLayout(5, false));

    Button expandAll = new Button(comp, SWT.FLAT);
    expandAll.setImage(imgReg.get("expandall"));
    expandAll.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            tv.expandAll();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });
    Button collapseAll = new Button(comp, SWT.FLAT);
    collapseAll.setImage(imgReg.get("collapseall"));
    collapseAll.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            tv.collapseAll();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });

    // Do the search widget
    final Text text = new Text(comp, SWT.SEARCH | SWT.ICON_SEARCH);
    GridDataFactory.fillDefaults().hint(250, SWT.DEFAULT).applyTo(text);
    text.setMessage("Search data");
    text.setToolTipText("Highlight the contexts where contained objects match this string pattern");
    text.addKeyListener(new KeyListener() {

        @Override
        public void keyReleased(KeyEvent e) {
            contextRegistry.setPattern(text.getText());
            tv.refresh(true);
            contentTable.refresh(true);
        }

        @Override
        public void keyPressed(KeyEvent e) {
            // TODO Auto-generated method stub

        }
    });

    final Button ignoreCase = new Button(comp, SWT.CHECK);
    ignoreCase.setText("Ignore case");
    ignoreCase.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            contextRegistry.setIgnoreCase(ignoreCase.getSelection());
            tv.refresh(true);
            contentTable.refresh(true);
        }
    });

    final Button ignoreWildCards = new Button(comp, SWT.CHECK);
    ignoreWildCards.setText("Ignore WildCards");
    ignoreWildCards.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            contextRegistry.setIgnoreWildCards(ignoreWildCards.getSelection());
            tv.refresh(true);
            contentTable.refresh(true);
        }
    });

    SashForm sashForm = new SashForm(parent, SWT.VERTICAL);
    sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    // TreeViewer on the top
    tv = new TreeViewer(sashForm);
    treeContentProvider = ContextInjectionFactory.make(ContextTreeProvider.class, ctx);
    tv.setContentProvider(treeContentProvider);
    tv.setLabelProvider(treeContentProvider);

    // tv.setInput(a);
    tv.setInput(getAllBundleContexts());

    tv.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection ss = (IStructuredSelection) event.getSelection();
            selService.setSelection((ss.size() == 1) ? ss.getFirstElement() : ss.toArray());

        }
    });

    createContextContentTable(a, sashForm, ctx);

    // Set the correct weight for sahsform
    sashForm.setWeights(new int[] { 15, 85 });

    // Open all the tree
    tv.expandAll();

}

From source file:com.python.pydev.refactoring.refactorer.search.copied.FileSearchPage.java

License:Open Source License

@Override
protected void fillContextMenu(IMenuManager mgr) {
    super.fillContextMenu(mgr);
    addSortActions(mgr);/* ww  w.  j  av a 2s .com*/
    fActionGroup.setContext(new ActionContext(getSite().getSelectionProvider().getSelection()));
    fActionGroup.fillContextMenu(mgr);
    AbstractPythonSearchQuery query = (AbstractPythonSearchQuery) getInput().getQuery();
    if (query.getSearchString().length() > 0) {
        IStructuredSelection selection = (IStructuredSelection) getViewer().getSelection();
        if (!selection.isEmpty()) {
            ReplaceAction replaceSelection = new ReplaceAction(getSite().getShell(), getInput(),
                    selection.toArray(), true);
            replaceSelection.setText(SearchMessages.ReplaceAction_label_selected);
            mgr.appendToGroup(IContextMenuConstants.GROUP_REORGANIZE, replaceSelection);

        }
        ReplaceAction replaceAll = new ReplaceAction(getSite().getShell(), getInput(), null, true);
        replaceAll.setText(SearchMessages.ReplaceAction_label_all);
        mgr.appendToGroup(IContextMenuConstants.GROUP_REORGANIZE, replaceAll);
    }
}