blob: 01342206f6b54ffdef34eb2601ddbb451e370a7e [file] [log] [blame]
«IMPORT emf»
«IMPORT metaabm»
«IMPORT metaabm::act»
«IMPORT metaabm::function»
«EXTENSION metaabm::tmpl::types»
«EXTENSION metaabm::tmpl::names»
«EXTENSION metaabm::tmpl::infer»
«EXTENSION metaabm::tmpl::util»
«EXTENSION metaabm::tmpl::projections»
«EXTENSION metaabm::ascape::tmpl::namesascape»
«EXTENSION metaabm::ascape::tmpl::inferascape»
«AROUND metaabm::tmpl::Java::Imports FOR SAgent
import org.eclipse.amp.agf.IGraphicsAdapter;
import org.eclipse.amp.agf.GraphicsAdapter;
import org.eclipse.amp.agf.gef.IFigureProvider;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.amp.agf.gef.IFigureProvider;
import org.eclipse.jface.viewers.IColorProvider;
import org.eclipse.jface.viewers.ILabelProvider;
«ENDAROUND»
«AROUND metaabm::tmpl::Java::ClassFile FOR IID
«IF metaType == SContext»
«IF generate()»
«FILE javaFileLoc().replaceFirst(".java", "GraphicsAdapter.java")-»
«EXPAND metaabm::tmpl::Java::ClassText»
«ENDFILE
«ENDIF»
«ENDIF»
«ENDAROUND»
«AROUND metaabm::tmpl::Java::ClassName FOR IID-»«typeName()»GraphicsAdapter«ENDAROUND»
«AROUND metaabm::tmpl::Java::ClassInheiritance FOR SContext extends GraphicsAdapter«ENDAROUND»
«AROUND ClassComments FOR IID
* «label» Adapter for Graphics. Override to specialize.
«ENDAROUND»
«DEFINE ProviderInstance(String providerType) FOR SAgent»
I«providerType»Provider[] «id()»«providerType»Providers = new I«providerType»Provider[]{«FOREACH styles AS style-»«style.typeName()»«providerType»Provider.getDefault()«ENDFOREACH»};
«ENDDEFINE»
«DEFINE RecurseProviderInstance(String providerType) FOR SAgent
«EXPAND ProviderInstance(providerType)-»
«ENDDEFINE»
«DEFINE RecurseProviderInstance(String providerType) FOR SContext
«EXPAND ProviderInstance(providerType)-»
«EXPAND RecurseProviderInstance(providerType) FOREACH agents
«ENDDEFINE»
«DEFINE RecurseProviderInstance(String providerType) FOR IID»«ENDDEFINE»
«DEFINE ProviderMethod(String providerType) FOR SAgent»
if (type == «typeName()».class) {
return «id()»«providerType»Providers;
}
«ENDDEFINE»
«DEFINE RecurseProviderMethod(String providerType) FOR SAgent
«EXPAND ProviderMethod(providerType)-»
«ENDDEFINE»
«DEFINE RecurseProviderMethod(String providerType) FOR SContext
«EXPAND ProviderMethod(providerType)-»
«EXPAND RecurseProviderMethod(providerType) FOREACH agents
«ENDDEFINE»
«DEFINE RecurseProviderMethod(String providerType) FOR IID»«ENDDEFINE»
«AROUND metaabm::tmpl::Java::ClassImplementation FOR IID
private static IGraphicsAdapter singleton;
«EXPAND RecurseProviderInstance("Color"
«EXPAND RecurseProviderInstance("Figure"
/**
* @param type
* @return
* @see org.eclipse.amp.agf.IGraphicsAdapter#getColorsForClass(java.lang.Class)
*/
public IColorProvider[] getColorsForClass(Class type) {
«EXPAND RecurseProviderMethod("Color"
return null;
}
/**
* @param type
* @return
* @see org.eclipse.amp.agf.IGraphicsAdapter#getFiguresForClass(java.lang.Class)
*/
public IFigureProvider[] getFiguresForClass(Class type) {
«EXPAND RecurseProviderMethod("Figure"
return null;
}
/**
* @param type
* @return
* @see org.eclipse.amp.agf.IGraphicsAdapter#getLabelsForClass(java.lang.Class)
*/
public ILabelProvider[] getLabelsForClass(Class type) {
return null;
}
public static IGraphicsAdapter getDefault() {
if (singleton == null) {
singleton = new «typeName()»GraphicsAdapter();
}
return singleton;
}
«ENDAROUND»