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

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

Introduction

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

Prototype

public void removeTreeListener(ITreeViewerListener listener) 

Source Link

Document

Removes a listener for expand and collapse events in this viewer.

Usage

From source file:eu.geclipse.ui.providers.GridModelContentProvider.java

License:Open Source License

/**
 * Called when a new tree viewer was set and/or an old viewer
 * was unset.//from   ww  w  .  j a  v  a 2s .  c  o m
 * 
 * @param oldViewer The old viewer.
 * @param newViewer The new viewer.
 */
protected void treeViewerChanged(final TreeViewer oldViewer, final TreeViewer newViewer) {
    if (oldViewer != newViewer) {
        this.treeViewer = newViewer;
        if (oldViewer != null) {
            oldViewer.removeTreeListener(this);
        }
        if (newViewer != null) {
            newViewer.addTreeListener(this);
        }
    }
}

From source file:org.eclipse.tcf.te.tcf.processes.ui.editor.ProcessMonitorEditorPage.java

License:Open Source License

@Override
protected TreeControl doCreateTreeControl() {
    TreeControl treeControl = new TreeControl(getViewerId(), this) {
        /* (non-Javadoc)
         * @see org.eclipse.tcf.te.ui.trees.AbstractTreeControl#configureTreeColumn(org.eclipse.swt.widgets.TreeColumn)
         *//*from   w w  w  .  ja va 2s. co m*/
        @Override
        protected void configureTreeColumn(TreeColumn treeColumn) {
            super.configureTreeColumn(treeColumn);

            if (treeColumn.getText() != null) {
                String text = Messages.getStringDelegated(ProcessMonitorEditorPage.this.getEditorInputNode(),
                        "ProcessMonitor_treeColum_" + treeColumn.getText().replace(' ', '_')); //$NON-NLS-1$
                if (text != null)
                    treeColumn.setText(text);
            }
        }

        /* (non-Javadoc)
         * @see org.eclipse.tcf.te.ui.trees.AbstractTreeControl#createHeaderMenu(org.eclipse.tcf.te.ui.trees.AbstractTreeControl)
         */
        @Override
        protected TreeViewerHeaderMenu createHeaderMenu(AbstractTreeControl control) {
            Assert.isNotNull(control);
            return new TreeViewerHeaderMenu(control) {
                /* (non-Javadoc)
                 * @see org.eclipse.tcf.te.ui.trees.TreeViewerHeaderMenu#configureMenuItem(org.eclipse.swt.widgets.MenuItem)
                 */
                @Override
                protected void configureMenuItem(MenuItem item) {
                    super.configureMenuItem(item);

                    if (item.getText() != null) {
                        String text = Messages.getStringDelegated(
                                ProcessMonitorEditorPage.this.getEditorInputNode(),
                                "ProcessMonitor_menuItem_" + item.getText().replace(' ', '_')); //$NON-NLS-1$
                        if (text != null)
                            item.setText(text);
                    }
                }
            };
        }

        /* (non-Javadoc)
         * @see org.eclipse.tcf.te.ui.trees.TreeControl#getAutoExpandLevel()
         */
        @Override
        protected int getAutoExpandLevel() {
            if (ProcessMonitorEditorPage.this.getEditorInputNode() instanceof IPeerNode) {
                IPeerNode peerNode = (IPeerNode) ProcessMonitorEditorPage.this.getEditorInputNode();
                IProcessMonitorUIDelegate delegate = ServiceUtils.getUIServiceDelegate(peerNode, peerNode,
                        IProcessMonitorUIDelegate.class);
                if (delegate != null) {
                    return delegate.getAutoExpandLevel();
                }
            }
            return super.getAutoExpandLevel();
        }
    };
    Assert.isNotNull(treeControl);

    if (listener == null) {
        listener = new ProcessMonitorEventListener(treeControl);
        EventManager.getInstance().addEventListener(listener, ChangeEvent.class);
    }

    if (treeListener == null && treeControl.getViewer() instanceof TreeViewer) {
        final TreeViewer treeViewer = (TreeViewer) treeControl.getViewer();

        treeListener = new TreeViewerListener();
        treeViewer.addTreeListener(treeListener);
        treeViewer.getTree().addDisposeListener(new DisposeListener() {
            @Override
            public void widgetDisposed(DisposeEvent e) {
                if (treeListener != null) {
                    treeViewer.removeTreeListener(treeListener);
                    treeListener = null;
                }
            }
        });
    }

    return treeControl;
}

From source file:org.eclipse.tcf.te.tcf.processes.ui.navigator.runtime.ContentProvider.java

License:Open Source License

@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
    // Initialize the tree listener if necessary
    if (listener == null && viewer instanceof TreeViewer) {
        final TreeViewer treeViewer = (TreeViewer) viewer;

        listener = new TreeViewerListener();
        treeViewer.addTreeListener(listener);
        treeViewer.getTree().addDisposeListener(new DisposeListener() {
            @Override/*from  www. ja v  a  2s .c  o  m*/
            public void widgetDisposed(DisposeEvent e) {
                if (listener != null) {
                    treeViewer.removeTreeListener(listener);
                    listener = null;
                }
            }
        });
    }
}