/**
*
*/
package de.hannesniederhausen.storynotes.ui.internal.services.actions;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.edit.command.AddCommand;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.InputDialog;
import de.hannesniederhausen.storynotes.model.Category;
import de.hannesniederhausen.storynotes.model.GenericNote;
import de.hannesniederhausen.storynotes.model.StorynotesPackage;
import de.hannesniederhausen.storynotes.ui.internal.actions.AbstractCreationAction;
/**
* @author Hannes Niederhausen
*
*/
public class CreateGenericNote extends AbstractCreationAction {
public CreateGenericNote(IEclipseContext context, EObject parent, String categoryName) {
super(context, parent);
setText("Create "+categoryName+" Note...");
}
@Override
public void run() {
InputDialog dlg = new InputDialog(getShell(),
"Note Title",
"Please enter a title for the note.",
"",
null);
if (dlg.open()==Dialog.OK) {
String name = dlg.getValue();
Category cat = (Category) getParentElement();
GenericNote note = getModelProviderService().getModelFactory().createGenericNote();
note.setTitle(name);
AddCommand cmd = new AddCommand(getEditingDomain(), cat, StorynotesPackage.Literals.CATEGORY__NOTES, note);
getEditingDomain().getCommandStack().execute(cmd);
getSelectionService().setSelection(note);
}
}
}