/// <summary> /// Update the currently avaialble selection options and enabled/disabled status of the group and model selection widgets /// </summary> private void updateGui() { ModelSwitchGroup[] availableGroups = modelGroups.Where(m => m.isAvailable()).ToArray(); int len = availableGroups.Length; string[] groupNames = new string[len]; for (int i = 0; i < len; i++) { groupNames[i] = availableGroups[i].name; } ModelSwitchGroup group = Array.Find(modelGroups, m => m.name == guiGroupSelection); guiModelSelection = group.enabledModel.name; if (groupNames.Length > 1) { this.updateUIChooseOptionControl("guiGroupSelection", groupNames, groupNames, true, guiGroupSelection); } string[] modelNames = group.getModelNames(); if (modelNames.Length > 1) { this.updateUIChooseOptionControl("guiModelSelection", modelNames, modelNames, true, guiModelSelection); } Fields["guiGroupSelection"].guiActiveEditor = groupNames.Length > 1; Fields["guiModelSelection"].guiActiveEditor = modelNames.Length > 1; Fields["guiModelSelection"].guiName = groupNames.Length > 1 ? "GroupModel" : "Variant"; }