package org.eclipse.iee.editor.core.pad.common.ui.handler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.IHandler;
import org.eclipse.core.commands.IHandlerListener;
import org.eclipse.iee.editor.IPadEditor;
import org.eclipse.iee.editor.core.pad.common.CollapseEndPart;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.handlers.HandlerUtil;
public class AddCollapseEndHandler implements IHandler {
@Override
public void addHandlerListener(IHandlerListener handlerListener) {
}
@Override
public void dispose() {
}
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
Shell shell = HandlerUtil.getActiveWorkbenchWindow(event).getShell();
IWorkbenchPage page = HandlerUtil.getActiveWorkbenchWindow(event)
.getActivePage();
IEditorPart targetEditor = page.getActiveEditor();
IPadEditor fPadEditor;
try {
fPadEditor = (IPadEditor) targetEditor;
} catch (ClassCastException e) {
fPadEditor = null;
}
if (fPadEditor == null) {
MessageDialog.openError(shell, "Invalid editor", "Invalid editor");
return null;
}
fPadEditor.createPad(new CollapseEndPart());
return null;
}
@Override
public boolean isEnabled() {
return true;
}
@Override
public boolean isHandled() {
return true;
}
@Override
public void removeHandlerListener(IHandlerListener handlerListener) {
}
}