void BetterSampleFound(BetterFoundInfo info) { IDictionary<IColumnSpec, string> messages = new Dictionary<IColumnSpec, string>(); foreach (var columnSpec in columnSpecs) messages[columnSpec] = columnSpec.GetColumnString(infos, info); var algorithmIndex = algorithms.IndexOf(info.Algorithm); mainControl.Invoke(new Action(() => { if (useFullInfo) { ConsoleTextBox.AppendText(Environment.NewLine + String.Format("Better sample found for {0}! Layout is:", algorithmIndex) + Environment.NewLine + MainControl.PrintLayoutWithScore(info.Current, info.CurrentScore)); ConsoleTextBox.AppendText(messages.Select(kv => kv.Key.Caption - DocumentUtil.Colon - kv.Value).Seperated("; ").ToString() + Environment.NewLine); } else ConsoleTextBox.AppendText(messages.Seperated("; ").ToString() + Environment.NewLine); })); }
public string GetColumnString(IDictionary<KeyboardEPAlgorithm, BetterFoundInfo> infos, BetterFoundInfo info) { var timeDifference = (info.CurrentTime - startingTime).TotalMilliseconds; return timeDifference.ToString(); }