void simulation_MarkServer(object sender, MarkServerEventArgs e) { Node serverNode; NodeIdMap.TryGetValue(e.Id, out serverNode); if (serverNode != null) { serverNode.Highlight = true; SimulationServerNode = serverNode; var nodeIds = GetNodeIds(); foreach (var id in nodeIds) { if (id == SimulationServerNode.Id) { SimulationData.Add(id, new List <int>()); continue; } var data = new List <int>(); data.Add(id); SimulationData.Add(id, data); } } }
private void start_Click(object sender, RoutedEventArgs e) { richTextBox.IsEnabled = false; startBtn.IsEnabled = false; nextBtn.IsEnabled = true; stopBtn.IsEnabled = true; BlockCount = richTextBox.Document.Blocks.Count(); if (BlockCount <= 1) { nextBtn.IsEnabled = false; return; } else if (BlockCount == 2) { nextBtn.IsEnabled = false; } CurrentBlockIndex = 0; { var enumerator = richTextBox.Document.Blocks.AsEnumerable().GetEnumerator(); enumerator.MoveNext(); CurrentBlock = enumerator.Current; } String blockText = GetBlockText(CurrentBlock); String regex = "^0: server <- ([0-9]+)$"; int serverId = -1; bool error = false; String errorMessage = ""; Match match = Regex.Match(blockText, regex); if (match.Success && match.Groups.Count > 1) { Int32.TryParse(match.Groups[1].Value, out serverId); if (!NodeList.Contains(serverId)) { errorMessage = String.Format("Node with id \"{0}\" does not exist", serverId); error = true; } } else { error = true; } if (error) { SetupErrorState(); ShowErrorMessage(errorMessage); return; } HighlightBlock(CurrentBlock, GreenHighlightBrush); MarkServerEventArgs args = new MarkServerEventArgs(serverId); MarkServer(this, args); }