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.gumtree.gumnix.sics.batch.ui.VisualBatchBufferToolViewer.java

License:Open Source License

protected void createUI() {
    if (isDisposed()) {
        return;//from  ww w .java2 s. c  om
    }
    GridLayoutFactory.swtDefaults().applyTo(this);

    Group toolGroup = new Group(this, SWT.NONE);
    toolGroup.setText("Task Library");
    toolGroup.setLayout(new FillLayout());
    getToolkit().adapt(toolGroup);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(toolGroup);

    final TreeViewer toolViewer = new TreeViewer(toolGroup, SWT.NONE);
    toolViewer.setContentProvider(new TreeContentProvider() {
        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof ICommandRegistry) {
                commandTreeNode = new CommandTreeNode((ICommandRegistry) inputElement, toolViewer);
                scientistFolder = new FolderTreeNode("Instrument Scientist's Tasks", toolViewer);
                userFolder = new FolderTreeNode("User Defined Tasks", toolViewer);
                //               return new Object[] { commandTreeNode, scientistFolder, userFolder};
                //               return new Object[] { commandTreeNode};
                return commandTreeNode.getChildren();
            } else {
                return new Object[0];
            }
        }
    });
    toolViewer.setLabelProvider(new TreeLabelProvider());
    toolViewer.setInput(ServiceUtils.getService(ICommandRegistry.class));
    toolViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() },
            new DragSourceAdapter() {
                public void dragFinished(DragSourceEvent event) {
                    LocalSelectionTransfer.getTransfer().setSelection(null);
                }

                public void dragSetData(DragSourceEvent event) {
                    if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) {
                        LocalSelectionTransfer.getTransfer().setSelection(toolViewer.getSelection());
                    }
                }

            });
    toolViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ITreeNode node = (ITreeNode) ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (!(node.getOriginalObject() instanceof ITaskDescriptor)) {
                return;
            }
            ITaskDescriptor desc = (ITaskDescriptor) node.getOriginalObject();
            try {
                WorkflowUtils.addNewTask(getWorkflow(), desc);
            } catch (ObjectCreateException e) {
                logger.error("Failed to add from an task descriptor.", e);
            }
        }
    });
    toolViewer.setExpandedState(commandTreeNode, true);
    getParent().layout(true, true);
}

From source file:org.infoglue.igide.helper.Utils.java

License:Open Source License

public static ContentNode getSelectedContentNode(final TreeViewer viewer) {
    ContentNode node = null;//from ww w .  j  av  a 2  s . c  om
    try {
        ISelection selection = viewer.getSelection();
        node = (ContentNode) ((IStructuredSelection) selection).getFirstElement();
    } finally {
    }

    return node;
}

From source file:org.jboss.tools.jmx.jvmmonitor.internal.ui.properties.cpu.actions.FindDialog.java

License:Open Source License

/**
 * Gets the selected node./*w w  w  .  ja  v a  2 s  .  c o  m*/
 * 
 * @param viewer
 *            The tree viewer
 * @return The selected node
 */
private static ITreeNode getSelectedNode(TreeViewer viewer) {
    ISelection selection = viewer.getSelection();
    if (selection instanceof TreeSelection) {
        TreeSelection treeSelection = (TreeSelection) selection;
        Object element = treeSelection.getFirstElement();
        if (element instanceof ITreeNode) {
            return (ITreeNode) element;
        }
    }
    return null;
}

From source file:org.jboss.tools.jmx.jvmmonitor.internal.ui.properties.memory.SWTResourcesPage.java

License:Open Source License

/**
 * Refreshes the appearance./*from   w ww .  java 2 s. co m*/
 * 
 * @param force
 *            <tt>true</tt> to force refresh
 */
protected void refresh(final boolean force) {
    final boolean isVisible = isVisible();
    IActiveJvm jvm = section.getJvm();

    if (jvm == null)
        return;

    new RefreshJob(NLS.bind(Messages.refreshMemorySectionJobLabel, jvm.getPid()), toString()) {
        @Override
        protected void refreshModel(IProgressMonitor monitor) {
            try {
                IActiveJvm jvm = section.getJvm();
                if (isVisible && jvm != null && jvm.isConnected() && (!section.isRefreshSuspended() || force)
                        && jvm.getSWTResourceMonitor().isSupported()) {
                    jvm.getSWTResourceMonitor().refreshResourcesCache();
                }
            } catch (JvmCoreException e) {
                Activator.log(Messages.refreshHeapDataFailedMsg, e);
            }
        }

        @Override
        protected void refreshUI() {
            IActiveJvm jvm = section.getJvm();
            boolean isConnected = jvm != null && jvm.isConnected();

            if (!isDisposed()) {
                refreshBackground();
            }
            refreshAction.setEnabled(isConnected);
            clearSWTResourceAction.setEnabled(isConnected);
            if (!force && section.isRefreshSuspended() || !isVisible) {
                return;
            }

            TreeViewer resourceViewer = resourceFilteredTree.getViewer();
            if (!resourceViewer.getControl().isDisposed()) {
                resourceViewer.refresh();
                if (jvm != null) {
                    resourceFilteredTree.updateStatusLine(jvm.getSWTResourceMonitor().getResources());
                }

                // select the first item if no item is selected
                if (resourceViewer.getSelection().isEmpty()) {
                    TreeItem[] items = resourceViewer.getTree().getItems();
                    if (items != null && items.length > 0) {
                        resourceViewer.getTree().select(items[0]);
                        stackTraceViewer.setInput(resourceViewer.getSelection());
                    } else {
                        stackTraceViewer.setInput(null);
                    }
                }
            }
            if (!stackTraceViewer.getControl().isDisposed()) {
                stackTraceViewer.refresh();
            }
        }
    }.schedule();
}

From source file:org.jboss.tools.openshift.cdk.server.ui.internal.dialogs.ChooseServerDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite container = (Composite) super.createDialogArea(parent);
    final TreeViewer tv = new TreeViewer(container);
    tv.setContentProvider(new ITreeContentProvider() {
        @Override// w  ww  .java  2s .  c  o  m
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        @Override
        public void dispose() {
        }

        @Override
        public boolean hasChildren(Object element) {
            return false;
        }

        @Override
        public Object getParent(Object element) {
            return null;
        }

        @Override
        public Object[] getElements(Object inputElement) {
            return (IServer[]) valid.toArray(new IServer[valid.size()]);
        }

        @Override
        public Object[] getChildren(Object parentElement) {
            return null;
        }
    });
    tv.setLabelProvider(new LabelProvider() {
        @Override
        public Image getImage(Object element) {
            if (element instanceof IServer)
                return ImageResource.getImage(((IServer) element).getServerType().getId());
            return super.getImage(element);
        }

        @Override
        public String getText(Object element) {
            if (element instanceof IServer)
                return ((IServer) element).getName();
            return super.getText(element);
        }
    });

    tv.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            selected = null;
            ISelection sel = tv.getSelection();
            if (sel instanceof IStructuredSelection) {
                Object first = ((IStructuredSelection) sel).getFirstElement();
                if (first instanceof IServer) {
                    selected = (IServer) first;
                }
            }
            getButton(IDialogConstants.OK_ID).setEnabled(selected != null);
        }
    });
    tv.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    tv.setInput(PlatformUI.getWorkbench());
    return container;
}

From source file:org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerExpandAll.java

License:Open Source License

@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
    if (activePart instanceof NavigatorViewBase) {
        TreeViewer navigatorViewer = ((NavigatorViewBase) activePart).getNavigatorViewer();
        ISelection selection = navigatorViewer.getSelection();
        if (selection.isEmpty()) {
            navigatorViewer.expandAll();
        } else if (selection instanceof IStructuredSelection) {
            for (Iterator iter = ((IStructuredSelection) selection).iterator(); iter.hasNext();) {
                navigatorViewer.expandToLevel(iter.next(), TreeViewer.ALL_LEVELS);
            }/*from w w w . ja va  2 s  .  c  om*/
        }
    }
    return null;
}

From source file:org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase.java

License:Open Source License

protected DatabaseNavigatorTree createNavigatorTree(Composite parent, DBNNode rootNode) {
    // Create tree
    DatabaseNavigatorTree navigatorTree = new DatabaseNavigatorTree(parent, rootNode, getTreeStyle());

    navigatorTree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {
        @Override//from ww w .  j a v a  2  s  .  c o m
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection structSel = (IStructuredSelection) event.getSelection();
            if (!structSel.isEmpty()) {
                lastSelection = structSel.getFirstElement();
                if (lastSelection instanceof DBNNode) {
                    String desc = ((DBNNode) lastSelection).getNodeDescription();
                    if (CommonUtils.isEmpty(desc)) {
                        desc = ((DBNNode) lastSelection).getNodeName();
                    }
                    getViewSite().getActionBars().getStatusLineManager().setMessage(desc);
                }
            } else {
                lastSelection = null;
            }
        }
    });
    navigatorTree.getViewer().addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            TreeViewer viewer = tree.getViewer();
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            if (selection.size() == 1) {
                DBNNode node = (DBNNode) selection.getFirstElement();
                if (node instanceof DBNLocalFolder
                        || (node instanceof DBNResource
                                && ((DBNResource) node).getResource() instanceof IFolder)
                        || (node instanceof DBNDataSource
                                && DoubleClickBehavior.valueOf(DBeaverCore.getGlobalPreferenceStore().getString(
                                        DBeaverPreferences.NAVIGATOR_CONNECTION_DOUBLE_CLICK)) == DoubleClickBehavior.EXPAND)) {
                    if (Boolean.TRUE.equals(viewer.getExpandedState(node))) {
                        viewer.collapseToLevel(node, 1);
                    } else {
                        viewer.expandToLevel(node, 1);
                    }

                } else if (node instanceof DBNResource) {
                    NavigatorHandlerObjectOpen.openResource(((DBNResource) node).getResource(),
                            getSite().getWorkbenchWindow());
                } else if (node instanceof DBNDataSource) {
                    DBPDataSourceContainer dataSource = ((DBNDataSource) node).getObject();
                    NavigatorViewBase.DoubleClickBehavior doubleClickBehavior = NavigatorViewBase.DoubleClickBehavior
                            .valueOf(DBeaverCore.getGlobalPreferenceStore()
                                    .getString(DBeaverPreferences.NAVIGATOR_CONNECTION_DOUBLE_CLICK));
                    switch (doubleClickBehavior) {
                    case EDIT:
                        NavigatorHandlerObjectOpen.openEntityEditor((DBNDataSource) node, null,
                                DBeaverUI.getActiveWorkbenchWindow());
                        break;
                    case CONNECT:
                        if (dataSource.isConnected()) {
                            DataSourceHandler.disconnectDataSource(dataSource, null);
                        } else {
                            DataSourceHandler.connectToDataSource(null, dataSource, null);
                        }
                        break;
                    case SQL_EDITOR:
                        OpenSQLEditorHandler.openRecentScript(getSite().getWorkbenchWindow(), dataSource, null);
                        break;
                    }
                } else if (node instanceof DBNDatabaseNode && node.allowsOpen()) {
                    NavigatorHandlerObjectOpen.openEntityEditor((DBNDatabaseNode) node, null,
                            getSite().getWorkbenchWindow());
                }
            }
        }

    });

    // Hook context menu
    NavigatorUtils.addContextMenu(this.getSite(), navigatorTree.getViewer(),
            navigatorTree.getViewer().getControl());
    // Add drag and drop support
    NavigatorUtils.addDragAndDropSupport(navigatorTree.getViewer());

    return navigatorTree;
}

From source file:org.jvmmonitor.internal.ui.properties.memory.SWTResourcesPage.java

License:Open Source License

/**
 * Refreshes the appearance.//from   w  w w .  j  av  a 2  s . c o  m
 * 
 * @param force
 *            <tt>true</tt> to force refresh
 */
protected void refresh(final boolean force) {
    final boolean isVisible = isVisible();

    new RefreshJob(NLS.bind(Messages.refreshMemorySectionJobLabel, section.getJvm().getPid()), toString()) {
        @Override
        protected void refreshModel(IProgressMonitor monitor) {
            try {
                IActiveJvm jvm = section.getJvm();
                if (isVisible && jvm != null && jvm.isConnected() && (!section.isRefreshSuspended() || force)
                        && jvm.getSWTResourceMonitor().isSupported()) {
                    jvm.getSWTResourceMonitor().refreshResourcesCache();
                }
            } catch (JvmCoreException e) {
                Activator.log(Messages.refreshHeapDataFailedMsg, e);
            }
        }

        @Override
        protected void refreshUI() {
            IActiveJvm jvm = section.getJvm();
            boolean isConnected = jvm != null && jvm.isConnected();

            if (!isDisposed()) {
                refreshBackground();
            }
            refreshAction.setEnabled(isConnected);
            clearSWTResourceAction.setEnabled(isConnected);
            if (!force && section.isRefreshSuspended() || !isVisible) {
                return;
            }

            TreeViewer resourceViewer = resourceFilteredTree.getViewer();
            if (!resourceViewer.getControl().isDisposed()) {
                resourceViewer.refresh();
                if (jvm != null) {
                    resourceFilteredTree.updateStatusLine(jvm.getSWTResourceMonitor().getResources());
                }

                // select the first item if no item is selected
                if (resourceViewer.getSelection().isEmpty()) {
                    TreeItem[] items = resourceViewer.getTree().getItems();
                    if (items != null && items.length > 0) {
                        resourceViewer.getTree().select(items[0]);
                        stackTraceViewer.setInput(resourceViewer.getSelection());
                    } else {
                        stackTraceViewer.setInput(null);
                    }
                }
            }
            if (!stackTraceViewer.getControl().isDisposed()) {
                stackTraceViewer.refresh();
            }
        }
    }.schedule();
}

From source file:org.kalypso.afgui.internal.ui.workflow.WorkflowBreadcrumbViewer.java

License:Open Source License

@Override
protected void configureDropDownViewer(final TreeViewer viewer, final Object selection) {
    viewer.setContentProvider(getContentProvider());

    // REMARK: cannot reuse label provider of breadcrumb, because it gets disposed if drop-down is closed
    viewer.setLabelProvider(new WorkflowBreadCrumbLabelProvider());
    setToolTipLabelProvider(new WorkflowBreadCrumbTooltipProvider());

    viewer.setFilters(getFilters());/*from w ww  .  j  a va 2s.c o m*/

    viewer.getTree().addMenuDetectListener(new MenuDetectListener() {
        @Override
        public void menuDetected(final MenuDetectEvent e) {
            final Object menuSelection = ((IStructuredSelection) viewer.getSelection()).getFirstElement();
            handleItemMenuDetected(e, menuSelection);
        }
    });
}

From source file:org.kalypso.core.status.tree.listener.StatusDoubleClickListener.java

License:Open Source License

/**
 * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent)
 *///ww w .j av a2 s  . com
@Override
public void doubleClick(final DoubleClickEvent event) {
    /* Get the source. */
    final TreeViewer source = (TreeViewer) event.getSource();

    /* Get the selection. */
    final ISelection selection = source.getSelection();
    if (selection == null || selection.isEmpty() || !(selection instanceof IStructuredSelection))
        return;

    /* Cast. */
    final IStructuredSelection structuredSelection = (IStructuredSelection) selection;

    /* Get the first element. */
    final Object firstElement = structuredSelection.getFirstElement();
    if (!(firstElement instanceof IStatus))
        return;

    /* Create the dialog. */
    final StatusDialog dialog = new StatusDialog(source.getTree().getShell(), m_title, (IStatus) firstElement);

    /* Open the dialog. */
    dialog.open();
}