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

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

Introduction

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

Prototype

public TreeViewer(Tree tree) 

Source Link

Document

Creates a tree viewer on the given tree control.

Usage

From source file:com.google.dart.tools.ui.internal.typehierarchy.HierarchyInformationControl_NEW.java

License:Open Source License

@Override
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 ww  w. j  a v a2 s .c  om

    TreeViewer treeViewer = new TreeViewer(tree);
    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);

    contentProvider = new TypeHierarchyContentProvider_NEW();
    treeViewer.setContentProvider(contentProvider);

    labelProvider = new TypeHierarchyLabelProvider_NEW(contentProvider.getLightPredicate());
    ColoringLabelProvider coloringLabelProvider = new ColoringLabelProvider(labelProvider);
    treeViewer.setLabelProvider(coloringLabelProvider);
    coloringLabelProvider.setOwnerDrawEnabled(true);

    return treeViewer;
}

From source file:com.google.dart.tools.ui.internal.typehierarchy.HierarchyInformationControl_OLD.java

License:Open Source License

@Override
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 ww .ja v a  2 s  .  c o m*/

    TreeViewer treeViewer = new TreeViewer(tree);
    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);

    contentProvider = new TypeHierarchyContentProvider_OLD();
    treeViewer.setContentProvider(contentProvider);

    labelProvider = new TypeHierarchyLabelProvider_OLD(contentProvider.getLightPredicate());
    ColoringLabelProvider coloringLabelProvider = new ColoringLabelProvider(labelProvider);
    treeViewer.setLabelProvider(coloringLabelProvider);
    coloringLabelProvider.setOwnerDrawEnabled(true);

    return treeViewer;
}

From source file:com.google.gwt.eclipse.oophm.views.hierarchical.TreeNavigationView.java

License:Open Source License

public TreeNavigationView(Composite parent, int style) {
    super(parent, style);
    setLayout(new FillLayout(SWT.VERTICAL));

    sashForm = new SashForm(this, SWT.HORIZONTAL);
    contentTypes = new TreeViewer(sashForm);
    contentTypes.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            fireSelectionChangedEvent(event);

            Object contentPanelSelection = null;
            ISelection selection = contentTypes.getSelection();
            if (selection != null && !selection.isEmpty()) {
                contentPanelSelection = ((ITreeSelection) selection).getFirstElement();
            }//from   ww  w .j  a v  a 2  s .c o  m

            contentPanel.setSelection(contentPanelSelection);
        }
    });

    contentPanel = new ContentPanel(sashForm, SWT.NONE);

    contentTypes.setComparator(new ModelNodeViewerComparator());
    sashForm.setWeights(new int[] { 20, 80 });
    contentTypes.setLabelProvider(new ModelLabelProvider());
    contentTypes.setContentProvider(new TreeContentProvider());
    contentTypes.getTree().addKeyListener(new EnterKeyTreeToggleKeyAdapter(contentTypes));
}

From source file:com.googlecode.efactory.examples.entity.presentation.EntityEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc --> <!-- end-user-doc -->
 * //from  www. j  a va2 s  . c  o  m
 * @generated
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), EntityEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setInput(editingDomain.getResourceSet());
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
            viewerPane.setTitle(editingDomain.getResourceSet());

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        // Create a page for the parent tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), EntityEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            parentViewer = (TreeViewer) viewerPane.getViewer();
            parentViewer.setAutoExpandLevel(30);
            parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
            parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(parentViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ParentPage_label"));
        }

        // This is the page for the list viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), EntityEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new ListViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            listViewer = (ListViewer) viewerPane.getViewer();
            listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(listViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ListPage_label"));
        }

        // This is the page for the tree viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), EntityEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            treeViewer = (TreeViewer) viewerPane.getViewer();
            treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);

            createContextMenuFor(treeViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreePage_label"));
        }

        // This is the page for the table viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), EntityEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TableViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            tableViewer = (TableViewer) viewerPane.getViewer();

            Table table = tableViewer.getTable();
            TableLayout layout = new TableLayout();
            table.setLayout(layout);
            table.setHeaderVisible(true);
            table.setLinesVisible(true);

            TableColumn objectColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(3, 100, true));
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);

            TableColumn selfColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(2, 100, true));
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);

            tableViewer.setColumnProperties(new String[] { "a", "b" });
            tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(tableViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TablePage_label"));
        }

        // This is the page for the table tree viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), EntityEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();

            Tree tree = treeViewerWithColumns.getTree();
            tree.setLayoutData(new FillLayout());
            tree.setHeaderVisible(true);
            tree.setLinesVisible(true);

            TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);
            objectColumn.setWidth(250);

            TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);
            selfColumn.setWidth(200);

            treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
            treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(treeViewerWithColumns);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:com.ibm.xsp.extlib.designer.tooling.panels.AbstractTreeNodePanel.java

License:Open Source License

@Override
protected void createLeftContents(Composite leftChild) {

    _leftChild = leftChild;//from w  w  w  . j  a v  a 2 s  .c  o m

    // set up the data node, add listener to refresh tree in case "children" is edited 
    // using right tree.

    setupLinkPanelDataNode(leftChild, this.dataNodeListener);

    _linkMenu = addLinkTypes(leftChild.getShell(), false);
    _childLinkMenu = addLinkTypes(leftChild.getShell(), true);

    CustomTree tree = new CustomTree(leftChild, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER, "tree.id"); // $NON-NLS-1$
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    tree.setCols(55);
    GridData treeData = SWTLayoutUtils.createGDFill();
    treeData.heightHint = 200;
    treeData.horizontalIndent = getControlIndentAmt();
    tree.setLayoutData(treeData);
    CustomTreeColumn links = new CustomTreeColumn(tree, SWT.NONE, "links.id"); // $NON-NLS-1$
    links.setText("Links"); // $NLX-AbstractTreeNodePanel.Links-1$
    links.setWidthUnit(CustomTreeColumn.UNIT_PERCENT);
    links.setColWidth(100);

    tree.addKeyListener(delKeyListener);

    _linkViewer = new TreeViewer(tree);
    NodeLabelProvider labelProvider = new NodeLabelProvider(_data.getDesignerProject().getFacesRegistry());
    _linkViewer.setLabelProvider(labelProvider);
    LinkContentProvider contentPvdr = new LinkContentProvider(_descriptor.propertyName,
            _data.getDesignerProject().getFacesRegistry());

    _linkViewer.setContentProvider(contentPvdr);

    _linkViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            ISelection sel = event.getSelection();

            boolean enableRemove = false;
            boolean enableAddChild = false;

            if (sel instanceof IStructuredSelection) {
                IStructuredSelection structured = (IStructuredSelection) sel;
                Object element = structured.getFirstElement();
                if (element instanceof Element) {
                    Element e = (Element) element;
                    refreshMoveButtons(e);
                    DataNode dn = DCUtils.findDataNode(_complexComposite, true);
                    ILoader loader = dn.getLoader();

                    if (null == loader) {
                        loader = XPagesPropertiesViewUtils
                                .getXPagesMultiDomLoader(getExtraData().getDesignerProject());
                    }

                    if (loader != null) {
                        dn.setDataProvider(new SingleCollection(e));
                        try {
                            dn.setClassDef(loader.getClassOf(e));
                        } catch (NodeException ne) {
                            if (ExtLibToolingLogger.EXT_LIB_TOOLING_LOGGER.isErrorEnabled()) {
                                ExtLibToolingLogger.EXT_LIB_TOOLING_LOGGER.error(ne,
                                        "Failed to get class def of element ", e.getTagName()); // $NLE-AbstractTreeNodePanel.Failedtogetclassdefofelement-1$
                            }
                        }
                        // enable "remove"
                        enableRemove = true;
                        // enablement for "Add Child"...
                        IMember mTreeNode = AbstractTreeNodePanel.this.findTreeNodeMember(e, dn.getLoader(),
                                null);
                        enableAddChild = mTreeNode != null;
                    } else {
                        ExtLibToolingLogger.EXT_LIB_TOOLING_LOGGER.warnp(AbstractTreeNodePanel.class,
                                "selectionChanged", "No loader for current data node"); //$NON-NLS-1$ // $NLW-AbstractTreeNodePanel.Noloaderforcurrentdatanode-2$
                    }

                    // show the properties on the right
                    _complexComposite.updatePanel(e.getNamespaceURI(), e.getLocalName());
                    // re-layout parents until we get to a scrolled composite
                    getDisplay().asyncExec(new Runnable() {
                        /*
                         * (non-Javadoc)
                         * @see java.lang.Runnable#run()
                         */
                        public void run() {
                            if (AbstractTreeNodePanel.this.isDisposed()) {
                                return;
                            }
                            Composite parent = _complexComposite;
                            Composite prevParent = parent;
                            while (parent != null && !parent.isDisposed()) {
                                try {
                                    if (parent instanceof ScrolledComposite) {
                                        ((ScrolledComposite) parent)
                                                .setMinSize(prevParent.computeSize(SWT.DEFAULT, SWT.DEFAULT));
                                        break;
                                    }
                                    parent.layout();
                                } catch (Throwable t) {
                                    if (ExtLibToolingLogger.EXT_LIB_TOOLING_LOGGER.isWarnEnabled()) {
                                        ExtLibToolingLogger.EXT_LIB_TOOLING_LOGGER.warnp(
                                                AbstractTreeNodePanel.this, "selectionChanged", t, //$NON-NLS-1$
                                                "Error encountered when refreshing applicationLayout properties panel"); // $NLW-AbstractTreeNodePanel.Errorencounteredwhenrefreshingapp-1$
                                    }
                                }
                                prevParent = parent;
                                parent = parent.getParent();
                            }
                        }
                    });
                } else { // (it's not instanceof Element, must be null
                    if (null == element && null != _complexComposite) {
                        _complexComposite.updatePanel(null, null);
                    }
                }
            }
            _removeLink.setEnabled(enableRemove);
            _addChildLink.setEnabled(enableAddChild);
        }
    });

    _linkViewer.setInput(getDataNode());
    _leftChild.addDisposeListener(new DisposeListener() {
        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent)
         */
        public void widgetDisposed(DisposeEvent event) {
            removeLinkPanelDataNodeListener(dataNodeListener);
        }
    });

    Composite buttonParent = new Composite(leftChild, SWT.NONE);
    buttonParent.setLayout(SWTLayoutUtils.createLayoutNoMarginDefaultSpacing(1));
    GridData bpGD = SWTLayoutUtils.createGDFillVerticalNoGrab();
    bpGD.verticalAlignment = GridData.BEGINNING;
    buttonParent.setLayoutData(bpGD);
    _moveUp = new CustomButton(buttonParent, SWT.NONE, "move.up.id");//$NON-NLS-1$
    _moveUp.setToolTipText("Moves the currently selected item up"); // $NLX-AbstractTreeNodePanel.Movesthecurrentlyselecteditemup-1$
    _moveUp.setImage(getDisabledImage(true));
    _moveUp.addSelectionListener(new SelectionAdapter() {

        /* (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent event) {
            super.widgetSelected(event);
            ISelection sel = _linkViewer.getSelection();
            if (sel instanceof IStructuredSelection) {
                Object o = ((IStructuredSelection) sel).getFirstElement();
                if (o instanceof Element) {
                    moveUp((Element) o);
                }
            }
        }

    });

    _moveDown = new CustomButton(buttonParent, SWT.NONE, "move.down.id");//$NON-NLS-1$
    _moveDown.setToolTipText("Moves the currently selected item down"); // $NLX-AbstractTreeNodePanel.Movesthecurrentlyselecteditemdown-1$
    _moveDown.setImage(getDisabledImage(false));
    _moveDown.addSelectionListener(new SelectionAdapter() {

        /* (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent event) {
            super.widgetSelected(event);
            ISelection sel = _linkViewer.getSelection();
            if (sel instanceof IStructuredSelection) {
                Object o = ((IStructuredSelection) sel).getFirstElement();
                if (o instanceof Element) {
                    moveDown((Element) o);
                }
            }
        }
    });
    if (_linkViewer.getSelection() instanceof IStructuredSelection) {
        Object o = ((IStructuredSelection) _linkViewer.getSelection()).getFirstElement();
        if (o instanceof Element) {
            refreshMoveButtons((Element) o);
        }
    }
}

From source file:com.ibm.xsp.extlib.designer.tooling.panels.redirect.RedirectRulesPanel.java

License:Open Source License

@Override
protected void createLeftContents(Composite leftChild) {

    this.leftChild = leftChild;

    // set up the data node, add listener to refresh tree in case "children" is edited 
    // using right tree.

    linkMenu = addLinkTypes(leftChild.getShell(), false);

    CustomTree tree = new CustomTree(leftChild, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER, "tree.id"); // $NON-NLS-1$
    tree.setLinesVisible(true);//from w  ww. j  a  v a 2  s .com
    tree.setHeaderVisible(true);
    tree.setCols(55);
    GridData treeData = SWTLayoutUtils.createGDFill();
    treeData.heightHint = 200;
    tree.setLayoutData(treeData);
    CustomTreeColumn rules = new CustomTreeColumn(tree, SWT.NONE, "rules.id"); // $NON-NLS-1$
    rules.setText("Rule Type"); // $NLS-RedirectRulesPanel.RuleType-1$
    rules.setWidthUnit(CustomTreeColumn.UNIT_PERCENT);
    rules.setColWidth(50);

    CustomTreeColumn url = new CustomTreeColumn(tree, SWT.NONE, "url.id"); // $NON-NLS-1$
    url.setText("URL"); // $NLS-RedirectRulesPanel.URL-1$
    url.setWidthUnit(CustomTreeColumn.UNIT_REMAINDER);

    tree.addKeyListener(delKeyListener);
    FacesDefinition def = data.getDesignerProject().getFacesRegistry().findDef(EXT_LIB_NAMESPACE_URI,
            "redirect"); // $NON-NLS-1$
    tree.setToolTipText(PropertyPanelTooltipUtil.getTooltipString(def, "rules")); // $NON-NLS-1$
    ruleViewer = new TreeViewer(tree);
    NodeLabelProvider labelProvider = new NodeLabelProvider(data.getDesignerProject().getFacesRegistry(), true);
    ruleViewer.setLabelProvider(labelProvider);
    LinkContentProvider contentPvdr = new LinkContentProvider("rules",
            data.getDesignerProject().getFacesRegistry()); // $NON-NLS-1$

    ruleViewer.setContentProvider(contentPvdr);

    ruleViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            ISelection sel = event.getSelection();

            boolean enableRemove = false;

            if (sel instanceof IStructuredSelection) {
                IStructuredSelection structured = (IStructuredSelection) sel;
                Object element = structured.getFirstElement();
                if (element instanceof Element) {
                    Element e = (Element) element;
                    refreshMoveButtons(e);
                    DataNode dn = DCUtils.findDataNode(cmplxComposite, true);
                    ILoader loader = dn.getLoader();

                    if (null == loader) {
                        loader = XPagesPropertiesViewUtils
                                .getXPagesMultiDomLoader(getExtraData().getDesignerProject());
                    }

                    if (loader != null) {
                        dn.setDataProvider(new SingleCollection(e));
                        try {
                            dn.setClassDef(loader.getClassOf(e));
                        } catch (NodeException ne) {
                            if (ExtLibToolingLogger.EXT_LIB_TOOLING_LOGGER.isErrorEnabled()) {
                                ExtLibToolingLogger.EXT_LIB_TOOLING_LOGGER.error(ne,
                                        "Failed to get class def of element ", e.getTagName()); // $NLE-AbstractTreeNodePanel.Failedtogetclassdefofelement-1$
                            }
                        }
                        // enable "remove"
                        enableRemove = true;
                    } else {
                        ExtLibToolingLogger.EXT_LIB_TOOLING_LOGGER.warnp(AbstractTreeNodePanel.class,
                                "selectionChanged", "No loader for current data node"); //$NON-NLS-1$ // $NLW-AbstractTreeNodePanel.Noloaderforcurrentdatanode-2$
                    }

                    // show the properties on the right
                    cmplxComposite.updatePanel(e.getNamespaceURI(), e.getLocalName());
                    // re-layout parents until we get to a scrolled composite
                    getDisplay().asyncExec(new Runnable() {
                        /*
                         * (non-Javadoc)
                         * @see java.lang.Runnable#run()
                         */
                        public void run() {
                            if (RedirectRulesPanel.this.isDisposed()) {
                                return;
                            }
                            Composite parent = cmplxComposite;
                            Composite prevParent = parent;
                            while (parent != null && !parent.isDisposed()) {
                                try {
                                    if (parent instanceof ScrolledComposite) {
                                        ((ScrolledComposite) parent)
                                                .setMinSize(prevParent.computeSize(SWT.DEFAULT, SWT.DEFAULT));
                                        break;
                                    }
                                    parent.layout();
                                } catch (Throwable t) {
                                    if (ExtLibToolingLogger.EXT_LIB_TOOLING_LOGGER.isWarnEnabled()) {
                                        ExtLibToolingLogger.EXT_LIB_TOOLING_LOGGER.warnp(
                                                RedirectRulesPanel.this, "selectionChanged", t, //$NON-NLS-1$
                                                "Error encountered when refreshing applicationLayout properties panel"); // $NLW-AbstractTreeNodePanel.Errorencounteredwhenrefreshingapp-1$
                                    }
                                }
                                prevParent = parent;
                                parent = parent.getParent();
                            }
                        }
                    });
                } else { // (it's not instanceof Element, must be null
                    if (null == element && null != cmplxComposite) {
                        cmplxComposite.updatePanel(null, null);
                    }
                }
            }
            removeLink.setEnabled(enableRemove);
        }
    });

    ruleViewer.setInput(getDataNode());
    leftChild.addDisposeListener(new DisposeListener() {
        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent)
         */
        public void widgetDisposed(DisposeEvent event) {
            removeLinkPanelDataNodeListener(dataNodeListener);
        }
    });

    Composite buttonParent = new Composite(leftChild, SWT.NONE);
    buttonParent.setLayout(SWTLayoutUtils.createLayoutNoMarginDefaultSpacing(1));
    GridData bpGD = SWTLayoutUtils.createGDFillVerticalNoGrab();
    bpGD.verticalAlignment = GridData.BEGINNING;
    buttonParent.setLayoutData(bpGD);
    moveUp = new CustomButton(buttonParent, SWT.NONE, "move.up.id");//$NON-NLS-1$
    moveUp.setToolTipText("Moves the currently selected item up"); // $NLX-AbstractTreeNodePanel.Movesthecurrentlyselecteditemup-1$
    moveUp.setImage(getDisabledImage(true));
    moveUp.addSelectionListener(new SelectionAdapter() {

        /* (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent event) {
            super.widgetSelected(event);
            ISelection sel = ruleViewer.getSelection();
            if (sel instanceof IStructuredSelection) {
                Object o = ((IStructuredSelection) sel).getFirstElement();
                if (o instanceof Element) {
                    moveUp((Element) o);
                }
            }
        }

    });

    moveDown = new CustomButton(buttonParent, SWT.NONE, "move.down.id");//$NON-NLS-1$
    moveDown.setToolTipText("Moves the currently selected item down"); // $NLX-AbstractTreeNodePanel.Movesthecurrentlyselecteditemdown-1$
    moveDown.setImage(getDisabledImage(false));
    moveDown.addSelectionListener(new SelectionAdapter() {

        /* (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent event) {
            super.widgetSelected(event);
            ISelection sel = ruleViewer.getSelection();
            if (sel instanceof IStructuredSelection) {
                Object o = ((IStructuredSelection) sel).getFirstElement();
                if (o instanceof Element) {
                    moveDown((Element) o);
                }
            }
        }
    });
    if (ruleViewer.getSelection() instanceof IStructuredSelection) {
        Object o = ((IStructuredSelection) ruleViewer.getSelection()).getFirstElement();
        if (o instanceof Element) {
            refreshMoveButtons((Element) o);
        }
    }

    DataNode dataNode = DCUtils.findDataNode(leftChild, false);
    dataNode.addDataNodeListener(dataNodeListener);
}

From source file:com.iw.plugins.spindle.editors.AbstractPropertySheetEditorSection.java

License:Mozilla Public License

private Tree createTree(Composite container, FormWidgetFactory factory) {
    Tree tree = factory.createTree(container, SWT.NULL);

    MenuManager popupMenuManager = new MenuManager();
    IMenuListener listener = new IMenuListener() {
        public void menuAboutToShow(IMenuManager mng) {
            fillContextMenu(mng);/*  w ww.j  a va 2  s .c om*/
        }
    };
    popupMenuManager.setRemoveAllWhenShown(true);
    popupMenuManager.addMenuListener(listener);
    Menu menu = popupMenuManager.createContextMenu(tree);
    tree.setMenu(menu);

    if (useToolTips) {

        TreeViewerWithToolTips viewer = new TreeViewerWithToolTips(tree);
        viewer.setToolTipProvider(toolTipProvider);
        treeViewer = viewer;

    } else {

        treeViewer = new TreeViewer(tree);
    }

    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            handleEdit();
        }
    });
    treeViewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);
    treeViewer.setContentProvider(contentProvider);
    treeViewer.setLabelProvider(labelProvider);
    treeViewer.addSelectionChangedListener(this);
    treeViewer.setSorter(new TreeViewSorter());
    treeViewer.getControl().addFocusListener(new FocusListener() {
        public void focusGained(FocusEvent event) {
            hasFocus = true;
        }

        public void focusLost(FocusEvent event) {
            hasFocus = false;
        }
    });
    return tree;
}

From source file:com.iw.plugins.spindle.editors.spec.outline.TapestryOutlinePage.java

License:Mozilla Public License

public void createControl(Composite parent) {
    fTree = new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer = new TreeViewer(fTree);
    treeViewer.addSelectionChangedListener(this);
    treeViewer.setContentProvider(createContentProvider());
    treeViewer.setLabelProvider(createLabelProvider());
    treeViewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);
    treeViewer.setUseHashlookup(false);/* w  ww .  ja  va  2 s.  c o  m*/
    treeViewer.setSorter(fCurrentSorter);
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            if (!selection.isEmpty())
                fireSelectionChanged(new DoubleClickSelection(selection.getFirstElement()));
        }
    });
    UIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            adaptToPreferenceChange(event);
        }
    });
    setInput(fSavedInput);
}

From source file:com.iw.plugins.spindle.editors.spec.outline.XMLOutlinePage.java

License:Mozilla Public License

public void createControl(Composite parent) {
    fTree = new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer = new TreeViewer(fTree);
    treeViewer.addSelectionChangedListener(this);
    treeViewer.setContentProvider(createContentProvider());
    treeViewer.setLabelProvider(createLabelProvider());
    treeViewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);
    treeViewer.setUseHashlookup(true);//from  w ww . jav a 2 s. com
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();
            if (!selection.isEmpty())
                fireSelectionChanged(new DoubleClickSelection(selection.getFirstElement()));
        }
    });
    setInput(fRoot);
}

From source file:com.iw.plugins.spindle.editors.spec.TreeInformationControl.java

License:Mozilla Public License

private void createTreeViewer(Composite parent, int style) {
    Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI));
    GridData data = new GridData(GridData.FILL_BOTH);
    tree.setLayoutData(data);//from w  w w.j  a  va  2s .  c o  m

    fTreeViewer = new TreeViewer(tree);

    // Hide import declartions but show the container
    fTreeViewer.addFilter(new ViewerFilter() {
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            return !(element instanceof IImportDeclaration);
        }
    });

    fTreeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);

    fTreeViewer.getTree().addKeyListener(new KeyListener() {
        public void keyPressed(KeyEvent e) {
            if (e.character == 0x1B) // ESC
                dispose();
        }

        public void keyReleased(KeyEvent e) {
            // do nothing
        }
    });

    fTreeViewer.getTree().addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            // do nothing
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            handleSelectedElement();
        }
    });
}