/**
*
*/
package de.hannesniederhausen.storynotes.ui.internal.services;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.action.IAction;
import de.hannesniederhausen.storynotes.model.Category;
import de.hannesniederhausen.storynotes.model.Note;
import de.hannesniederhausen.storynotes.model.PersonCategory;
import de.hannesniederhausen.storynotes.model.PersonNote;
import de.hannesniederhausen.storynotes.ui.internal.services.actions.CreatePersonCategoryAction;
import de.hannesniederhausen.storynotes.ui.internal.services.actions.CreatePersonNote;
import de.hannesniederhausen.storynotes.ui.internal.services.ui.PersonCategoryInputMask;
import de.hannesniederhausen.storynotes.ui.internal.services.ui.PersonNoteInputMask;
import de.hannesniederhausen.storynotes.ui.services.ICategoryProviderService;
import de.hannesniederhausen.storynotes.ui.views.InputMask;
/**
* @author Hannes Niederhausen
*
*/
public class PersonCategoryProvider implements ICategoryProviderService {
@Override
public Class<? extends InputMask> getCategoryInputMaskClass() {
return PersonCategoryInputMask.class;
}
@Override
public Class<? extends InputMask> getNoteInputMaskClass(
Class<? extends Note> noteClass) {
if (PersonNote.class.isAssignableFrom(noteClass))
return PersonNoteInputMask.class;
return null;
}
@Override
public IAction[] getNoteActions(IEclipseContext context, EObject parent) {
return new IAction[]{new CreatePersonNote(context, parent)};
}
@Override
public IAction getCategoryActions(IEclipseContext context, EObject parent) {
return new CreatePersonCategoryAction(context, parent);
}
@Override
public Class<? extends Category> getCategoryClass() {
return PersonCategory.class;
}
}