List<ModelBrowserFactory> factories =
SimSystem.getRegistry().getFactoryList(
AbstractModelBrowserFactory.class, pBlock);
ModelBrowserFactory mbFac = null;
if (factories.size() == 0) {
return;
}
if (factories.size() > 1) {
FactorySelectionDialog<ModelBrowserFactory> dlg =
new FactorySelectionDialog<>(WindowManagerManager
.getWindowManager().getMainWindow(), factories, new JLabel(
"Select a model browser to be used"),
"Model browser selection", true);
dlg.setVisible(true);
if (dlg.getSelectedFactories().size() == 0) {
return;
}
mbFac = dlg.getSelectedFactories().get(0);
} else {
mbFac = factories.get(0);
}
// ModelBrowserFactory mbFac =
// SimSystem.getRegistry().getFactory(AbstractModelBrowserFactory.class,
// pBlock);
WindowManagerManager.getWindowManager().addWindow(mbFac.create(pBlock, SimSystem.getRegistry().createContext()));
// FIXME the window has to be closed! Btw what about these actions and
// concurrent runs?
}