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

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

Introduction

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

Prototype

public void setExpandedState(Object elementOrTreePath, boolean expanded) 

Source Link

Document

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

Usage

From source file:nz.co.senanque.madura.ruleeditor.editor.RuleOutlinePage.java

License:Open Source License

public void processChange(final Document doc) {
    if (doc == null) {
        RulesBuilder.buildFile(m_input, this);
        log.debug("Just invoked full build");
        return;/*from  w ww. j a v a2  s  .c o m*/
    }
    final Tree tree = (Tree) getControl();
    final TreeViewer treeView = getTreeViewer();
    try {
        Runnable runnable = new Runnable() {
            public void run() {
                getControl().setRedraw(false);
                try {
                    String s = doc.get();
                    Object expanded[] = treeView.getExpandedElements();
                    tree.removeAll();
                    SchemaParser schemaParser = Utils.getXSDFile(m_input);
                    if (schemaParser == null) {
                        return;
                    }

                    ITypedRegion r[] = doc.computePartitioning(0, s.length());
                    AdaptableList o = ((AdaptableList) getContentOutline(r, s, m_input.getName(),
                            m_input.getLocation().toOSString(), schemaParser));
                    treeView.setInput(o);
                    for (int i = 0; i < expanded.length; i++) {
                        int j = o.children.indexOf(expanded[i]);
                        if (j > -1)
                            treeView.setExpandedState(o.children.get(j), true);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                getControl().setRedraw(true);
                getControl().redraw();
                m_timerStarted = false;
            }
        };
        if (!m_timerStarted) {
            m_timerStarted = true;
            Display.getDefault().timerExec(1000, runnable);
        } else {
            getControl().setRedraw(true);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:nz.co.senanque.madura.workfloweditor.editor.WorkflowOutlinePage.java

License:Open Source License

public void processChange(final Document doc) {
    if (doc == null) {
        WorkflowBuilder.buildFile(m_input, this);
        log.debug("Just invoked full build");
        return;/*  w ww  .  ja  v a 2 s . co  m*/
    }
    final Tree tree = (Tree) getControl();
    final TreeViewer treeView = getTreeViewer();
    try {
        Runnable runnable = new Runnable() {
            public void run() {
                getControl().setRedraw(false);
                try {
                    String s = doc.get();
                    Object expanded[] = treeView.getExpandedElements();
                    tree.removeAll();
                    SchemaParser schemaParser = Utils.getXSDFile(m_input);
                    if (schemaParser == null) {
                        return;
                    }

                    ITypedRegion r[] = doc.computePartitioning(0, s.length());
                    AdaptableList o = ((AdaptableList) getContentOutline(r, s, m_input.getName(),
                            m_input.getLocation().toOSString(), schemaParser));
                    treeView.setInput(o);
                    for (int i = 0; i < expanded.length; i++) {
                        int j = o.children.indexOf(expanded[i]);
                        if (j > -1)
                            treeView.setExpandedState(o.children.get(j), true);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                getControl().setRedraw(true);
                getControl().redraw();
                m_timerStarted = false;
            }
        };
        if (!m_timerStarted) {
            m_timerStarted = true;
            Display.getDefault().timerExec(1000, runnable);
        } else {
            getControl().setRedraw(true);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.absmodels.abs.plugin.debug.views.debugview.DebugView.java

License:Open Source License

@Override
protected Viewer createViewer(Composite parent) {
    final TreeViewer viewer = new TreeViewer(parent);
    viewer.setContentProvider(new DebugTreeContentProvider());
    viewer.setLabelProvider(new DebugTreeStyledLabelProvider());
    viewer.setInput(debugger.getModel());
    viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override//ww  w.  j  a v  a2s.  co m
        public void selectionChanged(SelectionChangedEvent event) {
            refreshButtonEnablement();
            Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (selection instanceof TaskView || selection instanceof ObjectView
                    || selection instanceof TaskStackFrameView) {
                refreshVariableView();
                if (selection instanceof TaskView) {
                    TaskView tv = (TaskView) selection;
                    TaskInfo taskInfo = getDebugger().getModel().getTaskInfo(tv);
                    highlightLine(taskInfo);
                }
            }
            getSchedulerRef().taskSelectionChanged(selection);
        }
    });

    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (selection instanceof ObjectView || selection instanceof TaskStackFrameView) {
                openVariableView();
                refreshVariableView();
            } else {
                viewer.setExpandedState(selection, !viewer.getExpandedState(selection));
            }
        }
    });

    viewer.expandAll();
    return viewer;
}

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// w  ww  .  j  ava2 s .  com
        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.apache.directory.studio.schemaeditor.controller.ProblemsViewController.java

License:Apache License

/**
 * Initializes the DoubleClickListener./*from   ww  w.j  a  va  2 s  .co m*/
 */
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.//from  www  .  ja  va2s  .com
 */
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  .  ja v  a2  s .c  o  m
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.cfeclipse.cfml.views.contentoutline.CFContentOutlineView.java

License:Open Source License

/**
 * for recursive parent expansion in setSelectedDocItem
 * // w  ww  .j  a v  a2s.com
 * @return
 */
private void expandParentItems(DocItem item) {
    // can't do much if nothing is selected
    DocItem parentItem = item.getParent();
    if (parentItem != null) {
        TreeViewer tree = getTreeViewer();
        tree.setExpandedState(parentItem, true);
        tree.refresh(parentItem, false);
        expandParentItems(parentItem);
    }
}

From source file:org.cfeclipse.cfml.views.contentoutline.CFContentOutlineView.java

License:Open Source License

/**
 * sets the currently selected item in docitem form or <code>null</code> if
 * there is none//  w w  w.jav a2  s.  c  o m
 * @return
 */
private void setSelectedDocItem(DocItem item) {
    // can't do much if nothing is selected
    if (item != null) {
        TreeViewer tree = getTreeViewer();
        fSelectionFromEditor = true;
        tree.setSelection(new StructuredSelection(item), false);
        fSelectionFromEditor = false;
        //tree.refresh(item, false);
        tree.setExpandedState(item, true);
        tree.reveal(item);
        // reveal takes care of this. Doh!
        //expandParentItems(item);
    }
}

From source file:org.dawnsci.common.widgets.tree.ClearableFilteredTree.java

License:Open Source License

public void expand(Object element) {
    TreeViewer viewer = getViewer();
    if (element instanceof LabelNode) {
        if (((LabelNode) element).isDefaultExpanded()) {
            viewer.setExpandedState(element, true);
        }//from  ww w . j  av a2 s.c  om
    }
    if (element instanceof TreeNode) {
        TreeNode node = (TreeNode) element;
        for (int i = 0; i < node.getChildCount(); i++) {
            expand(node.getChildAt(i));
        }
    }
}