public static AvailableGUIAssemblies GetAvailableGUIAssembliesInstance() { if (_instance == null) { _instance = new AvailableGUIAssemblies(); } return(_instance); }
public static IGroupGUI GetGroupGUI(Type projectType, DataGridView grid, List <ISpectrum> spectra, GroupDefinition groupDefinition, GroupTabPage groupTabPage) { //find plugin with accurate project type AvailableGUIAssemblies assemblies = GetAvailableGUIAssembliesInstance(); foreach (GUIDescription gd in assemblies._availableGUIs) { if (gd.projectType == projectType) { return((IGroupGUI)PluginServices.getPluginInstance(gd.plugin, new object[] { grid, spectra, groupDefinition, groupTabPage })); } } //if there is no gui for this projectType use default gui return(new DefaultGroupGUI(grid, spectra, groupDefinition, groupTabPage)); }