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

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

Introduction

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

Prototype

public void setAutoExpandLevel(int level) 

Source Link

Document

Sets the auto-expand level to be used when the input of the viewer is set using #setInput(Object) .

Usage

From source file:org.eclipse.scada.configuration.component.tools.dialog.DriverSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    setTitle("Select driver");
    setMessage("Choose a driver from the world model");

    final Composite composite = (Composite) super.createDialogArea(parent);

    final ObservablesManager mgr = new ObservablesManager();

    final TreeViewer viewer = new TreeViewer(composite);
    viewer.setAutoExpandLevel(2);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override// w  ww.  j  a  v  a2  s .  c o  m
        public void doubleClick(final DoubleClickEvent event) {
            handleDoubleClick();
        }
    });

    mgr.runAndCollect(new Runnable() {

        @Override
        public void run() {
            createDataModel(viewer);
        }
    });

    return composite;
}

From source file:org.eclipse.scada.configuration.component.tools.dialog.MasterSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    setTitle("Select master server");
    setMessage("Choose a master server from the world model");

    final Composite composite = (Composite) super.createDialogArea(parent);

    final Composite wrapper = new Composite(composite, SWT.NONE);
    wrapper.setLayout(new GridLayout(1, true));
    wrapper.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    final ObservablesManager mgr = new ObservablesManager();

    final TreeViewer viewer = new TreeViewer(wrapper);
    viewer.setAutoExpandLevel(2);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override//from  www.j  av  a 2 s .  co m
        public void doubleClick(final DoubleClickEvent event) {
            handleDoubleClick();
        }
    });

    final Button add = new Button(wrapper, SWT.RADIO);
    add.setText("Add master server");
    add.setToolTipText("Assign the component to the selected master server in addition");

    this.replace = new Button(wrapper, SWT.RADIO);
    this.replace.setText("Replace all master servers");
    this.replace.setToolTipText("Assign the component soley to the selected master server");
    this.replace.setSelection(true);

    this.delete = new Button(wrapper, SWT.RADIO);
    this.delete.setText("Remove master server");
    this.delete.setToolTipText("Un-assign the component from the selected master server");

    mgr.runAndCollect(new Runnable() {

        @Override
        public void run() {
            createDataModel(viewer);
        }
    });

    if (this.lastSelection != null) {
        viewer.setSelection(new StructuredSelection(this.lastSelection));
        viewer.reveal(this.lastSelection);
    }

    return composite;
}

From source file:org.eclipse.tcf.te.ui.trees.AbstractTreeControl.java

License:Open Source License

/**
 * Configure the tree viewer.//from  www  .j a  va2 s  .  co  m
 *
 * @param viewer The tree viewer. Must not be <code>null</code>.
 */
protected void doConfigureTreeViewer(TreeViewer viewer) {
    Assert.isNotNull(viewer);

    viewer.setAutoExpandLevel(getAutoExpandLevel());

    viewer.setLabelProvider(doCreateTreeViewerLabelProvider(this, viewer));

    ITreeContentProvider mainContentProvider = doCreateTreeViewerContentProvider(viewer);
    Assert.isNotNull(mainContentProvider);
    final ITreeContentProvider contentProvider = new TreeViewerDelegatingContentProvider(this,
            mainContentProvider);
    InvocationHandler handler = new InvocationHandler() {
        @Override
        public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
            if (method.getName().equals("inputChanged")) { //$NON-NLS-1$
                // Determine if the input really changed
                Object oldInput = args[1];
                Object newInput = args[2];

                if ((oldInput == null && newInput != null) || (oldInput != null && newInput == null)
                        || (oldInput != null && !oldInput.equals(newInput))) {
                    onInputChanged(oldInput, newInput);
                }
            }
            return method.invoke(contentProvider, args);
        }
    };
    ClassLoader classLoader = getClass().getClassLoader();
    Class<?>[] interfaces = new Class[] { ITreeContentProvider.class };
    ITreeContentProvider proxy = (ITreeContentProvider) Proxy.newProxyInstance(classLoader, interfaces,
            handler);
    viewer.setContentProvider(proxy);

    viewer.setComparator(doCreateTreeViewerComparator(this, viewer));

    viewer.getTree().setLayoutData(doCreateTreeViewerLayoutData(viewer));

    // Attach the selection changed listener
    selectionChangedListener = doCreateTreeViewerSelectionChangedListener(viewer);
    if (selectionChangedListener != null) {
        viewer.addSelectionChangedListener(selectionChangedListener);
    }

    // Define an editor activation strategy for the common viewer so as to be invoked only programmatically.
    ColumnViewerEditorActivationStrategy activationStrategy = new TreeViewerEditorActivationStrategy(
            getViewerId(), viewer);
    TreeViewerEditor.create(viewer, null, activationStrategy, ColumnViewerEditor.DEFAULT);
}

From source file:org.eclipse.tm.te.ui.trees.AbstractTreeControl.java

License:Open Source License

/**
 * Configure the tree viewer./*w  w  w  .ja  va 2 s.  c  o m*/
 *
 * @param viewer The tree viewer. Must not be <code>null</code>.
 */
protected void configureTreeViewer(TreeViewer viewer) {
    Assert.isNotNull(viewer);

    viewer.setAutoExpandLevel(getAutoExpandLevel());

    viewer.setLabelProvider(doCreateTreeViewerLabelProvider(viewer));
    viewer.setContentProvider(doCreateTreeViewerContentProvider(viewer));
    viewer.setComparator(doCreateTreeViewerComparator(viewer));

    viewer.getTree().setLayoutData(doCreateTreeViewerLayoutData(viewer));

    // Attach the selection changed listener
    selectionChangedListener = doCreateTreeViewerSelectionChangedListener(viewer);
    if (selectionChangedListener != null) {
        viewer.addSelectionChangedListener(selectionChangedListener);
    }
}

From source file:org.eclipse.tracecompass.extension.internal.callstack.ui.views.stacktable.CallStackTableView.java

License:Open Source License

@Override
public void createPartControl(@Nullable Composite parent) {
    super.createPartControl(parent);
    SashForm sf = new SashForm(parent, SWT.NONE);
    /* Build the tree viewer part of the view */
    TreeViewer treeViewer = new TreeViewer(sf, SWT.FULL_SELECTION | SWT.H_SCROLL);
    fTreeViewer = treeViewer;/*from   w  w w.  ja  v  a  2 s  . co  m*/
    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    final Tree tree = treeViewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);
    TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.LEFT);
    column.getColumn().setText("CallSite");
    column.getColumn().setWidth(50);
    treeViewer.setContentProvider(new TreeContentProvider());
    treeViewer.setLabelProvider(new TreeLabelProvider());
}

From source file:org.eclipse.tracecompass.internal.tmf.remote.ui.wizards.fetch.preferences.RemoteProfilesPreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    composite.setLayoutData(gd);//from   w w w .  j  av a 2s .c  o  m

    GridLayout gl = new GridLayout(2, false);
    composite.setLayout(gl);

    PatternFilter patternFilter = new PatternFilter() {
        // show all children of matching profiles or profiles with matching connection node
        @Override
        protected boolean isLeafMatch(Viewer viewer, Object element) {
            TreeViewer treeViewer = (TreeViewer) viewer;
            TracePackageContentProvider contentProvider = (TracePackageContentProvider) treeViewer
                    .getContentProvider();
            Object parentElement = element;
            while (!(parentElement instanceof RemoteImportProfileElement)) {
                parentElement = contentProvider.getParent(parentElement);
                if (parentElement instanceof TracePackageTraceElement) {
                    // don't show children of trace element
                    return false;
                }
            }
            RemoteImportProfileElement profile = (RemoteImportProfileElement) parentElement;
            if (super.isLeafMatch(viewer, profile)) {
                return true;
            }
            for (Object child : contentProvider.getChildren(profile)) {
                if ((child instanceof RemoteImportConnectionNodeElement)
                        && (super.isLeafMatch(viewer, child))) {
                    return true;
                }
            }
            return false;
        }
    };

    final FilteredTree filteredTree = new FilteredTree(composite,
            SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, patternFilter, true);
    gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.heightHint = 0;
    filteredTree.setLayoutData(gd);
    final TreeViewer treeViewer = filteredTree.getViewer();
    fTreeViewer = treeViewer;

    treeViewer.setContentProvider(new TracePackageContentProvider() {
        @Override
        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof ArrayList) {
                return ((ArrayList<?>) inputElement).toArray();
            }
            return super.getElements(inputElement);
        }

        @Override
        public boolean hasChildren(Object element) {
            if (element instanceof TracePackageTraceElement) {
                return false;
            }
            return super.hasChildren(element);
        }
    });

    treeViewer.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof TracePackageTraceElement) {
                for (TracePackageElement files : ((TracePackageTraceElement) element).getChildren()) {
                    if (files instanceof TracePackageFilesElement) {
                        return ((TracePackageFilesElement) files).getFileName();
                    }
                }
            } else if (element instanceof TracePackageElement) {
                return ((TracePackageElement) element).getText();
            }
            return super.getText(element);
        }

        @Override
        public Image getImage(Object element) {
            if (element instanceof TracePackageTraceElement) {
                for (TracePackageElement files : ((TracePackageTraceElement) element).getChildren()) {
                    return files.getImage();
                }
            } else if (element instanceof TracePackageElement) {
                return ((TracePackageElement) element).getImage();
            }
            return super.getImage(element);
        }
    });

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            TracePackageElement element = (TracePackageElement) (selection.size() == 1
                    ? selection.getFirstElement()
                    : null);
            fDetailsPanel.refreshDetailsPanel(element);
            enableButtons(selection);
            fSelectedProfileName = null;
            while (element != null) {
                if (element instanceof RemoteImportProfileElement) {
                    fSelectedProfileName = ((RemoteImportProfileElement) element).getProfileName();
                }
                element = element.getParent();
            }
        }
    });

    createGlobalActions();
    createContextMenu();

    fProfiles = readProfiles(PROFILE_FILE_PATH, new NullProgressMonitor());

    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    treeViewer.setInput(fProfiles);
    treeViewer.expandAll();

    Composite buttonBar = createVerticalButtonBar(composite);
    gd = new GridData(SWT.CENTER, SWT.BEGINNING, false, false);
    gd.verticalIndent = filteredTree.getFilterControl().computeSize(SWT.DEFAULT, SWT.DEFAULT).y
            + gl.verticalSpacing;
    buttonBar.setLayoutData(gd);
    enableButtons((IStructuredSelection) treeViewer.getSelection());

    Composite details = new Composite(composite, SWT.NONE);
    gd = new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1);
    details.setLayoutData(gd);
    gl = new GridLayout(2, false);
    gl.marginWidth = 0;
    details.setLayout(gl);

    Label label = new Label(details, SWT.NONE);
    label.setText(RemoteMessages.RemoteProfilesPreferencePage_DetailsPanelLabel);
    gd = new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1);
    label.setLayoutData(gd);

    fDetailsPanel = new DetailsPanel(details);

    validate();

    for (RemoteImportProfileElement profile : fProfiles) {
        if (profile.getProfileName().equals(fSelectedProfileName)) {
            fTreeViewer.setSelection(new StructuredSelection(profile));
        }
    }

    Dialog.applyDialogFont(composite);
    return composite;
}

From source file:org.eclipse.ui.internal.dialogs.CustomizePerspectiveDialog.java

License:Open Source License

private Composite createActionSetAvailabilityPage(Composite parent) {
    GridData data;//from  ww  w .  j a  v a  2 s .c  o m

    Composite actionSetsComposite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    actionSetsComposite.setLayout(layout);

    // Select... label
    Label label = new Label(actionSetsComposite, SWT.WRAP);
    label.setText(NLS.bind(WorkbenchMessages.ActionSetSelection_selectActionSetsLabel,
            perspective.getDesc().getLabel()));
    data = new GridData(SWT.FILL, SWT.CENTER, true, false);
    label.setLayoutData(data);

    Label sep = new Label(actionSetsComposite, SWT.HORIZONTAL | SWT.SEPARATOR);
    sep.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    SashForm sashComposite = new SashForm(actionSetsComposite, SWT.HORIZONTAL);
    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    sashComposite.setLayoutData(data);

    // Action Set List Composite
    Composite actionSetGroup = new Composite(sashComposite, SWT.NONE);
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    actionSetGroup.setLayout(layout);
    actionSetGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    label = new Label(actionSetGroup, SWT.WRAP);
    label.setText(WorkbenchMessages.ActionSetSelection_availableActionSets);
    label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    final CheckboxTableViewer actionSetsViewer = CheckboxTableViewer.newCheckList(actionSetGroup,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    actionSetAvailabilityTable = actionSetsViewer;
    actionSetsViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    actionSetsViewer.setLabelProvider(new LabelProvider());
    actionSetsViewer.setContentProvider(new ArrayContentProvider());
    actionSetsViewer.setComparator(new WorkbenchViewerComparator());
    actionSetsViewer.setCheckStateProvider(new ICheckStateProvider() {
        public boolean isChecked(Object element) {
            return ((ActionSet) element).isActive();
        }

        public boolean isGrayed(Object element) {
            return false;
        }
    });
    actionSetsViewer.setInput(actionSets.toArray());

    Table table = actionSetsViewer.getTable();
    new TableToolTip(table);

    final ActionSet[] selectedActionSet = { null };

    // Filter to show only branches necessary for the selected action set.
    final ViewerFilter setFilter = new ViewerFilter() {
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (selectedActionSet[0] == null)
                return false;
            return includeInSetStructure((DisplayItem) element, selectedActionSet[0]);
        }
    };

    // Updates the check state of action sets
    actionSetsViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            final ActionSet actionSet = (ActionSet) event.getElement();
            if (event.getChecked()) {
                actionSet.setActive(true);
                for (Iterator i = actionSet.contributionItems.iterator(); i.hasNext();) {
                    DisplayItem item = (DisplayItem) i.next();
                    item.setCheckState(true);
                }
            } else {
                actionSet.setActive(false);
            }
        }
    });

    // Menu and toolbar composite
    Composite actionGroup = new Composite(sashComposite, SWT.NONE);
    layout = new GridLayout();
    layout.numColumns = 2;
    layout.makeColumnsEqualWidth = true;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.horizontalSpacing = 0;
    actionGroup.setLayout(layout);
    actionGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Composite menubarGroup = new Composite(actionGroup, SWT.NONE);
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    menubarGroup.setLayout(layout);
    menubarGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    label = new Label(menubarGroup, SWT.WRAP);
    label.setText(WorkbenchMessages.ActionSetSelection_menubarActions);
    label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    final TreeViewer actionSetMenuViewer = new TreeViewer(menubarGroup);
    actionSetMenuViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    actionSetMenuViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    actionSetMenuViewer.setUseHashlookup(true);
    actionSetMenuViewer.setContentProvider(TreeManager.getTreeContentProvider());
    actionSetMenuViewer.setLabelProvider(TreeManager.getLabelProvider());
    actionSetMenuViewer.addFilter(setFilter);
    actionSetMenuViewer.setInput(menuItems);

    Tree tree = actionSetMenuViewer.getTree();
    new ItemDetailToolTip(actionSetMenuViewer, tree, false, true, setFilter);

    Composite toolbarGroup = new Composite(actionGroup, SWT.NONE);
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    toolbarGroup.setLayout(layout);
    toolbarGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    label = new Label(toolbarGroup, SWT.WRAP);
    label.setText(WorkbenchMessages.ActionSetSelection_toolbarActions);
    label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    final TreeViewer actionSetToolbarViewer = new TreeViewer(toolbarGroup);
    actionSetToolbarViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    actionSetToolbarViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    actionSetToolbarViewer.setContentProvider(TreeManager.getTreeContentProvider());
    actionSetToolbarViewer.setLabelProvider(TreeManager.getLabelProvider());
    actionSetToolbarViewer.addFilter(setFilter);
    actionSetToolbarViewer.setInput(toolBarItems);

    tree = actionSetToolbarViewer.getTree();
    new ItemDetailToolTip(actionSetToolbarViewer, tree, false, true, setFilter);

    // Updates the menu item and toolbar items tree viewers when the
    // selection changes
    actionSetsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            selectedActionSet[0] = (ActionSet) ((IStructuredSelection) event.getSelection()).getFirstElement();
            actionSetMenuViewer.setInput(menuItems);
            actionSetToolbarViewer.setInput(toolBarItems);
        }
    });

    sashComposite.setWeights(new int[] { 30, 70 });

    return actionSetsComposite;
}

From source file:org.eclipse.ui.internal.dialogs.NewWizardNewPage.java

License:Open Source License

/**
 * Create a new FilteredTree in the parent.
 * /*from   ww  w  .  ja  v  a 2 s  . c o m*/
 * @param parent the parent <code>Composite</code>.
 * @since 3.0
 */
protected FilteredTree createFilteredTree(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);

    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.widthHint = SIZING_VIEWER_WIDTH;
    data.horizontalSpan = 2;
    data.grabExcessHorizontalSpace = true;
    data.grabExcessVerticalSpace = true;

    boolean needsHint = DialogUtil.inRegularFontMode(parent);

    //Only give a height hint if the dialog is going to be too small
    if (needsHint) {
        data.heightHint = SIZING_LISTS_HEIGHT;
    }
    composite.setLayoutData(data);

    filteredTreeFilter = new WizardPatternFilter();
    FilteredTree filterTree = new FilteredTree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER,
            filteredTreeFilter, true);
    filterTree.setQuickSelectionMode(true);

    final TreeViewer treeViewer = filterTree.getViewer();
    treeViewer.setContentProvider(new WizardContentProvider());
    treeViewer.setLabelProvider(new DelegatingLabelProviderWithTooltip(new WorkbenchLabelProvider(),
            PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(ContributingPluginDecorator.ID)) {
        protected Object unwrapElement(Object element) {
            if (element instanceof WorkbenchWizardElement) {
                element = ((WorkbenchWizardElement) element).getConfigurationElement();
            }
            if (element instanceof WizardCollectionElement) {
                element = ((WizardCollectionElement) element).getConfigurationElement();
            }
            return element;
        }
    });
    treeViewer.setComparator(NewWizardCollectionComparator.INSTANCE);
    treeViewer.addSelectionChangedListener(this);

    ArrayList inputArray = new ArrayList();

    for (int i = 0; i < primaryWizards.length; i++) {
        inputArray.add(primaryWizards[i]);
    }

    boolean expandTop = false;

    if (wizardCategories != null) {
        if (wizardCategories.getParent() == null) {
            IWizardCategory[] children = wizardCategories.getCategories();
            for (int i = 0; i < children.length; i++) {
                inputArray.add(children[i]);
            }
        } else {
            expandTop = true;
            inputArray.add(wizardCategories);
        }
    }

    // ensure the category is expanded.  If there is a remembered expansion it will be set later.
    if (expandTop) {
        treeViewer.setAutoExpandLevel(2);
    }

    AdaptableList input = new AdaptableList(inputArray);

    treeViewer.setInput(input);

    filterTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));

    treeViewer.getTree().setFont(parent.getFont());

    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent)
         */
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            selectionChanged(new SelectionChangedEvent(event.getViewer(), s));

            Object element = s.getFirstElement();
            if (treeViewer.isExpandable(element)) {
                treeViewer.setExpandedState(element, !treeViewer.getExpandedState(element));
            } else if (element instanceof WorkbenchWizardElement) {
                page.advanceToNextPageOrFinish();
            }
        }
    });

    treeViewer.addFilter(filter);

    if (projectsOnly) {
        treeViewer.addFilter(projectFilter);
    }

    Dialog.applyDialogFont(filterTree);
    return filterTree;
}

From source file:org.eclipse.wst.jsdt.internal.ui.text.JavaOutlineInformationControl.java

License:Open Source License

/**
 * {@inheritDoc}//from w w w  .ja  va  2  s .  c om
 */
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);

    final TreeViewer treeViewer = new OutlineTreeViewer(tree);
    ColoredViewersManager.install(treeViewer);

    // Hard-coded filters
    treeViewer.addFilter(new NamePatternFilter());
    treeViewer.addFilter(new MemberFilter());

    fInnerLabelProvider = new OutlineLabelProvider();
    fInnerLabelProvider.addLabelDecorator(new ProblemsLabelDecorator(null));
    IDecoratorManager decoratorMgr = PlatformUI.getWorkbench().getDecoratorManager();
    if (decoratorMgr.getEnabled("org.eclipse.wst.jsdt.ui.override.decorator")) //$NON-NLS-1$
        fInnerLabelProvider.addLabelDecorator(new OverrideIndicatorLabelDecorator(null));

    treeViewer.setLabelProvider(fInnerLabelProvider);

    fLexicalSortingAction = new LexicalSortingAction(treeViewer);
    fSortByDefiningTypeAction = new SortByDefiningTypeAction(treeViewer);
    fShowOnlyMainTypeAction = new ShowOnlyMainTypeAction(treeViewer);
    fCategoryFilterActionGroup = new CategoryFilterActionGroup(treeViewer, getId(), getInputForCategories());

    fOutlineContentProvider = new OutlineContentProvider(false);
    treeViewer.setContentProvider(fOutlineContentProvider);
    fOutlineSorter = new OutlineSorter();
    treeViewer.setComparator(fOutlineSorter);
    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);

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

    return treeViewer;
}

From source file:org.eclipse.wst.jsdt.internal.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);/*from   w  w w  .  j a v  a2  s . c o  m*/

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

    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((IType) element);
        }
    });

    fLabelProvider.setTextFlags(JavaScriptElementLabels.ALL_DEFAULT | JavaScriptElementLabels.T_POST_QUALIFIED);
    fLabelProvider.addLabelDecorator(new ProblemsLabelDecorator(null));
    treeViewer.setLabelProvider(fLabelProvider);

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

    return treeViewer;
}