private void buttonSelectSourceElements_Click(object sender, EventArgs e)
{
List<ElementNode> elementNodesToSelect = new List<ElementNode>();
foreach (KeyValuePair<IControllerDevice, HashSet<int>> controllerAndOutputs in SelectedControllersAndOutputs) {
OutputController oc = controllerAndOutputs.Key as OutputController;
if (oc == null)
continue;
foreach (int i in controllerAndOutputs.Value) {
IDataFlowComponent outputComponent = oc.GetDataFlowComponentForOutput(oc.Outputs[i]);
IDataFlowComponent rootComponent = FindRootSourceOfDataComponent(outputComponent);
if (rootComponent is ElementDataFlowAdapter) {
Element element = (rootComponent as ElementDataFlowAdapter).Element;
ElementNode elementNode = VixenSystem.Elements.GetElementNodeForElement(element);
if (elementNode != null) {
elementNodesToSelect.Add(elementNode);
}
}
}
}
MasterForm.SelectElements(elementNodesToSelect, true);
}