package org.eclipse.iee.pad.graph.ui.handlers; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.iee.editor.IPadEditor; import org.eclipse.iee.pad.graph.GraphPart; import org.eclipse.iee.pad.graph.model.GraphElement; import org.eclipse.iee.pad.graph.model.GraphModel; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.handlers.HandlerUtil; import com.google.common.base.Verify; public class AddGraphHandler extends AbstractHandler { @Override public Object execute(ExecutionEvent event) throws ExecutionException { IEditorPart targetEditor = HandlerUtil.getActiveEditor(event); Verify.verify(targetEditor != null, "Active editor cannot be null"); Verify.verify(targetEditor instanceof IPadEditor, "Active editor should be IPadEditor but it is %s", targetEditor.getClass().getName()); IPadEditor fPadEditor = (IPadEditor) targetEditor; GraphModel model = new GraphModel(); model.addElement(new GraphElement()); fPadEditor.createPad(new GraphPart(model), fPadEditor.getCaretOffset()); return null; } }