| «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.agf3d.I3DModelFactoryProvider; |
| import org.eclipse.amp.escape.ascape.adapt.Ascape3DPartFactory; |
| import org.eclipse.amp.escape.ascape.agf3d.GEF3DView; |
| import org.eclipse.jface.viewers.IColorProvider; |
| «ENDAROUND» |
| |
| «AROUND metaabm::tmpl::Java::ClassFile FOR IID-» |
| «IF SContext.isInstance(this) && generate()» |
| «FILE javaFileLoc().replaceFirst(".java", "3D.java")-» |
| «EXPAND metaabm::tmpl::Java::ClassText» |
| «ENDFILE-» |
| «ENDIF» |
| «ENDAROUND» |
| |
| «AROUND metaabm::tmpl::Java::ClassName FOR IID-»«typeName()»3D«ENDAROUND» |
| |
| «AROUND metaabm::tmpl::Java::ClassInheiritance FOR SContext-»extends «typeName()»«ENDAROUND» |
| |
| «DEFINE ColorProvider FOR SAgent» |
| «IF styles.size > 0» |
| if (model instanceof «implementation.className») { |
| return new «styles.get(0).implementation.qualifiedName»ColorProvider(); |
| } |
| «ENDIF-» |
| «ENDDEFINE» |
| «DEFINE RecurseAgentProviders FOR SAgent» |
| «EXPAND ColorProvider» |
| «ENDDEFINE» |
| «DEFINE RecurseAgentProviders FOR SContext» |
| «EXPAND ColorProvider» |
| «EXPAND RecurseAgentProviders FOREACH agents» |
| «ENDDEFINE» |
| |
| «AROUND metaabm::tmpl::Java::Body FOR SContext-» |
| |
| public EditPartFactory getEditPart3DFactory() { |
| return new Ascape3DPartFactory() { |
| public IColorProvider getColorProvider(Object model) { |
| «EXPAND RecurseAgentProviders FOREACH agents» |
| } |
| }; |
| } |
| «ENDAROUND» |
| |