/// <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";
}