package org.eclipselabs.spray.runtime.graphiti;
import org.eclipse.graphiti.mm.pictograms.PictogramsFactory;
import org.eclipse.graphiti.mm.pictograms.PictogramsPackage;
import org.eclipse.graphiti.services.Graphiti;
import org.eclipse.graphiti.services.ICreateService;
import org.eclipse.graphiti.services.IGaCreateService;
import org.eclipse.graphiti.services.IGaLayoutService;
import org.eclipse.graphiti.services.IGaService;
import org.eclipse.graphiti.services.ILayoutService;
import org.eclipse.graphiti.services.ILinkService;
import org.eclipse.graphiti.services.IMigrationService;
import org.eclipse.graphiti.services.IPeCreateService;
import org.eclipse.graphiti.services.IPeLayoutService;
import org.eclipse.graphiti.services.IPeService;
import org.eclipse.graphiti.util.IColorConstant;
import org.eclipse.xtext.service.AbstractGenericModule;
import org.eclipselabs.spray.xtext.api.IColorConstantTypeProvider;
import com.google.inject.Binder;
public class GraphitiRuntimeModule extends AbstractGenericModule {
@Override
public void configure(Binder binder) {
super.configure(binder);
binder.bind(IColorConstantTypeProvider.class).toInstance(new IColorConstantTypeProvider() {
@Override
public Class<?> getColorType() {
return IColorConstant.class;
}
@Override
public Class<?>[] getColorConstantTypes() {
return new Class<?>[]{IColorConstant.class};
}
});
binder.bind(PictogramsPackage.class).toInstance(PictogramsPackage.eINSTANCE);
binder.bind(PictogramsFactory.class).toInstance(PictogramsFactory.eINSTANCE);
}
//---------------------------------------------------------------------------------------------
// Bind Graphiti default services
//---------------------------------------------------------------------------------------------
public void configureICreateService(Binder binder) {
binder.bind(ICreateService.class).toInstance(Graphiti.getCreateService());
}
public void configureIGaCreateService(Binder binder) {
binder.bind(IGaCreateService.class).toInstance(Graphiti.getGaCreateService());
}
public void configureIGaService(Binder binder) {
binder.bind(IGaService.class).toInstance(Graphiti.getGaService());
}
public void configureIGaLayoutService(Binder binder) {
binder.bind(IGaLayoutService.class).toInstance(Graphiti.getGaLayoutService());
}
public void configureILayoutService(Binder binder) {
binder.bind(ILayoutService.class).toInstance(Graphiti.getLayoutService());
}
public void configureILinkService(Binder binder) {
binder.bind(ILinkService.class).toInstance(Graphiti.getLinkService());
}
public void configureIMigrationService(Binder binder) {
binder.bind(IMigrationService.class).toInstance(Graphiti.getMigrationService());
}
public void configureIPeCreateService(Binder binder) {
binder.bind(IPeCreateService.class).toInstance(Graphiti.getPeCreateService());
}
public void configureIPeLayoutService(Binder binder) {
binder.bind(IPeLayoutService.class).toInstance(Graphiti.getPeLayoutService());
}
public void configureIPeService(Binder binder) {
binder.bind(IPeService.class).toInstance(Graphiti.getPeService());
}
}