/// <summary> /// Fonction appelée quand on clique sur le bouton "Calculer" /// Recalcul le layout du ou des graphes avec les nouveaux paramètres /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void calculer_Clicked(object sender, RoutedEventArgs e) { SecondaryVisible = false; // Dans tous les cas on charge le graphe principal CustomGraph graphe1 = JsonGraphProvider.loadGraphFromFile(folderName + "\\" + selectedMainFile.SelectedItem.ToString()); // Si on ne veut afficher que un seul graphe if ((bool)oneGraph.IsChecked) { viewer1.Graph = graphe1.getVisualGraph((bool)mainGraphVisitedNodes.IsChecked, (bool)mainGraphGroupNodes.IsChecked, (bool)mainGraphEdgeName.IsChecked, mainGraphGroupLevel.Value); } else if ((bool)twoInOne.IsChecked) // Si on veut afficher deux graphe dans la même vue { CustomGraph graphe2 = JsonGraphProvider.loadGraphFromFile(folderName + "\\" + selectedSecondaryFile.SelectedItem.ToString()); CustomGraphMerged merged_graph = new CustomGraphMerged(graphe1, graphe2); viewer1.Graph = merged_graph.getVisualGraph((bool)mainGraphVisitedNodes.IsChecked, (bool)mainGraphGroupNodes.IsChecked, (bool)mainGraphEdgeName.IsChecked, mainGraphGroupLevel.Value); } else if ((bool)twoGraphs.IsChecked) // Si on veut afficher 2 graphes cote à cote { SecondaryVisible = true; CustomGraph graphe2 = JsonGraphProvider.loadGraphFromFile(folderName + "\\" + selectedSecondaryFile.SelectedItem.ToString()); viewer1.Graph = graphe1.getVisualGraph((bool)mainGraphVisitedNodes.IsChecked, (bool)mainGraphGroupNodes.IsChecked, (bool)mainGraphEdgeName.IsChecked, mainGraphGroupLevel.Value); viewer2.Graph = graphe2.getVisualGraph((bool)secondGraphVisitedNodes.IsChecked, (bool)secondGraphGroupNodes.IsChecked, (bool)secondGraphEdgeName.IsChecked, secondGraphhGroupLevel.Value); } }