void UpdateForm()
{
int selectedControllerCount = controllerTree.SelectedControllers.Count();
buttonConfigureController.Enabled = selectedControllerCount == 1;
buttonNumberChannelsController.Enabled = selectedControllerCount == 1;
buttonRenameController.Enabled = selectedControllerCount == 1;
buttonDeleteController.Enabled = selectedControllerCount >= 1;
int runningCount = 0;
int notRunningCount = 0;
int pausedCount = 0;
int notPausedCount = 0;
foreach (IControllerDevice controller in controllerTree.SelectedControllers) {
if (controller.IsRunning) {
runningCount++;
} else {
notRunningCount++;
}
if (controller.IsPaused) {
pausedCount++;
} else {
notPausedCount++;
}
}
buttonStartController.Enabled = notRunningCount > 0;
buttonStopController.Enabled = runningCount > 0;
buttonAddController.Enabled = comboBoxNewControllerType.SelectedIndex >= 0;
buttonSelectSourceElements.Enabled = controllerTree.SelectedTreeNodes.Count > 0;
if (selectedControllerCount <= 0)
{
labelControllerType.Text = "";
labelOutputCount.Text = "";
} else if (selectedControllerCount == 1) {
labelControllerType.Text = ApplicationServices.GetModuleDescriptor(controllerTree.SelectedControllers.First().ModuleId).TypeName;
labelOutputCount.Text = controllerTree.SelectedControllers.First().OutputCount.ToString();
} else {
labelControllerType.Text = selectedControllerCount + " controllers selected";
int count = 0;
foreach (IControllerDevice controller in controllerTree.SelectedControllers) {
count += controller.OutputCount;
}
labelOutputCount.Text = count.ToString();
}
}