in code/platform/src/main/kotlin/org/fbme/ide/platform/projectWizard/Iec61499ProjectTemplate.kt [44:70]
override fun getTemplateFiller(): TemplateFiller {
return TemplateFiller { project ->
val moduleName = settings.moduleName
val moduleLocation = settings.moduleLocation
StartupManager.getInstance(project.project).registerPostStartupActivity {
project.modelAccess.executeCommand {
val solution = NewModuleUtil.createSolution(moduleName, moduleLocation, project)
val root = solution.modelRoots.iterator().next() as DefaultModelRoot
val model = try {
val fullModelName = if (stereotype == null) moduleName else "$moduleName@$stereotype"
root.createModel(SModelName(fullModelName), null, DST, TYPE)
} catch (e: ModelCannotBeCreatedException) {
throw RuntimeException("Model can not be created", e)
}
val repository = PlatformRepositoryProvider.getInstance(project)
val initialElement = initModel(project.project, repository, model)
model.module.declaredDependencies
val initialNode = initialElement.node
project.repository.modelAccess.runReadInEDT {
val navigationSupport = NavigationSupport.getInstance()
navigationSupport.openNode(project, initialNode, true, false)
navigationSupport.selectInTree(project, initialNode, false)
}
}
}
}
}