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

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

Introduction

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

Prototype

public Object[] getExpandedElements() 

Source Link

Document

Returns a list of elements corresponding to expanded nodes in this viewer's tree, including currently hidden ones that are marked as expanded but are under a collapsed ancestor.

Usage

From source file:org.eclipse.emf.cdo.ui.widgets.TimeSlider.java

License:Open Source License

public void connect(CDOView view, TreeViewer viewer) {
    if (this.view != view) {
        disconnect();//from ww w . ja v  a2s.co m

        if (view != null) {
            this.view = view;
            this.viewer = viewer;

            CDOBranchPointRange lifetime = null;

            if (this.viewer != null) {
                for (Object element : viewer.getExpandedElements()) {
                    CDOID id = getID(element);
                    if (id != null) {
                        expandedIDs.add(id);
                    }
                }

                this.viewer.addTreeListener(this);

                Object input = viewer.getInput();
                if (input instanceof EObject) {
                    lifetime = CDOUtil.getLifetime(CDOUtil.getCDOObject((EObject) input));
                }
            }

            if (lifetime == null) {
                CDOSession session = view.getSession();
                CDOBranch branch = view.getBranch();

                CDOBranchPoint firstPoint = branch.getPoint(session.getRepositoryInfo().getCreationTime());
                CDOBranchPoint lastPoint = branch.getHead();
                lifetime = CDOBranchUtil.createRange(firstPoint, lastPoint);
            }

            startTimeStamp = lifetime.getStartPoint().getTimeStamp();
            endTimeStamp = lifetime.getEndPoint().getTimeStamp();
            if (endTimeStamp == CDOBranchPoint.UNSPECIFIED_DATE) {
                CDOSession session = view.getSession();
                endTimeStamp = session.getLastUpdateTime();
            }

            absoluteTimeWindowLength = endTimeStamp - startTimeStamp;
            stepSize = absoluteTimeWindowLength / FACTOR;

            setTimeStamp(view.getTimeStamp());

            staleReferencePolicy = new CDOStaleReferencePolicy.DynamicProxy.Enhanced(view);
            view.addListener(this);
            setEnabled(true);
        } else {
            setEnabled(false);
        }
    } else if (this.view == null) {
        setEnabled(false);
    }
}

From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingMultiPageEditor.java

License:Open Source License

/**
 * {@inheritDoc}// w  w  w. j  a v a 2s .  co  m
 */
public void reOpenEditor(IPersistentObject obj) throws PMException {
    getEditorHelper().setDirty(false);
    getEditorHelper().getEditSupport().close();
    PersistableEditorInput input = new PersistableEditorInput(obj);
    try {
        init(getEditorSite(), input);
        // MultiPageEditorPart sets the selection provider to a 
        // MultiPageSelectionProvider during init. We want to continue
        // using our own selection provider, so we re-set it here.
        m_selectionProvider.setSelectionProviderDelegate(m_pageToSelectionProvider.get(getActivePage()));
        getSite().setSelectionProvider(m_selectionProvider);
        final IObjectMappingPO om = getAut().getObjMap();

        m_mappingConfigComponent.setInput(om);
        Map<TreeViewer, IObjectMappingCategoryPO> viewerToInput = new HashMap<TreeViewer, IObjectMappingCategoryPO>();
        viewerToInput.put(m_compNameTreeViewer, om.getUnmappedLogicalCategory());
        viewerToInput.put(m_uiElementTreeViewer, om.getUnmappedTechnicalCategory());
        viewerToInput.put(m_mappedComponentTreeViewer, om.getMappedCategory());

        for (TreeViewer splitViewer : viewerToInput.keySet()) {
            Object[] expandedSplitViewerElements = splitViewer.getExpandedElements();
            setProviders(splitViewer, getCompNameCache());
            splitViewer.setInput(viewerToInput.get(splitViewer));
            splitViewer.setExpandedElements(expandedSplitViewerElements);
            // Clearing the selection seems to help prevent the behavior 
            // noted in bug http://eclip.se/334269
            splitViewer.setSelection(StructuredSelection.EMPTY);
        }
    } catch (PartInitException e) {
        getSite().getPage().closeEditor(this, false);
    }
}

From source file:org.eclipse.jubula.client.ui.rcp.views.TestCaseBrowser.java

License:Open Source License

/**
 * @param po The persistent object for which the structure has changed
 *//*from w  ww  . ja va2 s  .  c o m*/
private void handleDataStructureModified(final IPersistentObject po) {
    if (po instanceof INodePO) {
        final TreeViewer tv = getTreeViewer();
        try {
            tv.getTree().getParent().setRedraw(false);
            // retrieve tree state
            Object[] expandedElements = tv.getExpandedElements();
            ISelection selection = tv.getSelection();

            // update elements
            if (po instanceof IProjectPO) {
                rebuildTree();
            }

            // refresh tree viewer
            tv.refresh();

            // restore tree state
            tv.setExpandedElements(expandedElements);
            tv.setSelection(selection);
        } finally {
            tv.getTree().getParent().setRedraw(true);
        }
    }
}

From source file:org.eclipse.linuxtools.dataviewers.abstractviewers.STDataViewersCSVExporter.java

License:Open Source License

private void collectViewerParameters() {
    Display.getDefault().syncExec(new Runnable() {
        public void run() {
            // getting columns with the right order
            Item[] unOrdColumns = stViewer.getColumns();
            Item[] columns = new Item[unOrdColumns.length];
            int[] columnOrder = stViewer.getColumnOrder();
            for (int i = 0; i < unOrdColumns.length; i++) {
                columns[i] = unOrdColumns[columnOrder[i]];
            }/* w  w w.  jav  a  2s  . co m*/

            // getting fields mapping
            // (before removing hidden columns)
            Map<Item, ISTDataViewersField> fieldsMap = new HashMap<Item, ISTDataViewersField>();
            for (Item column : columns) {
                fieldsMap.put(column, (ISTDataViewersField) column.getData());
            }

            // creating a GUI-thread-independent comparator
            comparator = new CSVDataComparator(stViewer.getTableSorter(), fieldsMap);

            // getting only visible columns, using the column order
            if (!showHiddenColumns) {
                int[] columnsState = stViewer.getHideShowManager().getColumnsState();
                List<Item> enabledColumns = new ArrayList<Item>();
                for (int i = 0; i < columnsState.length; i++) {
                    if (columnsState[columnOrder[i]] == STDataViewersHideShowManager.STATE_SHOWN) {
                        enabledColumns.add(columns[i]);
                    }
                }
                columns = enabledColumns.toArray(new Item[enabledColumns.size()]);
            }

            // collecting fields from columns (ordered & shown)
            fields = new ISTDataViewersField[columns.length];
            for (int i = 0; i < columns.length; i++) {
                fields[i] = (ISTDataViewersField) columns[i].getData();
            }

            // getting input object
            input = stViewer.getViewer().getInput();

            // getting content provider
            contentProvider = stViewer.getViewer().getContentProvider();

            // getting expanded elements if necessary
            expandedElts = new ArrayList<Object>();
            if (!expandAll && stViewer.getViewer() instanceof TreeViewer) {
                TreeViewer tv = (TreeViewer) stViewer.getViewer();
                expandedElts = Arrays.asList(tv.getExpandedElements());
            }
        }
    });
}

From source file:org.eclipse.linuxtools.internal.perf.tests.ModelTest.java

License:Open Source License

@Test
public void testDoubleClickAction() {
    TreeParent invisibleRoot = buildModel("resources/defaultevent-data/perf.data",
            "resources/defaultevent-data/perf.data.txt", "resources/defaultevent-data/perf.data.err.log");

    PerfPlugin.getDefault().setModelRoot(invisibleRoot);
    // update the model root for the view
    PerfCore.refreshView("resources/defaultevent-data/perf.data");

    // number of parents excluding invisibleRoot
    int numOfParents = getNumberOfParents(invisibleRoot) - 1;

    // create a double click action to act on the tree viewer
    try {/*  w w w  .j a v a 2  s .  c  o m*/
        PerfProfileView view = (PerfProfileView) PlatformUI.getWorkbench().getActiveWorkbenchWindow()
                .getActivePage().showView(PerfPlugin.VIEW_ID);
        TreeViewer tv = view.getTreeViewer();
        PerfDoubleClickAction dblClick = new PerfDoubleClickAction(tv);

        // double click every element
        doubleClickAllChildren(invisibleRoot, tv, dblClick);

        // If all elements are expanded, this is the number of elements
        // in our model that have children.
        assertEquals(numOfParents, tv.getExpandedElements().length);
    } catch (PartInitException e) {
        fail("Failed to open the Profiling View.");
    }
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.AnomaliesMyFilterHandler.java

License:Open Source License

/**
 * Method execute.// w  w  w . j  ava  2 s. c o  m
 * 
 * @param aEvent
 *            ExecutionEvent
 * @return Object
 * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent)
 */
public Object execute(final ExecutionEvent aEvent) {

    final UIJob job = new UIJob(COMMAND_MESSAGE) {
        @Override
        public IStatus runInUIThread(IProgressMonitor monitor) {
            monitor.beginTask(COMMAND_MESSAGE, 1);

            //We need to preserve the expansion state and restore it afterwards
            final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer();
            final Object[] elements = viewer.getExpandedElements();

            final AnomaliesMyFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController
                    .getNavigatorView().getActionSet()).getCurrentReviewFilter();

            boolean oldValue;
            try {
                oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand());
            } catch (ExecutionException e) {
                monitor.done();
                return Status.CANCEL_STATUS;
            }

            if (!oldValue) {
                R4EUIPlugin.Ftracer.traceInfo("Apply My Anomalies filter to ReviewNavigator"); //$NON-NLS-1$
                viewer.addFilter(filter);
            } else {
                R4EUIPlugin.Ftracer.traceInfo("Remove My Anomalies filter from ReviewNavigator"); //$NON-NLS-1$
                viewer.removeFilter(filter);
            }
            R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements);

            monitor.worked(1);
            monitor.done();
            return Status.OK_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();
    return null;
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.AnomaliesOnlyFilterHandler.java

License:Open Source License

/**
 * Method execute./*  w ww  . j a v  a  2 s  .c  o  m*/
 * 
 * @param aEvent
 *            ExecutionEvent
 * @return Object
 * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent)
 */
public Object execute(final ExecutionEvent aEvent) {

    final UIJob job = new UIJob(COMMAND_MESSAGE) {
        @Override
        public IStatus runInUIThread(IProgressMonitor monitor) {
            monitor.beginTask(COMMAND_MESSAGE, 1);

            //We need to preserve the expansion state and restore it afterwards
            final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer();
            final Object[] elements = viewer.getExpandedElements();

            final AnomaliesOnlyFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController
                    .getNavigatorView().getActionSet()).getAnomaliesFilter();

            boolean oldValue;
            try {
                oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand());
            } catch (ExecutionException e) {
                monitor.done();
                return Status.CANCEL_STATUS;
            }

            if (!oldValue) {
                R4EUIPlugin.Ftracer.traceInfo("Apply Anomalies Only filter to ReviewNavigator"); //$NON-NLS-1$
                viewer.addFilter(filter);
            } else {
                R4EUIPlugin.Ftracer.traceInfo("Remove Anomalies Only filter from ReviewNavigator"); //$NON-NLS-1$
                viewer.removeFilter(filter);
            }
            R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements);

            monitor.worked(1);
            monitor.done();
            return Status.OK_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();
    return null;
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.AssignMyFilterHandler.java

License:Open Source License

/**
 * Method execute.// www.j av  a2s.  c o  m
 * 
 * @param aEvent
 *            ExecutionEvent
 * @return Object
 * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent)
 */
public Object execute(final ExecutionEvent aEvent) {

    final UIJob job = new UIJob(COMMAND_MESSAGE) {
        @Override
        public IStatus runInUIThread(IProgressMonitor monitor) {
            monitor.beginTask(COMMAND_MESSAGE, 1);

            //We need to preserve the expansion state and restore it afterwards
            final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer();
            final Object[] elements = viewer.getExpandedElements();

            final AssignParticipantFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController
                    .getNavigatorView().getActionSet()).getAssignedMyFilter();
            filter.setParticipant(R4EUIModelController.getReviewer());

            boolean oldValue;
            try {
                oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand());
            } catch (ExecutionException e) {
                monitor.done();
                return Status.CANCEL_STATUS;
            }

            if (!oldValue) {
                R4EUIPlugin.Ftracer.traceInfo("Apply My Assigned Elements filter to ReviewNavigator"); //$NON-NLS-1$
                viewer.addFilter(filter);
            } else {
                R4EUIPlugin.Ftracer.traceInfo("Remove My Assigned Elements from ReviewNavigator"); //$NON-NLS-1$
                viewer.removeFilter(filter);
            }
            R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements);

            monitor.worked(1);
            monitor.done();
            return Status.OK_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();
    return null;
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.AssignParticipantFilterHandler.java

License:Open Source License

/**
 * Method execute./*from   w  w w  .  ja v  a 2s. c om*/
 * 
 * @param aEvent
 *            ExecutionEvent
 * @return Object
 * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent)
 */
public Object execute(final ExecutionEvent aEvent) {

    final UIJob job = new UIJob(COMMAND_MESSAGE) {
        @Override
        public IStatus runInUIThread(IProgressMonitor monitor) {
            monitor.beginTask(COMMAND_MESSAGE, 1);

            //We need to preserve the expansion state and restore it afterwards
            final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer();
            final Object[] elements = viewer.getExpandedElements();

            final AssignParticipantFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController
                    .getNavigatorView().getActionSet()).getAssignedParticipantFilter();

            if (filter.getParticipant().equals("")) { //$NON-NLS-1$
                final String participant = UIUtils.getParticipantFilterInputDialog();
                if (participant.equals("")) { //$NON-NLS-1$
                    return Status.CANCEL_STATUS;
                }
                filter.setParticipant(participant);
            }

            boolean oldValue;
            try {
                oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand());
            } catch (ExecutionException e) {
                monitor.done();
                return Status.CANCEL_STATUS;
            }

            if (!oldValue) {
                R4EUIPlugin.Ftracer.traceInfo("Apply assigned filter for participant " + filter.getParticipant() //$NON-NLS-1$
                        + " to ReviewNavigator"); //$NON-NLS-1$
                viewer.addFilter(filter);
            } else {
                R4EUIPlugin.Ftracer.traceInfo("Remove assigned filter from ReviewNavigator"); //$NON-NLS-1$
                viewer.removeFilter(filter);
                filter.setParticipant(""); //$NON-NLS-1$
            }
            R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements);

            monitor.worked(1);
            monitor.done();
            return Status.OK_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();
    return null;
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.commands.filters.HideDeltasFilterHandler.java

License:Open Source License

/**
 * Method execute.//from w  w w. jav a 2  s  .  c  o m
 * 
 * @param aEvent
 *            ExecutionEvent
 * @return Object
 * @see org.eclipse.core.commands.IHandler#execute(ExecutionEvent)
 */
public Object execute(final ExecutionEvent aEvent) {

    final UIJob job = new UIJob(COMMAND_MESSAGE) {
        @Override
        public IStatus runInUIThread(IProgressMonitor monitor) {
            monitor.beginTask(COMMAND_MESSAGE, 1);

            //We need to preserve the expansion state and restore it afterwards
            final TreeViewer viewer = R4EUIModelController.getNavigatorView().getTreeViewer();
            final Object[] elements = viewer.getExpandedElements();

            final HideDeltasFilter filter = ((ReviewNavigatorActionGroup) R4EUIModelController
                    .getNavigatorView().getActionSet()).getHideDeltasFilter();

            boolean oldValue;
            try {
                oldValue = HandlerUtil.toggleCommandState(aEvent.getCommand());
            } catch (ExecutionException e) {
                monitor.done();
                return Status.CANCEL_STATUS;
            }

            if (!oldValue) {
                R4EUIPlugin.Ftracer.traceInfo("Apply Hide Deltas filter to ReviewNavigator"); //$NON-NLS-1$
                viewer.addFilter(filter);
            } else {
                R4EUIPlugin.Ftracer.traceInfo("Remove Hide Deltas elements filter from ReviewNavigator"); //$NON-NLS-1$
                viewer.removeFilter(filter);
            }
            R4EUIModelController.getNavigatorView().getTreeViewer().setExpandedElements(elements);

            monitor.worked(1);
            monitor.done();
            return Status.OK_STATUS;
        }
    };
    job.setUser(true);
    job.schedule();
    return null;
}