Example usage for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS

List of usage examples for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS.

Prototype

int ALL_LEVELS

To view the source code for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS.

Click Source Link

Document

Constant indicating that all levels of the tree should be expanded or collapsed.

Usage

From source file:org.xmind.ui.dialogs.PopupFilteredList.java

License:Open Source License

protected void configureTreeViewer(TreeViewer treeViewer) {
    final Tree tree = treeViewer.getTree();
    Listener listener = new Listener() {
        public void handleEvent(Event event) {
            switch (event.type) {
            case SWT.KeyDown:
                if (SWTUtils.matchKey(event.stateMask, event.keyCode, 0, SWT.ESC)) {
                    close();//from  w  w  w .  jav a  2  s  .  com
                }
                break;
            case SWT.DefaultSelection:
                fireOpen();
                break;
            case SWT.MouseUp:
                handleMouseUp(event);
                break;
            }
        }

        protected void handleMouseUp(Event e) {
            if (tree.getSelectionCount() < 1)
                return;

            if (e.button == 1) {
                if (tree.equals(e.widget)) {
                    Widget o = tree.getItem(new Point(e.x, e.y));
                    TreeItem selection = tree.getSelection()[0];
                    if (selection.equals(o)) {
                        fireOpen(selection.getData());
                    }
                }
            }
        }
    };
    tree.addListener(SWT.KeyDown, listener);
    tree.addListener(SWT.DefaultSelection, listener);
    tree.addListener(SWT.MouseUp, listener);
    tree.addMouseMoveListener(new MouseMoveListener() {
        final int ignoreEventCount = "gtk".equals(SWT.getPlatform()) ? 4 : 1; //$NON-NLS-1$
        TreeItem fLastItem = null;
        int lastY = 0;
        int itemHeightdiv4 = tree.getItemHeight() / 4;
        int tableHeight = tree.getBounds().height;
        Point tableLoc = tree.toDisplay(0, 0);
        int divCount = 0;

        public void mouseMove(MouseEvent e) {
            if (divCount == ignoreEventCount) {
                divCount = 0;
            }
            if (tree.equals(e.getSource()) & ++divCount == ignoreEventCount) {
                Widget item = tree.getItem(new Point(e.x, e.y));
                if (item instanceof TreeItem && lastY != e.y) {
                    lastY = e.y;
                    if (!item.equals(fLastItem)) {
                        fLastItem = (TreeItem) item;
                        tree.setSelection(new TreeItem[] { fLastItem });
                    } else if (e.y < itemHeightdiv4) {
                        // Scroll up
                        item = getViewer().scrollUp(e.x + tableLoc.x, e.y + tableLoc.y);
                        if (item instanceof TreeItem) {
                            fLastItem = (TreeItem) item;
                            tree.setSelection(new TreeItem[] { fLastItem });
                        }
                    } else if (e.y > tableHeight - itemHeightdiv4) {
                        // Scroll down
                        item = getViewer().scrollDown(e.x + tableLoc.x, e.y + tableLoc.y);
                        if (item instanceof TreeItem) {
                            fLastItem = (TreeItem) item;
                            tree.setSelection(new TreeItem[] { fLastItem });
                        }
                    }
                }
            }
        }
    });

    treeViewer.setContentProvider(new DelegatingTreeContentProvider(getContentProvider()));
    treeViewer.setLabelProvider(new DelegatingLabelProvider(getLabelProvider()));
    if (getFilters() != null)
        treeViewer.setFilters(getFilters());
    getPatternFilter().setPatternText(null);
    treeViewer.addFilter(getPatternFilter());
    treeViewer.setSorter(getSorter());
    treeViewer.setComparator(getComparator());
    treeViewer.setComparer(getComparer());
    treeViewer.setInput(getInput());
    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    if (defaultSelection != null) {
        treeViewer.setSelection(new StructuredSelection(defaultSelection));
    } else if (tree.getItemCount() > 0) {
        tree.setSelection(tree.getItem(0));
    }
}

From source file:org.yakindu.sct.generator.genmodel.ui.wizard.SGenWizardPage2.java

License:Open Source License

private void createObjectTree(Composite container) {
    lblNewLabel = new Label(container, SWT.NONE);
    lblNewLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1));
    lblNewLabel.setText("Choose: " + getSelectedGenerator().getContentType());

    resourceTree = new CheckboxTreeViewer(container, SWT.BORDER);
    resourceTree.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    resourceTree.setContentProvider(new WorkspaceTreeContentProvider());
    resourceTree.setLabelProvider(new SGenWorkspaceLabelProvider());

    TreePropagatingCheckStateListener checkStateListener = new TreePropagatingCheckStateListener(resourceTree) {
        @Override//from w w w.  j a  v a 2s.com
        public void checkStateChanged(CheckStateChangedEvent event) {
            super.checkStateChanged(event);
        }
    };
    resourceTree.addCheckStateListener(checkStateListener);
    resourceTree.addDoubleClickListener(new TreeExpandingDoubleClickListener(resourceTree, checkStateListener));
    resourceTree.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    resourceTree.setFilters(new ViewerFilter[] { new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            // TODO: Filter by common navigator filter instead of supressing
            // '.' prefixed folder
            if (element instanceof IFolder) {
                return !((IFolder) element).getName().startsWith(".");
            }
            return true;
        }
    } });
}

From source file:repast.simphony.relogo.ide.wizards.NetlogoImportWizard.java

License:LGPL

/**
 * The worker method. It will find the container, create the file if missing
 * or just replace its contents, and open the editor on the newly created
 * file./*from   w w  w .  ja va  2s .co  m*/
 */

private boolean doFinish(String projectName, IProgressMonitor monitor) throws CoreException {
    SubMonitor subMonitor = SubMonitor.convert(monitor, 100);
    subMonitor.subTask("Creating " + projectName);
    // create a sample file
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    IResource resource = root.findMember(new Path(projectName));
    boolean res = superPerformFinish(subMonitor.newChild(40)); // super.performFinish();
    if (res) {
        final IJavaElement newElement = getCreatedElement();

        BasicNewProjectResourceWizard.updatePerspective(fConfigElement);
        // here I think is where we should create the special project
        // contents
        IProject relogoProject = pageTwo.getJavaProject().getProject();

        // String groovyOutputPath =
        // relogoProject.getProject().getLocation().toString() + "/bin";
        // preferenceStore(relogoProject).setValue(
        // "groovy.compiler.output.path", groovyOutputPath );;
        try {
            createStandardRelogoDirectories(relogoProject, subMonitor.newChild(50));
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        // RepastSimphonyPlugin.getInstance().addRepastSimphonyNature(relogoProject,monitor,
        // false,true);
        // selectAndReveal(relogoProject);

        final IJavaProject javaProjectRef = pageTwo.getJavaProject();

        Display.getDefault().asyncExec(new Runnable() {
            public void run() {
                // IWorkbenchPart activePart = getActivePart();
                // if (activePart instanceof IPackagesViewPart) {
                // (new ShowInPackageViewAction(activePart.getSite()))
                // .run(newElement);
                // }
                IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
                if (workbenchWindow != null) {
                    IViewPart view = workbenchWindow.getActivePage().findView(JavaUI.ID_PACKAGES);
                    if (view != null && view instanceof IPackagesViewPart) {
                        IPackagesViewPart pv = (IPackagesViewPart) view;
                        ViewerFilter[] filters = pv.getTreeViewer().getFilters();
                        boolean filtered = false;
                        for (ViewerFilter vf : filters) {
                            if (vf instanceof ReLogoFilter) {
                                filtered = true;
                            }
                        }
                        // If ReLogoFilter is active, expand to default level, otherwise
                        // leave closed.
                        if (filtered) {
                            pv.getTreeViewer().expandToLevel(javaProjectRef, 3);
                            if (shapesFolder != null) {
                                pv.getTreeViewer().collapseToLevel(shapesFolder, AbstractTreeViewer.ALL_LEVELS);
                            }
                        }
                    }
                }
            }
        });

        // Ensure that dslds are all available
        final RefreshDSLDJob job = new RefreshDSLDJob(relogoProject);
        job.run(new NullProgressMonitor());
    }
    subMonitor.worked(10);
    return res;
}

From source file:rocks.inspectit.ui.rcp.editor.tree.DeferredTreeViewer.java

License:Open Source License

/**
 * {@inheritDoc}//from ww w.  jav  a 2s.  c om
 */
@Override
protected void internalAdd(Widget widget, Object parentElement, Object[] childElements) {
    // we have to activate our own filters first, stupid eclipse
    // implementation which has got two different paths of applying filters
    // ...
    ViewerFilter[] filters = getFilters();
    for (ViewerFilter filter : filters) {
        childElements = filter.filter(this, parentElement, childElements);
    }

    super.internalAdd(widget, parentElement, childElements);

    // check if we are currently in the process of expanding the child
    // elements
    if (parentWidgets.containsKey(widget)) {
        // iterate over all child elements
        for (Object object : childElements) {
            // is it expandable
            if (super.isExpandable(object)) {
                // get the level
                Integer level = parentWidgets.get(widget);
                if (level == AbstractTreeViewer.ALL_LEVELS) {
                    super.expandToLevel(object, AbstractTreeViewer.ALL_LEVELS);
                } else {
                    super.expandToLevel(object, level - 1);
                }
            }
        }
    }

    if ((objectsToBeExpanded != null) && !objectsToBeExpanded.isEmpty()) {
        // iterate over all child elements
        for (Object object : childElements) {
            // is object in List of objects that need to be expanded?
            if (objectsToBeExpanded.contains(object)) {
                // then expand it
                if (!getExpandedState(object)) {
                    super.expandToLevel(object, 1);
                }
            }
        }
    }

    // if there is object to be selected, we will selected if its parent is expanded
    while (true) {
        Object objToSelect = objectToSelect.get();
        if ((objToSelect != null)
                && (!isRootElement(objToSelect) || getExpandedState(getParentElement(objToSelect)))) {
            List<Object> selectionList = new ArrayList<>();
            Widget w = internalGetWidgetToSelect(objToSelect);
            if (w != null) {
                if (objectToSelect.compareAndSet(objToSelect, null)) {
                    selectionList.add(w);
                    setSelection(selectionList);
                    break;
                }
            } else {
                break;
            }
        } else {
            break;
        }
    }

}

From source file:rocks.inspectit.ui.rcp.editor.tree.DeferredTreeViewer.java

License:Open Source License

/**
 * {@inheritDoc}//  ww w .  j av a2  s .  c  om
 */
@Override
protected void internalExpandToLevel(Widget widget, int level) {
    if ((level > 1) || (AbstractTreeViewer.ALL_LEVELS == level)) {
        // we want to open more than one level, have to take care of that.
        Object data = widget.getData();
        if (!(data instanceof PendingUpdateAdapter)) {
            // just care about our own widgets
            parentWidgets.put(widget, Integer.valueOf(level));
        }
    }

    // when the widget is actually expanding, we have to remove its data from the list of object
    // that
    // needs to be expanded, if the data of the widget is found in the list
    Object data = widget.getData();
    if ((data != null) && objectsToBeExpanded.contains(data)) {
        objectsToBeExpanded.remove(data);
    }

    super.internalExpandToLevel(widget, level);
}

From source file:tubame.knowhow.plugin.ui.editor.multi.documentation.KnowhowEditorTreeViewer.java

License:Apache License

/**
 * {@inheritDoc}//from  ww  w.j a va  2s  .c  o m
 */
@Override
public void addEntryItem(EntryOperator addParentEntry, EntryOperator addEntry) {
    LOGGER.debug("[addParentEntry]" + addParentEntry + "[addEntry]" + addEntry);
    EntryOperator addTargetEntry = addParentEntry.getFindEntry(getInputEntry());
    if (addTargetEntry != null) {
        addEntry.setParentEntry(addTargetEntry);
        addTargetEntry.addChildren(addEntry);
        refreshTreeViewer(true);
        // Expand the additional elements
        super.expandToLevel(addEntry, AbstractTreeViewer.ALL_LEVELS);
    } else {
        List<EntryOperator> entryList = getInputEntry();
        entryList.add(addEntry);
        this.setEntryListData(entryList);
    }
}

From source file:tubame.knowhow.plugin.ui.view.KnowhowEntryTreeViewer.java

License:Apache License

/**
 * {@inheritDoc}//from  ww w  .ja v  a 2 s  .  c  om
 */
@Override
public void expandToLevel(PortabilityKnowhowListViewOperation knowhowListViewOperation) {
    KnowhowEntryTreeViewer.LOGGER.debug("[knowhowListViewOperation]" + knowhowListViewOperation);
    super.expandToLevel(knowhowListViewOperation, AbstractTreeViewer.ALL_LEVELS);
}

From source file:uk.ac.gda.client.plotting.ScanDataPlotterComposite.java

License:Open Source License

private void setupDataSelection() {
    rootDataNode.getChildren().addListChangeListener(new IListChangeListener() {
        @Override/*from   w  ww .ja va2s.  c  om*/
        public void handleListChange(ListChangeEvent event) {
            event.diff.accept(new ListDiffVisitor() {
                @Override
                public void handleRemove(int index, Object element) {
                    //
                }

                @Override
                public void handleAdd(int index, Object element) {
                    if (clearPlotOnStartOfScan) {
                        for (Object obj : dataTreeViewer.getCheckedElements()) {
                            dataTreeViewer.updateCheckSelection(obj, false);
                        }
                    }
                }
            });
        }
    });
    rootDataNode.addPropertyChangeListener(Node.DATA_ADDED_PROP_NAME, new PropertyChangeListener() {
        @Override
        public void propertyChange(final PropertyChangeEvent evt) {
            Node node = (Node) evt.getNewValue();
            dataTreeViewer.expandToLevel(node.getParent(), AbstractTreeViewer.ALL_LEVELS);
            if (node instanceof LineTraceProviderNode && dataTreeViewer.getChecked(node)) {
                addTrace((LineTraceProviderNode) node);
            }
        }
    });

    rootDataNode.addPropertyChangeListener(Node.SCAN_ADDED_PROP_NAME, new PropertyChangeListener() {
        @Override
        public void propertyChange(final PropertyChangeEvent evt) {
            Node node = (Node) evt.getNewValue();
            dataTreeViewer.setSelection(new StructuredSelection(node), true);
        }
    });

    rootDataNode.addPropertyChangeListener(Node.DATA_CHANGED_PROP_NAME, new PropertyChangeListener() {
        @Override
        public void propertyChange(final PropertyChangeEvent evt) {
            Node node = (Node) evt.getNewValue();
            if (node instanceof LineTraceProviderNode && dataTreeViewer.getChecked(node)) {
                updateTrace((LineTraceProviderNode) node);
            }
        }
    });
}

From source file:x10dt.ui.typeHierarchy.HierarchyInformationControl.java

License:Open Source License

protected TreeViewer createTreeViewer(Composite parent, int style) {
    Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI));
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = tree.getItemHeight() * 12;
    tree.setLayoutData(gd);//w ww.ja v  a2  s. com

    TreeViewer treeViewer = new TreeViewer(tree);
    treeViewer.addFilter(new ViewerFilter() {
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            return element instanceof ITypeInfo;
        }
    });

    fLifeCycle = new TypeHierarchyLifeCycle(false);

    treeViewer.setComparator(new HierarchyViewerSorter(fLifeCycle));
    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);

    fLabelProvider = new HierarchyLabelProvider(fLifeCycle);
    fLabelProvider.setFilter(new ViewerFilter() {
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            return hasFocusMethod((ITypeInfo) element);
        }
    });

    fLabelProvider.setTextFlags(X10ElementLabels.ALL_DEFAULT | X10ElementLabels.T_POST_QUALIFIED);
    fLabelProvider.addLabelDecorator(new ProblemsLabelDecorator(LanguageRegistry.findLanguage("X10")));
    treeViewer.setLabelProvider(new ColoringLabelProvider(fLabelProvider));

    treeViewer.getTree().addKeyListener(getKeyAdapter());

    return treeViewer;
}