blob: 6ba7403f70dc9166299e9229edf861726355434a [file] [log] [blame]
package org.eclipse.ui.tests.api;
import org.eclipse.core.runtime.*;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.*;
import org.eclipse.jdt.junit.util.*;
public abstract class MockWorkbenchPart implements IWorkbenchPart,
IExecutableExtension
{
protected CallHistory callTrace;
private IPropertyListener myListener;
private Composite myParent;
private IWorkbenchPartSite site;
private String title;
private MockSelectionProvider selectionProvider;
private IConfigurationElement config;
public MockWorkbenchPart() {
callTrace = new CallHistory(this);
selectionProvider = new MockSelectionProvider();
}
public CallHistory getCallHistory()
{
return callTrace;
}
public ISelectionProvider getSelectionProvider() {
return selectionProvider;
}
public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
this.config = config;
title = (String)config.getAttribute("name");
}
public IConfigurationElement getConfig() {
return config;
}
public void setSite(IWorkbenchPartSite site) {
this.site = site;
site.setSelectionProvider(selectionProvider);
}
public IWorkbenchPartSite getSite() {
return site;
}
/**
* @see IWorkbenchPart#addPropertyListener(IPropertyListener)
*/
public void addPropertyListener(IPropertyListener listener) {
myListener = listener;
}
/**
* @see IWorkbenchPart#createPartControl(Composite)
*/
public void createPartControl(Composite parent) {
myParent = parent;
callTrace.add("createPartControl" );
Label label = new Label(parent, SWT.NONE);
label.setText(title);
}
/**
* @see IWorkbenchPart#dispose()
*/
public void dispose() {
callTrace.add("dispose" );
}
/**
* @see IWorkbenchPart#getTitle()
*/
public String getTitle() {
return title;
}
/**
* @see IWorkbenchPart#getTitleImage()
*/
public Image getTitleImage() {
return null;
}
/**
* @see IWorkbenchPart#getTitleToolTip()
*/
public String getTitleToolTip() {
return title;
}
/**
* @see IWorkbenchPart#removePropertyListener(IPropertyListener)
*/
public void removePropertyListener(IPropertyListener listener) {
myListener = null;
}
/**
* @see IWorkbenchPart#setFocus()
*/
public void setFocus() {
callTrace.add("setFocus" );
}
/**
* @see IAdaptable#getAdapter(Class)
*/
public Object getAdapter(Class arg0) {
return null;
}
/**
* Fires a selection out.
*/
public void fireSelection() {
selectionProvider.fireSelection();
}
}