package jetbrains.mps.ide.ui.dialogs.properties.creators; /*Generated by MPS */ import jetbrains.mps.util.Computable; import java.util.List; import org.jetbrains.mps.openapi.model.SModelReference; import jetbrains.mps.project.Project; import jetbrains.mps.smodel.ModelAccessHelper; import org.jetbrains.mps.openapi.model.SModel; import jetbrains.mps.FilteredGlobalScope; import jetbrains.mps.internal.collections.runtime.Sequence; import jetbrains.mps.internal.collections.runtime.ISelector; import jetbrains.mps.ide.ui.dialogs.properties.choosers.CommonChoosers; import jetbrains.mps.ide.project.ProjectHelper; public class ModelChooser implements Computable<List<SModelReference>> { private Project myProject; public ModelChooser(Project project) { myProject = project; } @Override public List<SModelReference> compute() { List<SModelReference> models = new ModelAccessHelper(myProject.getModelAccess()).runReadAction(new Computable<List<SModelReference>>() { @Override public List<SModelReference> compute() { Iterable<SModel> descriptors = new FilteredGlobalScope().getModels(); return Sequence.fromIterable(descriptors).select(new ISelector<SModel, SModelReference>() { public SModelReference select(SModel it) { return it.getReference(); } }).toListSequence(); } }); return CommonChoosers.showDialogModelCollectionChooser(ProjectHelper.toIdeaProject(myProject), models, null); } }