package org.bundlemaker.core.ui.event.selection.workbench.editor;
import org.bundlemaker.core.ui.event.selection.internal.lifecycle.LifecycleAwarePartListener;
import org.bundlemaker.core.ui.event.selection.workbench.ILifecycleAwarePart;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.EditorPart;
/**
* <p>
* </p>
*
* @author Gerd Wütherich (gerd@gerd-wuetherich.de)
*/
public abstract class AbstractPartLifecycleAwareEditorPart extends EditorPart implements ILifecycleAwarePart {
/** - */
private LifecycleAwarePartListener _partListener;
/**
* {@inheritDoc}
*/
@Override
public boolean isDirty() {
return false;
}
/**
* {@inheritDoc}
*/
@Override
public boolean isSaveAsAllowed() {
return false;
}
/**
* {@inheritDoc}
*/
@Override
public void doSave(IProgressMonitor monitor) {
// nothing to do here
}
/**
* {@inheritDoc}
*/
@Override
public void doSaveAs() {
// nothing to do here
}
/**
* {@inheritDoc}
*/
@Override
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
//
setInput(input);
setSite(site);
// register part listener
_partListener = new LifecycleAwarePartListener(this);
this.getSite().getPage().addPartListener(_partListener);
}
/**
* {@inheritDoc}
*/
@Override
public void dispose() {
// register part listener
this.getSite().getPage().removePartListener(_partListener);
super.dispose();
}
/**
* {@inheritDoc}
*/
@Override
public void onPartActivated() {
//
}
/**
* {@inheritDoc}
*/
@Override
public void onPartBroughtToTop() {
//
}
/**
* {@inheritDoc}
*/
@Override
public void onPartClosed() {
//
}
/**
* {@inheritDoc}
*/
@Override
public void onPartDeactivated() {
//
}
/**
* {@inheritDoc}
*/
@Override
public void onPartOpened() {
//
}
/**
* <p>
* </p>
*
* @return
*/
protected final boolean isActive() {
return getSite().getPage().getActiveEditor() == this;
}
}