/**
*
*/
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.SettingNote;
import de.hannesniederhausen.storynotes.model.StorynotesPackage;
import de.hannesniederhausen.storynotes.ui.internal.actions.AbstractCreationAction;
/**
* @author Hannes Niederhausen
*
*/
public class CreateSettingNote extends AbstractCreationAction {
public CreateSettingNote(IEclipseContext context, EObject parent) {
super(context, parent);
setText("Create Setting...");
}
@Override
public void run() {
InputDialog dlg = new InputDialog(getShell(),
"Setting Name",
"Please enter a name for the setting.",
"",
null);
if (dlg.open()==Dialog.OK) {
String name = dlg.getValue();
Category cat = (Category) getParentElement();
SettingNote note = getModelProviderService().getModelFactory().createSettingNote();
note.setName(name);
AddCommand cmd = new AddCommand(getEditingDomain(), cat, StorynotesPackage.Literals.CATEGORY__NOTES, note);
getEditingDomain().getCommandStack().execute(cmd);
getSelectionService().setSelection(note);
}
}
}