private void OnNodesToCodeCompleted(object sender, NodesToCodeCompletedEventArgs e) { // Note: this method is executed (i.e. called) from a background thread. if (null == CoreComponent.CurrentDispatcher) { return; // Headless mode? } CoreComponent.CurrentDispatcher.Invoke(new Action(() => { controller.ProcessNodesToCodeConversion(e.InputNodeIds, e.OutputNodes); })); }
public override void Execute() { NodesToCodeCompletedEventArgs args = null; // Gather a list of node IDs to be sent back. List<uint> inputNodeIds = new List<uint>(); foreach (SnapshotNode node in snapshotNodes) inputNodeIds.Add(node.Id); lock (runner.operationsMutex) { try { // Do the thing you do... List<SnapshotNode> outputNodes = GraphToDSCompiler.GraphUtilities.NodeToCodeBlocks(snapshotNodes, runner.graphCompiler); args = new NodesToCodeCompletedEventArgs(inputNodeIds, outputNodes, EventStatus.OK, "Yay, it works!"); } catch (Exception exception) { args = new NodesToCodeCompletedEventArgs(inputNodeIds, null, EventStatus.Error, exception.Message); } } // Notify the listener (e.g. UI) of the completion. if (null != runner.NodesToCodeCompleted) runner.NodesToCodeCompleted(this, args); }
private void OnNUnitNodesToCodeCompleted(object sender, NodesToCodeCompletedEventArgs e) { }