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

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

Introduction

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

Prototype

public boolean getExpandedState(Object elementOrTreePath) 

Source Link

Document

Returns whether the node corresponding to the given element or tree path is expanded or collapsed.

Usage

From source file:org.absmodels.abs.plugin.debug.views.variablesview.VariableView.java

License:Open Source License

@Override
protected Viewer createViewer(final Composite parent) {
    final TreeViewer viewer = new TreeViewer(parent, SWT.SINGLE | SWT.FULL_SELECTION);
    viewer.setContentProvider(new VariableContentProvider());
    viewer.setLabelProvider(new VariableLabelProvider());

    final TreeColumn column1 = new TreeColumn(viewer.getTree(), SWT.LEFT);
    column1.setText("Name");
    final TreeColumn column2 = new TreeColumn(viewer.getTree(), SWT.LEFT);
    column2.setText("Value");

    viewer.getTree().setHeaderVisible(true);
    viewer.getTree().setLinesVisible(true);

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override/*from   w w  w  .  jav a2s  .c o m*/
        public void doubleClick(DoubleClickEvent event) {
            Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (selection != null) {
                viewer.setExpandedState(selection, !viewer.getExpandedState(selection));
            }
        }
    });

    parent.addControlListener(new ControlAdapter() {
        @Override
        public void controlResized(ControlEvent e) {
            Rectangle area = parent.getClientArea();
            int width = area.width;

            column1.setWidth(width / 3);
            column2.setWidth(2 * width / 3);
        }
    });
    return viewer;
}

From source file:org.agilereview.ui.basic.reviewExplorer.ViewController.java

License:Open Source License

/**
 * Helper method to expand or collapse (based on the current state) the given element of the given TreeViewer
 * @param treeViewer TreeViewer in which the element is displayed
 * @param element element to collapse/expand
 * @author Thilo Rauch (12.05.2012)/*  w  ww .  ja  v a 2s . co m*/
 */
private void expandOrCollapse(TreeViewer treeViewer, Object element) {
    if (treeViewer.getExpandedState(element)) {
        treeViewer.collapseToLevel(element, 1);
    } else {
        treeViewer.expandToLevel(element, 1);
    }
}

From source file:org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditorOutlinePage.java

License:Apache License

/**
 * {@inheritDoc}/*from   ww w . j  a v  a  2  s  . c  o m*/
 */
public void createControl(Composite parent) {
    // Creating the composite and fake composite
    this.composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new FillLayout());
    this.fakeComposite = new Composite(parent, SWT.NONE);

    // Creating the No Outline composite
    noOutlineComposite = new Composite(composite, SWT.NONE);
    noOutlineComposite.setLayout(new FillLayout());

    Label label = new Label(noOutlineComposite, SWT.WRAP);
    label.setText(Messages.getString("EntryEditorOutlinePage.NoOutline")); //$NON-NLS-1$

    // Creating the Outline tree viewer
    super.createControl(parent);

    final TreeViewer treeViewer = getTreeViewer();
    treeViewer.setLabelProvider(new EntryEditorOutlineLabelProvider());
    treeViewer.setContentProvider(new EntryEditorOutlineContentProvider());

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) {
                if (getEntryEditorWidgetTreeViewerInput() != null) {
                    List<Object> selectionList = new ArrayList<Object>();

                    for (Object element : ((IStructuredSelection) event.getSelection()).toArray()) {
                        if (element instanceof IValue) {
                            // select the value
                            IValue value = (IValue) element;
                            selectionList.add(value);
                        } else if (element instanceof IAttribute) {
                            // select attribute and all values
                            IAttribute attribute = (IAttribute) element;
                            selectionList.add(attribute);
                            selectionList.addAll(Arrays.asList(attribute.getValues()));
                        } else if (element instanceof EntryWrapper) {
                            // select all attributes and values
                            IEntry entry = ((EntryWrapper) element).entry;
                            for (IAttribute attribute : entry.getAttributes()) {
                                selectionList.add(attribute);
                                selectionList.addAll(Arrays.asList(attribute.getValues()));
                            }
                        }
                    }

                    IStructuredSelection selection = new StructuredSelection(selectionList);
                    TreeViewer entryEditorWidgetTreeViewer = getEntryEditorWidgetTreeViewer();
                    if (entryEditorWidgetTreeViewer != null) {
                        entryEditorWidgetTreeViewer.setSelection(selection);
                    }
                }
            }
        }
    });

    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (event.getSelection() instanceof IStructuredSelection) {
                Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
                if (treeViewer.getExpandedState(obj)) {
                    treeViewer.collapseToLevel(obj, 1);
                } else if (((ITreeContentProvider) treeViewer.getContentProvider()).hasChildren(obj)) {
                    treeViewer.expandToLevel(obj, 1);
                }
            }
        }
    });

    this.refresh();
}

From source file:org.apache.directory.studio.ldifeditor.editor.LdifOutlinePage.java

License:Apache License

/**
 * {@inheritDoc}/*from   w  w  w  . j  a v a2s  . co  m*/
 */
public void createControl(Composite parent) {
    super.createControl(parent);

    final TreeViewer treeViewer = getTreeViewer();
    treeViewer.setLabelProvider(new LdifLabelProvider(ldifEditor, isLinkedToLdapBrowser));
    treeViewer.setContentProvider(new LdifContentProvider());

    if (isLinkedToLdapBrowser) {
        treeViewer.setAutoExpandLevel(2);
    }

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) {
                Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();

                if (element instanceof LdifRecord) {
                    LdifRecord ldifRecord = (LdifRecord) element;
                    ldifEditor.selectAndReveal(ldifRecord.getDnLine().getOffset(),
                            ldifRecord.getDnLine().getLength());
                } else if (element instanceof List) {
                    List<?> list = (List<?>) element;

                    if (!list.isEmpty() && list.get(0) instanceof LdifAttrValLine) {
                        LdifAttrValLine line = (LdifAttrValLine) list.get(0);
                        ldifEditor.selectAndReveal(line.getOffset(),
                                line.getRawAttributeDescription().length());
                    }
                } else if (element instanceof LdifAttrValLine) {
                    LdifAttrValLine line = (LdifAttrValLine) element;
                    ldifEditor.selectAndReveal(line.getOffset() + line.getRawAttributeDescription().length()
                            + line.getRawValueType().length(), line.getRawValue().length());
                } else if (element instanceof LdifModSpec) {
                    LdifModSpec modSpec = (LdifModSpec) element;
                    ldifEditor.selectAndReveal(modSpec.getOffset(), modSpec.getModSpecType().getLength());
                }
            }
        }
    });

    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (event.getSelection() instanceof IStructuredSelection) {
                Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
                if (treeViewer.getExpandedState(obj))
                    treeViewer.collapseToLevel(obj, 1);
                else if (((ITreeContentProvider) treeViewer.getContentProvider()).hasChildren(obj))
                    treeViewer.expandToLevel(obj, 1);
            }
        }
    });

    this.refresh();
}

From source file:org.apache.directory.studio.schemaeditor.controller.ProblemsViewController.java

License:Apache License

/**
 * Initializes the DoubleClickListener.//from  www . j  ava2 s .c  om
 */
private void initDoubleClickListener() {
    view.getViewer().addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

            TreeViewer viewer = view.getViewer();

            // What we get from the treeViewer is a StructuredSelection
            StructuredSelection selection = (StructuredSelection) event.getSelection();

            // Here's the real object (an AttributeTypeWrapper, ObjectClassWrapper or IntermediateNode)
            Object objectSelection = selection.getFirstElement();
            IEditorInput input = null;
            String editorId = null;

            // Selecting the right editor and input
            if (objectSelection instanceof SchemaErrorWrapper) {
                SchemaObject object = ((SchemaErrorWrapper) objectSelection).getLdapSchemaException()
                        .getSourceObject();

                if (object instanceof AttributeType) {
                    input = new AttributeTypeEditorInput(
                            Activator.getDefault().getSchemaHandler().getAttributeType(object.getOid()));
                    editorId = AttributeTypeEditor.ID;
                } else if (object instanceof ObjectClass) {
                    input = new ObjectClassEditorInput(
                            Activator.getDefault().getSchemaHandler().getObjectClass(object.getOid()));
                    editorId = ObjectClassEditor.ID;
                }
            } else if (objectSelection instanceof SchemaWarningWrapper) {
                SchemaObject object = ((SchemaWarningWrapper) objectSelection).getSchemaWarning().getSource();

                if (object instanceof AttributeType) {
                    input = new AttributeTypeEditorInput((AttributeType) object);
                    editorId = AttributeTypeEditor.ID;
                } else if (object instanceof ObjectClass) {
                    input = new ObjectClassEditorInput((MutableObjectClass) object);
                    editorId = ObjectClassEditor.ID;
                }
            } else if ((objectSelection instanceof Folder)) {
                // Here we don't open an editor, we just expand the node.
                viewer.setExpandedState(objectSelection, !viewer.getExpandedState(objectSelection));
            }

            // Let's open the editor
            if (input != null) {
                try {
                    page.openEditor(input, editorId);
                } catch (PartInitException e) {
                    PluginUtils.logError(Messages.getString("ProblemsViewController.ErrorOpeningEditor"), e); //$NON-NLS-1$
                    ViewUtils.displayErrorMessageDialog(Messages.getString("ProblemsViewController.Error"), //$NON-NLS-1$
                            Messages.getString("ProblemsViewController.ErrorOpeningEditor")); //$NON-NLS-1$
                }
            }
        }
    });
}

From source file:org.apache.directory.studio.schemaeditor.controller.SchemaViewController.java

License:Apache License

/**
 * Initializes the DoubleClickListener./*  w  w w  .  j a  v a2s  . c om*/
 */
private void initDoubleClickListener() {
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

            TreeViewer viewer = view.getViewer();

            // What we get from the viewer is a StructuredSelection
            StructuredSelection selection = (StructuredSelection) event.getSelection();

            // Here's the real object (an AttributeTypeWrapper, ObjectClassWrapper or IntermediateNode)
            Object objectSelection = selection.getFirstElement();
            IEditorInput input = null;
            String editorId = null;

            // Selecting the right editor and input
            if (objectSelection instanceof AttributeTypeWrapper) {
                input = new AttributeTypeEditorInput(
                        ((AttributeTypeWrapper) objectSelection).getAttributeType());
                editorId = AttributeTypeEditor.ID;
            } else if (objectSelection instanceof ObjectClassWrapper) {
                input = new ObjectClassEditorInput(((ObjectClassWrapper) objectSelection).getObjectClass());
                editorId = ObjectClassEditor.ID;
            } else if ((objectSelection instanceof Folder) || (objectSelection instanceof SchemaWrapper)) {
                // Here we don't open an editor, we just expand the node.
                viewer.setExpandedState(objectSelection, !viewer.getExpandedState(objectSelection));
            }

            // Let's open the editor
            if (input != null) {
                try {
                    page.openEditor(input, editorId);
                } catch (PartInitException e) {
                    PluginUtils.logError(Messages.getString("SchemaViewController.ErrorOpeningEditor"), e); //$NON-NLS-1$
                    ViewUtils.displayErrorMessageDialog(Messages.getString("SchemaViewController.error"), //$NON-NLS-1$
                            Messages.getString("SchemaViewController.ErrorOpeningEditor")); //$NON-NLS-1$
                }
            }
        }
    });
}

From source file:org.bbaw.pdr.ae.view.main.views.Treeview.java

License:Open Source License

/**
 * @param treeViewer This method creates the Tree.
 *//*from   w  w w .j  a  va 2  s .com*/
private void buildTree(final TreeViewer treeViewer) {
    createActions();

    createMenus(treeViewer.getControl());
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                Object[] objs = selection.toArray();
                TreeNode[] tns = new TreeNode[objs.length];
                TreeNode tn;
                for (int i = 0; i < objs.length; i++) {
                    tns[i] = (TreeNode) objs[i];
                }

                System.out.println("Selection size " + selection.size());
                boolean loaded = true;
                if (tns != null && tns.length > 0) {
                    tn = tns[tns.length - 1];
                    if (tn.getPdrQuery() != null) {
                        loaded = false;
                        _treeSearchHelper.processTreeNode(tn);
                        treeViewer.refresh();
                    }

                    if (tn != null && tn.hasChildren()) {
                        if (!treeViewer.getExpandedState(tn)) {
                            loaded = tn.getPdrObject() != null;
                            // treeViewer.setExpandedState(tn,
                            // !treeViewer.getExpandedState(tn));
                        }
                    }
                    if (loaded) // objects are only selected if they are
                                // already loaded, otherwise it might take
                                // too long
                    {
                        // FIXME Selection steuerung
                        ArrayList<PdrObject> helpObjs = new ArrayList<PdrObject>();
                        for (int i = 0; i < tns.length; i++) {
                            if (tns[i].getPdrObject() != null) {
                                helpObjs.add(tns[i].getPdrObject());
                            }
                        }
                        setStatusLine(helpObjs.size() + " " + NLMessages.getString("View_objects_selected"));
                        _selection = helpObjs.toArray(new PdrObject[helpObjs.size()]);
                        _facade.setCurrentTreeObjects(_selection);
                        showCurrentPdrObject();
                    }

                }

                IStatus sAspect = new Status(IStatus.INFO, Activator.PLUGIN_ID,
                        "Tree item selected: " + selection); //$NON-NLS-1$
                _iLogger.log(sAspect);
            }
        }
    });
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(final DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            Object obj = selection.getFirstElement();
            TreeNode tn = (TreeNode) obj;
            if (tn != null && tn.hasChildren()) {
                treeViewer.setExpandedState(tn, !treeViewer.getExpandedState(tn));
            }

        }
    });

}

From source file:org.eclipse.babel.editor.tree.internal.KeyTreeContributor.java

License:Open Source License

/**
 * Contributes double-click support, expanding/collapsing nodes.
 *
 * @param treeViewer//from w ww  .  ja v  a  2  s  .c o  m
 *            tree viewer
 */
private void contributeDoubleClick(final TreeViewer treeViewer) {
    treeViewer.getTree().addMouseListener(new MouseAdapter() {
        public void mouseDoubleClick(MouseEvent event) {
            IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            Object element = selection.getFirstElement();
            if (treeViewer.isExpandable(element)) {
                if (treeViewer.getExpandedState(element)) {
                    treeViewer.collapseToLevel(element, 1);
                } else {
                    treeViewer.expandToLevel(element, 1);
                }
            }
        }
    });
}

From source file:org.eclipse.babel.editor.tree.KeyTreeContributor.java

License:Open Source License

/**
 * Contributes double-click support, expanding/collapsing nodes.
 * @param treeViewer tree viewer//from ww w  .  j  a  v  a  2 s  .c om
 */
private void contributeDoubleClick(final TreeViewer treeViewer) {
    treeViewer.getTree().addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDoubleClick(final MouseEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            final Object element = selection.getFirstElement();
            if (treeViewer.isExpandable(element)) {
                if (treeViewer.getExpandedState(element)) {
                    treeViewer.collapseToLevel(element, 1);
                } else {
                    treeViewer.expandToLevel(element, 1);
                }
            }
        }
    });
}

From source file:org.eclipse.birt.report.designer.ui.lib.explorer.LibraryExplorerTreeViewPage.java

License:Open Source License

/**
 * Handles a double-click event from the viewer.
 * //from   w  ww .  j a  v a 2  s. co  m
 * @param event
 *            the double-click event
 */
protected void handleDoubleClick(DoubleClickEvent event) {
    IStructuredSelection selection = (IStructuredSelection) event.getSelection();
    Object element = selection.getFirstElement();
    TreeViewer viewer = getTreeViewer();

    if (element instanceof ResourceEntryWrapper) {
        switch (((ResourceEntryWrapper) element).getType()) {
        case ResourceEntryWrapper.LIBRARY:
            return;

        case ResourceEntryWrapper.CSS_STYLE_SHEET:
        default:
            break;
        }
    }

    if (viewer.isExpandable(element)) {
        viewer.setExpandedState(element, !viewer.getExpandedState(element));
    }
}