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:eu.artist.premigration.tft.tft.edit.MigrationSuggestionEditingSupport.java

License:Open Source License

/**
 * Editing support for the Inventory View tree viewer
 * /*from   w ww  . j a va 2  s  .com*/
 * @param viewer {@link TreeViewer} to be refreshed once the editing is done. 
 */
public MigrationSuggestionEditingSupport(final TreeViewer viewer) {

    super(viewer);

    cellEditor = new DialogCellEditor((Composite) getViewer().getControl()) {

        //This method contains the code to open the Migration Strategy Selection Dialog
        @Override
        protected Object openDialogBox(Control cellEditorWindow) {

            //Get selected compoent
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            Component selectedComponent = ((Component) selection.getFirstElement());

            //Create the dialog and open
            MigrationStrategySelectionDialog dialog = new MigrationStrategySelectionDialog(
                    cellEditorWindow.getShell(), selectedComponent);
            dialog.open();
            //If the dialog is closed by clicking ok
            if (dialog.getReturnCode() == Dialog.OK) {

                @SuppressWarnings("unchecked")
                List<Component> treeInput = (List<Component>) viewer.getInput();

                //If automatic suggestion updates checkbox is checked, the migration suggestions of other components are updated 
                if (InventoryView.automaticSuggestionUpdates) {
                    updateSuggestions(selectedComponent, treeInput);
                }

                InventoryView.handleCheckedStatusOfComponents(viewer.getTree().getItems());

                viewer.getTree().update();
                viewer.refresh();
            }
            return null;
        }
    };

    //Drools initialization
    try {
        // load up the knowledge base
        kbase = readKnowledgeBase();
    } catch (Throwable t) {
        t.printStackTrace();
    }
}

From source file:eu.geclipse.traceview.statistics.StatisticsVisualisation.java

License:Open Source License

/**
 * @param parent/*w  w  w .java2s  .  c o  m*/
 * @param style
 * @param viewSite
 * @param trace
 */
public StatisticsVisualisation(final Composite parent, final int style, final IViewSite viewSite,
        final ITrace trace) {
    super(parent, style);
    this.trace = trace;
    // this
    GridLayout layout = new GridLayout();
    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    layout.numColumns = 4;
    this.setLayout(layout);
    this.setLayoutData(layoutData);
    // selection
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, false, true);
    layoutData.horizontalSpan = 1;
    Group selectionGroup = new Group(this, SWT.NONE);
    selectionGroup.setText(Messages.getString("StatisticsVisualisation.Statistics")); //$NON-NLS-1$
    selectionGroup.setLayout(layout);
    selectionGroup.setLayoutData(layoutData);
    // treeviewer
    final TreeViewer treeViewer = new TreeViewer(selectionGroup);
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    treeViewer.getTree().setLayout(layout);
    treeViewer.getTree().setLayoutData(layoutData);
    treeViewer.setContentProvider(new TreeNodeContentProvider());
    treeViewer.setLabelProvider(new StatisticsVisualisationLabelProvider());
    populateTree(treeViewer);
    // chart
    Group chartGroup = new Group(this, SWT.NONE);
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    chartGroup.setLayout(layout);
    chartGroup.setLayoutData(layoutData);
    chartGroup.setText(Messages.getString("StatisticsVisualisation.Chart")); //$NON-NLS-1$
    layoutData.horizontalSpan = 3;
    // description
    Group description = new Group(this, SWT.NONE);
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, false);
    layoutData.heightHint = 60;
    layoutData.horizontalSpan = 4;
    description.setLayout(layout);
    description.setLayoutData(layoutData);
    description.setText(Messages.getString("StatisticsVisualisation.Description")); //$NON-NLS-1$
    final Text text = new Text(description, SWT.MULTI | SWT.V_SCROLL | SWT.WRAP);
    text.setEditable(false);
    text.setBackground(getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    text.setLayoutData(layoutData);
    text.setText(Messages.getString("StatisticsVisualisation.Select")); //$NON-NLS-1$
    // Scrolled Composite
    new Label(chartGroup, SWT.NONE);
    final ScrolledComposite sc = new ScrolledComposite(chartGroup, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    sc.setBackground(getDisplay().getSystemColor(SWT.COLOR_WHITE));
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    layoutData.verticalIndent = -18; // TODO cleaner solution or test if its ok
    // on other platforms
    sc.setLayout(layout);
    sc.setLayoutData(layoutData);
    // Composite
    this.composite = new Composite(sc, SWT.NONE);
    this.composite.setBackground(getDisplay().getSystemColor(SWT.COLOR_WHITE));
    layout = new GridLayout();
    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    this.composite.setLayout(layout);
    this.composite.setLayoutData(layoutData);
    // init birt renderer
    try {
        PluginSettings ps = PluginSettings.instance();
        this.render = ps.getDevice("dv.SWT"); //$NON-NLS-1$
    } catch (ChartException exception) {
        Activator.logException(exception);
    }
    sc.setContent(this.composite);
    sc.addListener(SWT.Resize, new Listener() {

        public void handleEvent(final Event e) {
            int maxX = Math.max(StatisticsVisualisation.this.x, sc.getClientArea().width);
            int maxY = Math.max(StatisticsVisualisation.this.y, sc.getClientArea().height);
            StatisticsVisualisation.this.composite.setSize(maxX, maxY);
        }
    });
    this.composite.addPaintListener(new PaintListener() {

        public void paintControl(final PaintEvent e) {
            if (StatisticsVisualisation.this.chart != null) {
                paint(e);
            }
        }
    });
    this.composite.addDisposeListener(new DisposeListener() {

        public void widgetDisposed(final DisposeEvent e) {
            disposeWidget(e);
        }
    });
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(final SelectionChangedEvent event) {
            if (treeViewer.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection structuredSelection = (IStructuredSelection) treeViewer.getSelection();
                if (structuredSelection.getFirstElement() instanceof TreeNode) {
                    TreeNode treeNode = (TreeNode) structuredSelection.getFirstElement();
                    if (treeNode.getValue() instanceof IStatistics) {
                        IStatistics statistics = (IStatistics) treeNode.getValue();
                        text.setText(statistics.getDescription());
                    }
                }
            }
        }
    });
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(final SelectionChangedEvent event) {
            ISelection selection = treeViewer.getSelection();
            if (selection != null && selection instanceof IStructuredSelection) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                TreeNode treeNode = (TreeNode) structuredSelection.getFirstElement();
                if (treeNode != null && treeNode.getValue() instanceof AbstractChartBuilder) {
                    AbstractChartBuilder abstractChartBuilder = (AbstractChartBuilder) treeNode.getValue();
                    IStatistics statistics = (IStatistics) treeNode.getParent().getValue();
                    text.setText(statistics.getDescription());
                    statistics.initialize();
                    abstractChartBuilder.setTitle(statistics.getTitle());
                    abstractChartBuilder.setXSeries(statistics.getXSeries());
                    abstractChartBuilder.setYSeries(statistics.getYSeries());
                    abstractChartBuilder.setZSeries(statistics.getZSeries());
                    abstractChartBuilder.build();
                    StatisticsVisualisation.this.setChart(abstractChartBuilder.getChart());
                    StatisticsVisualisation.this.x = abstractChartBuilder.minWidth();
                    StatisticsVisualisation.this.y = abstractChartBuilder.minHeight();
                    int maxX = Math.max(StatisticsVisualisation.this.x, sc.getClientArea().width);
                    int maxY = Math.max(StatisticsVisualisation.this.y, sc.getClientArea().height);
                    StatisticsVisualisation.this.composite.setSize(maxX, maxY);
                    StatisticsVisualisation.this.composite.redraw();
                }
            }
        }
    });
}

From source file:eu.hydrologis.stage.geopaparazzi.geopapbrowser.StageGeopaparazziView.java

License:Open Source License

private TreeViewer createTreeViewer(Composite modulesComposite) {

    // FIXME/* w  w  w .  j  ava 2  s . c  om*/
    // PatternFilter patternFilter = new PatternFilter();
    // final FilteredTree filter = new FilteredTree(modulesComposite,
    // SWT.SINGLE | SWT.BORDER, patternFilter, true);
    // final TreeViewer modulesViewer = filter.getViewer();
    final TreeViewer modulesViewer = new TreeViewer(modulesComposite);

    Control control = modulesViewer.getControl();
    GridData controlGD = new GridData(SWT.FILL, SWT.FILL, true, true);
    controlGD.horizontalSpan = 2;
    control.setLayoutData(controlGD);
    modulesViewer.setContentProvider(new ITreeContentProvider() {
        private static final long serialVersionUID = 1L;

        public Object[] getElements(Object inputElement) {
            return getChildren(inputElement);
        }

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof List<?>) {
                List<?> list = (List<?>) parentElement;
                Object[] array = list.toArray();
                return array;
            }
            if (parentElement instanceof ProjectInfo) {
                ProjectInfo info = (ProjectInfo) parentElement;
                int imgSize = info.images != null ? info.images.length : 0;
                int logSize = info.logs != null ? info.logs.size() : 0;
                Object[] childs = new Object[imgSize + logSize];
                for (int i = 0; i < logSize; i++) {
                    childs[i] = info.logs.get(i);
                }
                for (int i = logSize; i < imgSize + logSize; i++) {
                    childs[i] = info.images[i - logSize];
                }
                return childs;
            }
            return new Object[0];
        }

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

        public boolean hasChildren(Object element) {
            return getChildren(element).length > 0;
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

    });

    modulesViewer.setLabelProvider(new LabelProvider() {
        private static final long serialVersionUID = 1L;

        public Image getImage(Object element) {
            if (element instanceof ProjectInfo) {
                return ImageCache.getInstance().getImage(display, ImageCache.DATABASE);
            } else if (element instanceof org.jgrasstools.gears.io.geopaparazzi.geopap4.Image) {
                return ImageCache.getInstance().getImage(display, ImageCache.DBIMAGE);
            } else if (element instanceof GpsLog) {
                return ImageCache.getInstance().getImage(display, ImageCache.LOG);
            }
            return null;
        }

        public String getText(Object element) {
            if (element instanceof ProjectInfo) {
                ProjectInfo projectInfo = (ProjectInfo) element;
                String fileName = projectInfo.fileName;
                fileName = fileName.replace('_', ' ').replaceFirst("\\.gpap", "");
                String name = "<big>" + fileName + "</big><br/>";
                return name;
            } else if (element instanceof org.jgrasstools.gears.io.geopaparazzi.geopap4.Image) {
                org.jgrasstools.gears.io.geopaparazzi.geopap4.Image image = (org.jgrasstools.gears.io.geopaparazzi.geopap4.Image) element;
                String imageName = image.getName();
                return imageName;
            } else if (element instanceof GpsLog) {
                GpsLog log = (GpsLog) element;
                String logName = log.text;
                return logName;
            }
            return ""; //$NON-NLS-1$
        }
    });

    modulesViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            if (!(event.getSelection() instanceof IStructuredSelection)) {
                return;
            }
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();

            Object selectedItem = sel.getFirstElement();
            if (selectedItem == null) {
                // unselected, show empty panel
                setNoProjectLabel();
                return;
            }

            if (selectedItem instanceof ProjectInfo) {
                selectProjectInfo(selectedItem);
            } else if (selectedItem instanceof org.jgrasstools.gears.io.geopaparazzi.geopap4.Image) {
                selectImage(selectedItem);
            } else if (selectedItem instanceof GpsLog) {
                selectGpsLog(selectedItem);
            } else {
                setNoProjectLabel();
            }
        }

    });

    MenuManager manager = new MenuManager();
    modulesViewer.getControl().setMenu(manager.createContextMenu(modulesViewer.getControl()));
    manager.addMenuListener(new IMenuListener() {
        private static final long serialVersionUID = 1L;

        @Override
        public void menuAboutToShow(IMenuManager manager) {
            if (modulesViewer.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) modulesViewer.getSelection();
                final Object selectedItem = selection.getFirstElement();
                if (selectedItem == null || selection.isEmpty()) {
                    return;
                }

                if (selectedItem instanceof ProjectInfo) {
                    manager.add(makeProjectDownloadAction(modulesViewer, selectedItem));
                    manager.add(makeMetadataEditAction(selectedItem));
                }
            }
        }

    });
    manager.setRemoveAllWhenShown(true);
    return modulesViewer;
}

From source file:eu.numberfour.n4js.tests.outline.AbstractOutlineWorkbenchTest.java

License:Open Source License

protected void assertSelected(TreeViewer aTreeViewer, IOutlineNode... expectedSelection) {
    ISelection selection = aTreeViewer.getSelection();
    assertTrue(selection instanceof IStructuredSelection);
    assertEquals(expectedSelection.length, ((IStructuredSelection) selection).size());
    OUTER: for (Iterator<?> i = ((IStructuredSelection) selection).iterator(); i.hasNext();) {
        Object selectedObject = i.next();
        assertTrue(selectedObject instanceof IOutlineNode);
        for (IOutlineNode expectedSelected : expectedSelection) {
            if (nodeComparer.equals((IOutlineNode) selectedObject, expectedSelected))
                continue OUTER;
        }/*www.ja  v  a 2s .  c o  m*/
        fail("Unexpected selection " + selectedObject.toString());
    }
}

From source file:example.debug.ui.views.PopAction.java

License:Open Source License

public void run() {
    TreeViewer viewer = (TreeViewer) fView.getViewer();
    IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
    Object popee = selection.getFirstElement();
    try {//w  w w . j a  va2s  . c o  m
        PDADebugTarget target = getDebugTarget();
        IValue[] stack = target.getDataStack();
        List restore = new ArrayList();
        for (int i = 0; i < stack.length; i++) {
            Object value = stack[i];
            if (popee.equals(value)) {
                // pop & stop
                target.pop();
                break;
            } else {
                // remember value to push back on
                restore.add(target.pop());
            }
        }
        while (!restore.isEmpty()) {
            IValue value = (IValue) restore.remove(restore.size() - 1);
            target.push(value.getValueString());
        }
    } catch (DebugException e) {
    }
    viewer.refresh();
}

From source file:fr.esrf.icat.manager.core.part.ServerPart.java

License:Apache License

@PostConstruct
public void postConstruct(final Composite parent, final EMenuService menuService,
        final EPartService partService, final EModelService modelService,
        final ESelectionService selectionService, final MWindow window) {

    // only place I could think of for registering that
    window.getContext().set(IWindowCloseHandler.class, new ExitHandler(partService));

    // listening to server changes
    service = ICATDataService.getInstance();
    service.addPropertyChangeListener(this);

    // our viewer
    viewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    icatContentProvider = new IcatServerContentProvider();
    viewer.setContentProvider(icatContentProvider);
    serverLabelProvider = new IcatServerLabelProvider();
    viewer.setLabelProvider(serverLabelProvider);
    viewer.setInput(service);/*from   w w  w.ja  va 2s . c om*/

    // make selection available
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            selectionService.setSelection(selection.getFirstElement());
        }
    });

    // toggle / connect / open entity on dbl click
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            final TreeViewer viewer = (TreeViewer) event.getViewer();
            IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
            final Object selectedNode = thisSelection.getFirstElement();
            if (selectedNode instanceof ICATServer) {
                final ICATServer server = (ICATServer) selectedNode;
                if (!server.isConnected()) {
                    ConnectHandler.connectServer(server, sync, parent.getShell(), new Runnable() {
                        @Override
                        public void run() {
                            if (server.isConnected()) {
                                viewer.setExpandedState(selectedNode, true);
                            }
                        }
                    });
                } else if (server.isConnected()) {
                    viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
                }
            } else if (selectedNode instanceof ICATEntity) {
                OpenEntityHandler.openEntityPart(partService, modelService, window, (ICATEntity) selectedNode);
            } else {
                LOG.warn("Selected element is neither an ICAT server nor an ICAT entity !");
            }
        }
    });

    // context menu
    menuService.registerContextMenu(viewer.getControl(), "icat-manager.core.popupmenu.server");

}

From source file:gov.redhawk.ide.snapshot.ui.SnapshotWizardPage.java

License:Open Source License

private UpdateValueStrategy createWorkspaceTreeT2MUpdateStrategy(final TreeViewer viewer) {
    UpdateValueStrategy updateValueStrategy = new UpdateValueStrategy();
    updateValueStrategy.setAfterConvertValidator(new IValidator() {
        @Override/*from  www  .  j  a va2s . com*/
        public IStatus validate(Object value) {
            // Only do this validation if the workspaceCheck button returns true
            if (workspaceCheck.getSelection()) {
                if (((WorkbenchContentProvider) viewer.getContentProvider())
                        .getElements(ResourcesPlugin.getWorkspace().getRoot()).length == 0) {
                    return ValidationStatus.error("A workspace project must be created.");
                }
                if (((IStructuredSelection) viewer.getSelection()).isEmpty()) {
                    return ValidationStatus.error("A workspace project must be selected.");
                }
            }
            return ValidationStatus.ok();
        }
    });

    return updateValueStrategy;
}

From source file:gov.redhawk.sca.internal.ui.wizards.WaveformSelectionWizardPage.java

License:Open Source License

private void restorePreviousWaveformSelection(final String waveformId) {
    final TreeViewer viewer = WaveformSelectionWizardPage.this.waveformSelectionList.getViewer();
    if (viewer.getControl().isDisposed()) {
        return;//ww w  .  jav a2  s  . c o m
    }
    viewer.refresh();

    // Ignore if there is already a selection
    if (!viewer.getSelection().isEmpty()) {
        return;
    }

    SoftwareAssembly selection = null;
    if (this.contentProvider.getChildren() != null) {
        for (final SoftwareAssembly s : this.contentProvider.getChildren()) {
            if (s.getId().equals(waveformId)) {
                selection = s;
            }
        }
    }

    if (selection == null && !this.contentProvider.getChildren().isEmpty()) {
        selection = this.contentProvider.getChildren().get(0);
    }
    if (selection != null) {
        viewer.setSelection(new StructuredSelection(selection));
    }

}

From source file:info.vancauwenberge.designer.enhtrace.viewer.outline.LogMessageOutlinePage.java

License:Mozilla Public License

public void createControl(Composite parent) {
    System.out.println("LogMessageOutlinePage: createControl() start");
    super.createControl(parent);
    final TreeViewer viewer = getTreeViewer();
    //viewer.setAutoExpandLevel(3);
    viewer.setContentProvider(/* w  w  w . ja va2 s  . c  o  m*/
            new OutlineContentProvider(viewer, ((LiveTraceEditorInput) editor.getEditorInput())));
    viewer.setLabelProvider(new OutlineLabelProvider());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSource() == this)
                return;
            //System.out.println(event);
            editor.setSelection((ITreeSelection) viewer.getSelection());
        }
    });

    viewer.setInput(editor.getEditorInput());

    //Add a context menu extention point
    menuManager = new MenuManager();
    //allow additions
    menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    menuManager.setRemoveAllWhenShown(true);

    Control control = viewer.getControl();
    Menu menu = menuManager.createContextMenu(control);
    control.setMenu(menu);

    //Handle double click on teh default item
    DoubleClickDefaultMenuHandler handler = new DoubleClickDefaultMenuHandler(menu);

    viewer.addDoubleClickListener(handler);
    //viewer.addOpenListener(handler);
    //menu.addMenuListener(handler);

    //allow contributions using this id
    getSite().registerContextMenu("info.vancauwenberge.designer.enhtrace.viewer.outline", menuManager, viewer);

    if (traceFilter == null)
        traceFilter = new TraceFilter(((LiveTraceEditorInput) editor.getEditorInput()));

    viewer.addFilter(traceFilter);
    IActionBars actionBars = getSite().getActionBars();
    IToolBarManager itoolbarmanager = actionBars.getToolBarManager();

    //
    //Expand and collapse actions
    //
    if (m_expandAction == null) {
        m_expandAction = new Action(null, Core.getImageDescriptor("icons/expand_all.gif")) {

            public void run() {
                getTreeViewer().expandAll();

            }

        };
        m_expandAction.setToolTipText("Expand all");
    }
    itoolbarmanager.add(m_expandAction);

    if (m_collapseAction == null) {
        m_collapseAction = new Action(null, Core.getImageDescriptor("icons/collapse_all.gif")) {

            public void run() {
                getTreeViewer().collapseAll();
            }
        };
        m_collapseAction.setToolTipText("Collapse all");
    }

    itoolbarmanager.add(m_collapseAction);
    itoolbarmanager.add(new Separator());

    itoolbarmanager.add(new ComboContributionItem());

    System.out.println("LogMessageOutlinePage: createControl() end");

}

From source file:name.nirav.evariablesview.ui.SaveVariablesBinaryAction.java

License:Open Source License

public void run(IAction action) {
    TreeViewer viewer = (TreeViewer) vview.getViewer();
    this.varList = new ObjectGraphBuilder().buildFromSelection((ITreeSelection) viewer.getSelection(),
            (JDIStackFrame) viewer.getInput());
    FileDialog dialog = new FileDialog(vview.getSite().getShell(), SWT.SAVE);
    dialog.setFilterExtensions(new String[] { "*.bvars" });
    String open = dialog.open();/*www. jav a2  s  .c  o m*/
    if (open != null && open.trim().length() != 0) {
        File file = new File(open);
        if (file.exists()) {
            String message = "The file you selected already exists, overwrite?";
            boolean overwrite = MessageDialogWithToggle.openQuestion(vview.getSite().getShell(),
                    "Variable file already exists", message);
            if (overwrite)
                write(file, this.varList);
            return;
        }
        write(file, this.varList);
    }

}