package net.sourceforge.c4jplugin.internal.ui.contracthierarchy;
import org.eclipse.jdt.core.IMember;
import org.eclipse.jdt.core.IType;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IWorkbenchPartSite;
public interface IContractHierarchyViewer {
public void setQualifiedTypeName(boolean on);
public void setInput(Object input);
public Control getControl();
public void initContextMenu(IMenuListener menuListener, String popupId, IWorkbenchPartSite viewSite);
public void contributeToContextMenu(IMenuManager menu);
public void setMemberFilter(IMember[] memberFilter);
public void setWorkingSetFilter(ViewerFilter filter);
/**
* Returns true if the hierarchy contains elements. Returns one of them
* With member filtering it is possible that no elements are visible
*/
public Object containsElements();
/**
* Updates the content of this viewer: refresh and expanding the tree in the way wanted.
*/
public abstract void updateContent(boolean doExpand);
/**
* Returns the title for the current view
*/
public abstract String getTitle();
/**
* Returns true if the hierarchy contains element the element.
*/
public boolean isElementShown(Object element);
/**
* Returns if method filtering is enabled.
*/
public boolean isMethodFiltering();
/**
* Returns true if the hierarchy contains elements. Returns one of them
* With member filtering it is possible that no elements are visible
*/
public IType getRootType();
}