List of usage examples for org.eclipse.jface.viewers TreeViewer removeTreeListener
public void removeTreeListener(ITreeViewerListener listener)
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; } } }); } }