private void CreateOperation(object param) { if (param == null) { return; } OperationNode currentNode = GetCurrentNode(operationNodes); if (currentNode == null && operationNodes.Count != 0) { currentNode = operationNodes[0]; } OperationNode newOpeartionNode = null; switch (param.ToString()) { case "experiment": CreateExperimentNode(); break; case "general_Param": newOpeartionNode = new FastScanParamOperationNode("FastScan Param"); break; case "data": newOpeartionNode = new DataOperationNode("Data"); break; case "background_data": newOpeartionNode = new BackgroundDataOperationNode("Background Data"); break; case "sample": newOpeartionNode = new SampleOperationNode("Administrator 01"); break; case "scan": newOpeartionNode = new FinchScanOperationNode("Scan"); break; case "trigger": newOpeartionNode = new TriggerOperationNode("Trigger"); break; case "temperature": newOpeartionNode = new TemperatureOperationNode("Peltier"); break; case "temperatureScan": newOpeartionNode = new PeltierScanOperationNode("PeltierScan"); break; case "time": newOpeartionNode = new TimeOperationNode("Time"); break; case "microplatereader": newOpeartionNode = new MPROperationNode("Microplate Reader"); break; case "wavelength": newOpeartionNode = new WaveLengthOperationNode("Wave Length"); break; } if (newOpeartionNode != null) { currentNode.Children.Add(newOpeartionNode); newOpeartionNode.ParentNode = currentNode; currentNode.IsExpanded = true; newOpeartionNode.IsSelected = true; } }
public OperationNode GenerateOperationNodeTree(Operation operation) { if (operation == null) { return(null); } OperationNode operationNode = null; if (operation.GetType() == typeof(BackgroundDataOperation)) { operationNode = new BackgroundDataOperationNode(operation as BackgroundDataOperation); } else if (operation.GetType() == typeof(DataOperation)) { operationNode = new DataOperationNode(operation as DataOperation); } else if (operation.GetType() == typeof(ExperimentOperation)) { operationNode = new ExperimentOperationNode(operation as ExperimentOperation); } else if (operation.GetType() == typeof(FastScanParamOperation)) { operationNode = new FastScanParamOperationNode(operation as FastScanParamOperation); } else if (operation.GetType() == typeof(MPROperation)) { operationNode = new MPROperationNode(operation as MPROperation); } else if (operation.GetType() == typeof(SampleOperation)) { operationNode = new SampleOperationNode(operation as SampleOperation); } else if (operation.GetType() == typeof(TemperatureOperation)) { operationNode = new TemperatureOperationNode(operation as TemperatureOperation); } else if (operation.GetType() == typeof(TimeOperation)) { operationNode = new TimeOperationNode(operation as TimeOperation); } else if (operation.GetType() == typeof(TriggerOperation)) { operationNode = new TriggerOperationNode(operation as TriggerOperation); } else if (operation.GetType() == typeof(WaveLengthOperation)) { operationNode = new WaveLengthOperationNode(operation as WaveLengthOperation); } else if (operation.GetType() == typeof(FinchScanOperation)) { operationNode = new FinchScanOperationNode(operation as FinchScanOperation); } else if (operation.GetType() == typeof(PeltierScanOperation)) { operationNode = new PeltierScanOperationNode(operation as PeltierScanOperation); } foreach (Operation childOperation in operation.ChildOperations) { OperationNode childOperationNode = GenerateOperationNodeTree(childOperation); if (childOperationNode != null && operationNode != null) { operationNode.Children.Add(childOperationNode); } } return(operationNode); }