Example usage for org.eclipse.jface.viewers TreeViewer getSelection

List of usage examples for org.eclipse.jface.viewers TreeViewer getSelection

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewer getSelection.

Prototype

@Override
public ISelection getSelection() 

Source Link

Document

The AbstractTreeViewer implementation of this method returns the result as an ITreeSelection.

Usage

From source file:org.kalypso.ui.editor.gmleditor.actions.GoIntoActionDelegate.java

License:Open Source License

/**
 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 *///from  w w w. j ava2 s .c  o m
@Override
public void run(final IAction action) {
    final TreeViewer treeViewer = m_targetEditor.getTreeView().getTreeViewer();
    final IContentProvider cp = treeViewer.getContentProvider();
    if (!(cp instanceof GMLContentProvider))
        return;

    final GMLContentProvider contentProvider = (GMLContentProvider) cp;
    final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
    contentProvider.goInto(selection.getFirstElement());

    m_targetEditor.fireDirty();
}

From source file:org.kalypso.ui.rrm.internal.timeseries.view.actions.ResetSelectionStackHandler.java

License:Open Source License

@Override
public Object execute(final ExecutionEvent event) {
    final IWorkbenchPart part = HandlerUtil.getActivePart(event);
    if (part == null)
        return null;

    final TreeViewerSelectionStack stack = (TreeViewerSelectionStack) part
            .getAdapter(TreeViewerSelectionStack.class);
    if (stack == null)
        return null;

    stack.reset();/*w  w  w  .  j  a  va2 s . c o m*/

    final TreeViewer viewer = (TreeViewer) part.getAdapter(TreeViewer.class);
    if (viewer == null)
        return null;

    /* small hack - resets selection */
    viewer.setSelection(viewer.getSelection());
    viewer.refresh(true);

    return Status.OK_STATUS;
}

From source file:org.lyllo.kickassplugin.editor.ASMContentOutlinePage.java

License:Open Source License

/**
 * Returns the selected element in the tree viewer.
 * //from   ww w  . j a  v a 2s  . co  m
 * @param viewer The tree viewer.
 * 
 * @return The selected element.
 */
private TreeObject getSelectedTreeObject(TreeViewer viewer) {
    ISelection selection = viewer.getSelection();

    if (!selection.isEmpty()) {
        if (selection instanceof IStructuredSelection) {
            Object object = ((IStructuredSelection) selection).getFirstElement();

            if (object instanceof TreeObject) {
                return (TreeObject) object;
            }
        }
    }

    return null;
}

From source file:org.mailster.gui.prefs.ConfigurationDialog.java

License:Open Source License

/**
 * Add the listeners to the tree viewer.
 * //from   w  w w .  j  a v  a  2s.  c  om
 * @param viewer
 * @since 3.1
 */
protected void addListeners(final TreeViewer viewer) {
    viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        private void handleError() {
            try {
                // remove the listener temporarily so that the events caused
                // by the error handling dont further cause error handling
                // to occur.
                viewer.removePostSelectionChangedListener(this);
                showPageFlippingAbortError();
                selectLastVisitedPageAgain();
                clearLastSelectedNode();
            } finally {

                viewer.addPostSelectionChangedListener(this);
            }
        }

        public void selectionChanged(SelectionChangedEvent event) {
            Object selection = getSingleSelection(event.getSelection());
            if (selection instanceof IPreferenceNode) {
                if (!isCurrentPageValid()) {
                    handleError();
                } else if (!showPage((IPreferenceNode) selection)) {
                    // Page flipping wasn't successful
                    handleError();
                } else {
                    // Everything went well
                    lastSuccessfulNode = (IPreferenceNode) selection;
                }
            }
        }
    });
    ((Tree) viewer.getControl()).addSelectionListener(new SelectionAdapter() {
        public void widgetDefaultSelected(final SelectionEvent event) {
            ISelection selection = viewer.getSelection();
            if (selection.isEmpty())
                return;
            IPreferenceNode singleSelection = getSingleSelection(selection);
            boolean expanded = viewer.getExpandedState(singleSelection);
            viewer.setExpandedState(singleSelection, !expanded);
        }
    });
    // Register help listener on the tree to use context sensitive help
    viewer.getControl().addHelpListener(new HelpListener() {
        public void helpRequested(HelpEvent event) {
            // call perform help on the current page
            if (getCurrentPage() != null) {
                getCurrentPage().performHelp();
            }
        }
    });
}

From source file:org.modelversioning.emfprofile.application.registry.ui.observer.ViewerState.java

License:Open Source License

public ViewerState(TreeViewer viewer) {
    super();/*from w  w  w.java  2s  . co  m*/
    this.input = viewer.getInput();
    this.viewerExpandedElements = viewer.getExpandedElements();
    this.selection = viewer.getSelection();
}

From source file:org.nabucco.testautomation.script.ui.rcp.multipage.maintenance.masterdetails.widgetcreators.action.CodeParameterListDoubleClickListener.java

License:Open Source License

@Override
public void doubleClick(DoubleClickEvent arg0) {
    ScriptMaintenanceMultiplePageEditView view = (ScriptMaintenanceMultiplePageEditView) Activator.getDefault()
            .getView(ScriptMaintenanceMultiplePageEditView.ID);
    TreeViewer treeViewer = view.getMasterDetailsBlock().getTreeViewer();
    MasterDetailTreeNode actionNode = (MasterDetailTreeNode) ((StructuredSelection) treeViewer.getSelection())
            .getFirstElement();/*w  w w.  java2 s. c om*/

    CodeParameter codeParameter = (CodeParameter) ((StructuredSelection) listViewer.getSelection())
            .getFirstElement();

    if (actionNode.getDatatype() instanceof Action) {
        Action action = (Action) actionNode.getDatatype();
        List<MasterDetailTreeNode> actionChildrenNodeList = actionNode.getChildren();
        boolean foundPropertList = false;
        for (MasterDetailTreeNode actionNodeChild : actionChildrenNodeList) {
            if (actionNodeChild.getDatatype() instanceof PropertyList) {
                addProperty(actionNodeChild, codeParameter);
                foundPropertList = true;
                break;
            }
        }
        if (!foundPropertList) {
            PropertyList propertyList = (PropertyList) ((PropertyContainer) ScriptElementFactory
                    .create(PropertyList.class)).getProperty();
            propertyList.setName(ACTION_PARAMS);
            action.setPropertyList(propertyList);

            if (action.getDatatypeState() == DatatypeState.PERSISTENT) {
                action.setDatatypeState(DatatypeState.MODIFIED);
            }

            MasterDetailTreeNode newNode = new MasterDetailTreeNode(propertyList, actionNode);
            newNode.setViewModel(actionNode.getViewModel());
            actionNode.getChildren().add(newNode);
            addProperty(newNode, codeParameter);
        }
    }
    treeViewer.refresh();
    treeViewer.expandToLevel(actionNode, 2);
}

From source file:org.ofbiz.plugin.ExplorerView.java

License:Apache License

private void makeActions() {
    ////from  ww  w . ja v  a  2 s .  co m
    refreshAction = new RefreshAction(this);
    refreshAction.setText("Refresh");
    refreshAction.setToolTipText("Refresh");
    refreshAction.setImageDescriptor(Plugin.create("icons/refresh.gif"));

    //
    filterAction = new Action() {
        public void run() {
            TreeViewer viewer = filteredTree.getViewer();
            if (filterOn) {
                viewer.removeFilter(filter);
                viewer.refresh();
            } else {
                viewer.addFilter(filter);
                viewer.refresh();
            }
            filterOn = !filterOn;
        }
    };
    filterAction.setText("Filter");
    filterAction.setToolTipText("Toggle filter for java-based services");
    filterAction.setImageDescriptor(Plugin.create("icons/filter.gif"));

    //
    analyzeAllAction = new Action() {
        public void run() {
            new WorkspaceJob("analyze all java-based services") {
                @Override
                public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
                    List<Service> services = new ArrayList<Service>();
                    for (Project p : root.getProjects()) {
                        for (Directory d : p.getDirectories()) {
                            for (Component c : d.getComponents()) {
                                for (Service s : c.getServices()) {
                                    if (s.getEngine().equals("java")) {
                                        services.add(s);
                                    }
                                }
                            }
                        }
                        new Analysis(p.getJavaproject(), services, p).run(true);

                    }
                    return Status.OK_STATUS;
                }

            }.schedule();
        }
    };
    analyzeAllAction.setText("Analyze all");
    analyzeAllAction.setToolTipText("Analyze all java-based serviceimplementations");
    analyzeAllAction.setImageDescriptor(Plugin.create("icons/analyzeall.gif"));

    // 
    doubleClickAction = new Action() {
        public void run() {
            TreeViewer viewer = filteredTree.getViewer();
            Object selObj = viewer.getSelection();
            if (selObj instanceof TreeSelection) {
                TreeSelection treeSelObj = (TreeSelection) selObj;
                Object selection = treeSelObj.getFirstElement();
                if (selection != null && selection instanceof Service) {
                    Service service = (Service) selection;
                    IJavaProject java = service.getComponent().getDirectory().getProject().getJavaproject();
                    Analysis analysis = new Analysis(java, service,
                            service.getComponent().getDirectory().getProject());
                    analysis.run(true);
                }
            }
        }
    };
}

From source file:org.opentravel.schemas.views.ContextsView.java

License:Apache License

private TreeViewer initializeTreeViewer(Composite parent) {
    final TreeViewer viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    viewer.setContentProvider(new ContextTreeContentProvider());
    viewer.setLabelProvider(new ContextTreeLabelProvider());

    viewer.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { TextTransfer.getInstance() },
            new DragSourceListener() {

                @Override/*from w ww  .  j a  v  a2  s  . c  o m*/
                public void dragStart(DragSourceEvent event) {
                    IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();

                    Object firstElement = selection.getFirstElement();
                    if (firstElement instanceof ContextNode) {
                        if (((ContextNode) firstElement).isContextItem()) {
                            event.doit = true;
                            return;
                        }
                    }
                    event.doit = false;
                }

                @Override
                public void dragSetData(DragSourceEvent event) {
                    IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();

                    Object firstElement = selection.getFirstElement();
                    if (firstElement instanceof ContextNode) {
                        event.data = ((ContextNode) firstElement).getContextId();
                    }
                }

                @Override
                public void dragFinished(DragSourceEvent event) {

                }

            });
    viewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { TextTransfer.getInstance() },
            new ViewerDropAdapter(viewer) {

                @Override
                public boolean performDrop(Object data) {
                    if (data != null) {
                        getContextController().copyContext();
                        return true;
                    }
                    return false;
                }

                @Override
                public void drop(DropTargetEvent event) {
                    Object target = determineTarget(event);
                    if (target instanceof ContextNode) {
                        setSelectedTypeRoot(((ContextNode) target).getOwningLibraryRoot());
                    } else {
                        setSelectedTypeRoot(null);
                    }
                    super.drop(event);
                }

                @Override
                public boolean validateDrop(Object target, int operation, TransferData transferType) {
                    if (target instanceof ContextNode) {
                        return true;
                    }
                    return false;
                }

            });

    return viewer;
}

From source file:org.reclipse.patterns.structure.generator.ui.ExportPatternsWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    // load settings
    if (inputPath == null || outputContainer == null || outputName == null || reportLevel == null) {
        inputPath = getDialogSettings().get(Constants.KEY_INPUTPATH);
        inputPath = inputPath == null ? "" : inputPath; //$NON-NLS-1$

        outputContainer = getDialogSettings().get(Constants.KEY_OUTPUT_CONTAINER);
        outputContainer = outputContainer == null ? "" : outputContainer; //$NON-NLS-1$

        outputName = getDialogSettings().get(Constants.KEY_OUTPUT_NAME);
        outputName = outputName == null ? "" : outputName; //$NON-NLS-1$

        reportLevel = ReportLevel.getItem(getDialogSettings().get(Constants.KEY_REPORT_LEVEL));
    }/*from   w  w w.j ava 2 s  .co m*/

    // create interface
    Composite main = new Composite(parent, SWT.NONE);
    GridLayoutFactory.fillDefaults().margins(6, 6).applyTo(main);
    main.setLayout(new GridLayout(1, false));

    Composite input = new Composite(main, SWT.NONE);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(input);
    GridLayoutFactory.fillDefaults().numColumns(3).applyTo(input);

    Label inputLabel = new Label(input, SWT.TRAIL);

    final Text inputText = new Text(input, SWT.LEAD | SWT.BORDER | SWT.SINGLE);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(inputText);

    Button inputButton = new Button(input, SWT.PUSH);
    GridDataFactory.fillDefaults().applyTo(inputButton);

    Group output = new Group(main, SWT.NONE);
    GridLayoutFactory.fillDefaults().margins(6, 6).applyTo(output);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(output);

    final TreeViewer outputContainerViewer = new TreeViewer(output, SWT.BORDER | SWT.SINGLE);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(outputContainerViewer.getTree());
    outputContainerViewer.setContentProvider(new BaseWorkbenchContentProvider());
    outputContainerViewer.setLabelProvider(new WorkbenchLabelProvider());
    outputContainerViewer.setComparator(new ViewerComparator());
    outputContainerViewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IContainer) {
                return ((IContainer) element).getName().charAt(0) != '.';
            }
            return false;
        }
    });
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    outputContainerViewer.setInput(root);

    Composite outputFile = new Composite(output, SWT.NONE);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(outputFile);
    GridLayoutFactory.fillDefaults().numColumns(2).applyTo(outputFile);

    Label outputFileLabel = new Label(outputFile, SWT.TRAIL);

    final Text outputFileText = new Text(outputFile, SWT.LEAD | SWT.BORDER | SWT.SINGLE);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(outputFileText);

    // hook listeners
    inputText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            inputPath = inputText.getText();
            setPageComplete(isValid());
        }
    });

    inputButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (dialog.open() == Window.OK) {
                Object selected = dialog.getFirstResult();
                if (selected instanceof IFile) {
                    inputText.setText(((IFile) selected).getFullPath().toString());
                }
            }
        }
    });

    outputContainerViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            if (!outputContainerViewer.getSelection().isEmpty()) {
                Object selected = ((IStructuredSelection) outputContainerViewer.getSelection())
                        .getFirstElement();
                if (selected instanceof IContainer) {
                    outputContainer = ((IContainer) selected).getFullPath().toString();
                } else {
                    outputContainer = null;
                }
                setPageComplete(isValid());
            }
        }
    });

    outputFileText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            outputName = outputFileText.getText();
            setPageComplete(isValid());
        }
    });

    // set defaults
    inputLabel.setText("Catalog:");
    inputButton.setText("Select");
    output.setText("Output");
    outputFileLabel.setText("File Name:");

    // load settings
    inputText.setText(inputPath);
    outputFileText.setText(outputName);
    IResource container = root.findMember(inputPath);
    if (container instanceof IFile) {
        outputContainerViewer.setSelection(new StructuredSelection(container.getParent()));
    }

    setControl(main);

    Composite reportComposite = new Composite(main, SWT.NONE);
    reportComposite.setLayout(new GridLayout(2, false));

    Label reportLabel = new Label(reportComposite, SWT.NONE);
    reportLabel.setText("Report Level:");

    reportCombo = new Combo(reportComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
    reportCombo.setItems(ReportLevel.getItems());
    reportCombo.select(ReportLevel.getIndex(reportLevel));

    reportCombo.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            reportLevel = ReportLevel.getItem(reportCombo.getSelectionIndex());
        }
    });
}

From source file:org.rssowl.ui.internal.editors.feed.FeedView.java

License:Open Source License

private void expandNewsTableViewerGroups(boolean delayRedraw, ISelection oldSelection) {
    TreeViewer viewer = fNewsTableControl.getViewer();
    Tree tree = (Tree) viewer.getControl();

    /* Remember TopItem if required */
    TreeItem topItem = oldSelection.isEmpty() ? tree.getTopItem() : null;

    /* Expand All & Restore Selection with redraw false */
    if (delayRedraw)
        tree.getParent().setRedraw(false);
    try {// w w w.j  av a2s  .co  m
        viewer.expandAll();

        /* Restore selection if required */
        if (!oldSelection.isEmpty() && viewer.getSelection().isEmpty())
            viewer.setSelection(oldSelection, true);
        else if (topItem != null)
            tree.setTopItem(topItem);
    } finally {
        if (delayRedraw)
            tree.getParent().setRedraw(true);
    }
}