/**
*
*/
package de.hannesniederhausen.storynotes.ui.internal.handler;
import javax.inject.Inject;
import org.eclipse.e4.core.di.annotations.CanExecute;
import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.emf.common.command.BasicCommandStack;
import de.hannesniederhausen.storynotes.model.File;
import de.hannesniederhausen.storynotes.model.service.IModelProviderService;
/**
* @author Hannes Niederhausen
*
*/
public class SaveHandler extends CommandStackHandler {
@Inject
private IModelProviderService modelProviderService;
@Execute
public void execute() {
modelProviderService.saveFile();
if (getCommandStack()!=null) {
((BasicCommandStack) getCommandStack()).saveIsDone();
}
}
@CanExecute
public boolean canExecute() {
File file = modelProviderService.getFile();
return (file!=null && file.getFilename()!=null && getCommandStack()!=null
&& ((BasicCommandStack) getCommandStack()).isSaveNeeded());
}
}