private StackPanel MakeAnalyzerInfoArea(string message, EvaluationData dropData, bool after) { StackPanel stackPanel = new StackPanel(); if (dropData.DroppingDone) { // data about drop string infotxt = ""; string detRule = DropCriterion.ToString(dropData.DeterminativeCriterion.Type); infotxt = ListUsedCriteria(dropData); stackPanel.Children.Add(MakeMakeAnalyzerInfoLabel(message + " by " + detRule + ": " + DropCriterion.ToString(dropData.Side).ToUpper() + " with Quality: " + Math.Round(dropData.DroppingQuality, 3))); stackPanel.Children.Add(MakeMakeAnalyzerInfoLabel("Criteria: " + infotxt)); } else { if (after) { stackPanel.Children.Add(MakeMakeAnalyzerInfoLabel(message + " with Overall Quality: " + Math.Round(dropData.Evaluation.EvaluationQuality, 3))); } else { stackPanel.Children.Add(MakeMakeAnalyzerInfoLabel(message)); } } return(stackPanel); }
private string ListUsedCriteria(EvaluationData dropData) { string result = ""; foreach (DropCriterion criterion in dropData.Criteria) { string title = DropCriterion.ToString(criterion.Type); string side = DropCriterion.ToString(criterion.Side).ToUpper(); string score = ""; if (criterion.Type == DropCriterionType.Displacement) { score = " [" + ScoreString(dropData.DisplacementLow, dropData.DisplacementHigh) + "]"; } if (criterion.Type == DropCriterionType.Distance) { score = " [" + ScoreString(dropData.DistanceLow, dropData.DistanceHigh) + "]"; } if (criterion.Type == DropCriterionType.Droppables) { score = " [" + ScoreString(dropData.DroppablesLow, dropData.DroppablesHigh) + "]"; } if (criterion.Type == DropCriterionType.OrderQuality) { score = " [" + ScoreString(dropData.QualityDroppingLow, dropData.QualityDroppingHigh, 3) + "]"; } if (dropData.DeterminativeCriterion.Type == DropCriterionType.Vote && !criterion.UsedForVoting) { result += "(" + title + score + ": " + side + ") / "; } else { result += title + score + ": " + side + " / "; } } return(result.Trim().Trim(',').Trim('/').Trim()); }