private void UpdateViewAccordingToAnalysisResults(IQuiverInPlaneAnalysisResults <int> analysisResults) { analysisResultsGroupBox.Enabled = true; UpdateMainResultText(analysisResults); UpdateNakayamaPermutationListView(analysisResults); UpdateLongestPathEncounteredDataDisplayed(analysisResults.LongestPathEncountered); }
private void UpdateNakayamaPermutationListView(IQuiverInPlaneAnalysisResults <int> analysisResults) { nakayamaPermutationListView.Items.Clear(); if (analysisResults.MainResults.IndicatesSelfInjectivity()) { var listViewItems = analysisResults.NakayamaPermutation.OrderBy(p => p.Key).Select(p => CreateListViewItemForNakayamaMapping(p.Key, p.Value)); nakayamaPermutationListView.Items.AddRange(listViewItems.ToArray()); } }
private void UpdateMainResultText(IQuiverInPlaneAnalysisResults <int> analysisResults) { var mainResult = analysisResults.MainResults; var mainResultText = mainResult.HasFlag(QuiverInPlaneAnalysisMainResults.QuiverHasLoops) ? "Quiver has loops" : mainResult.HasFlag(QuiverInPlaneAnalysisMainResults.QuiverHasAntiParallelArrows) ? "Quiver has anti-parallel arrows" : mainResult.HasFlag(QuiverInPlaneAnalysisMainResults.QuiverHasFaceWithInconsistentOrientation) ? "Quiver has face with inconsistent orientation" : mainResult.HasFlag(QuiverInPlaneAnalysisMainResults.QuiverIsNotPlane) ? "Quiver is not plane" : mainResult.HasFlag(QuiverInPlaneAnalysisMainResults.QPAnalysisAborted) ? "QP analysis was aborted" : mainResult.HasFlag(QuiverInPlaneAnalysisMainResults.QPAnalysisCancelled) ? "QP analysis was cancelled" : mainResult.HasFlag(QuiverInPlaneAnalysisMainResults.QPIsNotWeaklyCancellative) ? "Quiver induces a planar QP that is not weakly cancellative" : mainResult.HasFlag(QuiverInPlaneAnalysisMainResults.QPIsNotCancellative) ? mainResult.IndicatesSelfInjectivity() ? "Quiver induces a planar QP that is weakly (but not strongly) cancellative and self-injective" : "Quiver induces a planar QP that is weakly (but not strongly) cancellative" : mainResult.IndicatesSelfInjectivity() ? "Quiver induces a (strongly) cancellative planar QP that is self-injective" : "Quiver induces a (strongly) cancellative planar QP that is not self-injective."; SetMainResultText(mainResultText); }
public AnalysisDoneEventArgs(IQuiverInPlaneAnalysisResults <TVertex> analysisResults) { AnalysisResults = analysisResults ?? throw new ArgumentNullException(nameof(analysisResults)); }