blob: c822846f87cc03586354bafa31b4dfbb7b09b290 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008, 2011 Wind River Systems and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Wind River Systems - initial API and implementation
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.debug.internal.ui.viewers.model.provisional;
import org.eclipse.debug.internal.ui.viewers.model.InternalVirtualTreeModelViewer;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.ViewerLabel;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IMemento;
/**
* A virtual tree model viewer. This viewer does not have a user
* interface. Instead, clients configure and access the viewer's data through
* its public methods.
* <p>
* Style flags supported by this viewer are:
* <ul>
* <li>SWT.VIRTUAL - Indicates that the viewer should be in lazy mode:
* retrieving only elements that are requested.</li>
* <li>SWT.POP_UP - Indicates that the viewer should ignore requests from the
* model to select, expand, or collapse tree elements.</li>
* </ul>
* </p>
* @since 3.5
* @noextend This class is not intended to be sub-classed by clients.
*/
public class VirtualTreeModelViewer extends InternalVirtualTreeModelViewer {
/**
* Creates a virtual tree model viewer.
* @param display Display used by the viewer to call the data providers
* on the UI thread.
* @param style Stlye flags.
* @param context Viewer's presentation context.
*/
public VirtualTreeModelViewer(Display display, int style, IPresentationContext context) {
super(display, style, context, null);
}
/**
* Creates a virtual tree model viewer.
* @param display Display used by the viewer to call the data providers
* on the UI thread.
* @param style style flags.
* @param context Viewer's presentation context.
* @param validator Optional validator that is used to determine which items should be
* considered visible when SWT.VIRTUAL style is used. If <code>null</code> then the
* standard validator is used that updates only the selected items.
*
* @since 3.8
*/
public VirtualTreeModelViewer(Display display, int style, IPresentationContext context, IVirtualItemValidator validator) {
super(display, style, context, validator);
}
/**
* Returns this viewer's presentation context.
*
* @return presentation context
*/
@Override
public IPresentationContext getPresentationContext() {
return super.getPresentationContext();
}
/**
* Registers the given listener for model delta notification.
*
* @param listener model delta listener
*/
@Override
public void addModelChangedListener(IModelChangedListener listener) {
super.addModelChangedListener(listener);
}
/**
* Unregisters the given listener from model delta notification.
*
* @param listener model delta listener
*/
@Override
public void removeModelChangedListener(IModelChangedListener listener) {
super.removeModelChangedListener(listener);
}
/**
* Registers the specified listener for view update notifications.
*
* @param listener listener
*/
@Override
public void addViewerUpdateListener(IViewerUpdateListener listener) {
super.addViewerUpdateListener(listener);
}
/**
* Removes the specified listener from update notifications.
*
* @param listener listener
*/
@Override
public void removeViewerUpdateListener(IViewerUpdateListener listener) {
super.removeViewerUpdateListener(listener);
}
/**
* Returns whether columns can be toggled on/off for this viewer's current
* input element.
*
* @return whether columns can be toggled on/off
*/
@Override
public boolean canToggleColumns() {
return super.canToggleColumns();
}
/**
* Returns the current column presentation for this viewer, or <code>null</code>
* if none.
*
* @return column presentation or <code>null</code>
*/
@Override
public IColumnPresentation getColumnPresentation() {
return super.getColumnPresentation();
}
/**
* Returns identifiers of the visible columns in this viewer, or <code>null</code>
* if there are currently no columns.
*
* @return visible columns identifiers or <code>null</code>
*/
@Override
public String[] getVisibleColumns() {
return super.getVisibleColumns();
}
/**
* Initializes viewer state from the memento
*
* @param memento the {@link IMemento} to read from
*/
@Override
public void initState(IMemento memento) {
super.initState(memento);
}
/**
* Save viewer state into the given memento.
*
* @param memento the {@link IMemento} to save to
*/
@Override
public void saveState(IMemento memento) {
super.saveState(memento);
}
/**
* @return Returns true if columns are being displayed currently.
*/
@Override
public boolean isShowColumns() {
return super.isShowColumns();
}
/**
* Toggles columns on/off for the current column presentation, if any.
*
* @param show whether to show columns if the current input supports
* columns
*/
@Override
public void setShowColumns(boolean show) {
super.setShowColumns(show);
}
/**
* Sets the visible columns for this viewer. Id's correspond to
* column identifiers from a column presentation. Use <code>null</code>
* or an empty collection to display default columns for the current
* column presentation. Only affects the current column presentation.
*
* @param ids column identifiers or <code>null</code>
*/
@Override
public void setVisibleColumns(String[] ids) {
super.setVisibleColumns(ids);
}
@Override
public void updateViewer(IModelDelta delta) {
super.updateViewer(delta);
}
@Override
public ViewerLabel getElementLabel(TreePath path, String columnId) {
return super.getElementLabel(path, columnId);
}
@Override
public VirtualItem[] findItems(Object elementOrTreePath) {
return super.findItems(elementOrTreePath);
}
@Override
public VirtualItem findItem(TreePath path) {
return super.findItem(path);
}
}