Browse Source

Fixed Bugs with opGraph selection Box

Jan Enders 7 years ago
parent
commit
bcdefd7f71

+ 16 - 13
scopviz/src/main/java/de/tu_darmstadt/informatik/tk/scopviz/ui/ButtonManager.java

@@ -492,30 +492,33 @@ public final class ButtonManager {
 	 * MapViewFunctions.changeMapView(); }
 	 */
 	public static void setupOpGraphComboBox() {
-		controller.opGraphSelectionBox.getItems().clear();
-		GraphManager operatorManager = GraphDisplayManager.getGraphManager(Layer.OPERATOR);
-		for (MyGraph g : operatorManager.getGraph().getAllSubGraphs().stream().filter((g) -> !g.isComposite())
-				.collect(Collectors.toList())) {
-			controller.opGraphSelectionBox.getItems().add(g.getId());
-		}
-		controller.opGraphSelectionBox.getItems().add("Add...");
 
-	}
+		Platform.runLater(() -> {
+
+			controller.opGraphSelectionBox.getItems().clear();
+
+			GraphManager operatorManager = GraphDisplayManager.getGraphManager(Layer.OPERATOR);
+			for (MyGraph g : operatorManager.getGraph().getAllSubGraphs().stream().filter((g) -> !g.isComposite())
+					.collect(Collectors.toList())) {
+				controller.opGraphSelectionBox.getItems().add(g.getId());
+			}
+			controller.opGraphSelectionBox.getItems().add("Add...");
+		});
 
-	public static void addToOpGraphComboBox(String id) {
-		controller.opGraphSelectionBox.getItems().add(controller.opGraphSelectionBox.getItems().size() - 1, id);
 	}
 
 	public static void opGraphSelectedAction(ActionEvent v) {
 
+		if (controller.opGraphSelectionBox.getValue() == null || controller.opGraphSelectionBox.getValue().equals("")) {
+			return;
+		}
 		if (controller.opGraphSelectionBox.getValue().equals("Add...")) {
 			MenuBarManager.addAction(v);
 			Platform.runLater(() -> controller.opGraphSelectionBox.setValue(controller.opGraphSelectionBox.getItems()
 					.get(controller.opGraphSelectionBox.getItems().size() - 2)));
 		} else {
-			GraphDisplayManager.getGraphManager(Layer.OPERATOR).setActiveSubGraph(controller.opGraphSelectionBox.getValue());
-			// FIXME: aktuell zu bearbeitenden graphen im GraphManager setzen
-			// (erfordert Jaschas Implementierung)!
+			GraphDisplayManager.getGraphManager(Layer.OPERATOR)
+					.setActiveSubGraph(controller.opGraphSelectionBox.getValue());
 		}
 	}
 

+ 2 - 3
scopviz/src/main/java/de/tu_darmstadt/informatik/tk/scopviz/ui/MenuBarManager.java

@@ -1,7 +1,6 @@
 package de.tu_darmstadt.informatik.tk.scopviz.ui;
 
 import de.tu_darmstadt.informatik.tk.scopviz.graphs.GraphManager;
-import de.tu_darmstadt.informatik.tk.scopviz.graphs.MyGraph;
 import de.tu_darmstadt.informatik.tk.scopviz.io.GraphMLExporter;
 import de.tu_darmstadt.informatik.tk.scopviz.main.Layer;
 import de.tu_darmstadt.informatik.tk.scopviz.main.Main;
@@ -48,8 +47,8 @@ public final class MenuBarManager {
 	 * Handler for the "add" MenuItem.
 	 */
 	public static final void addAction(ActionEvent event) {
-		MyGraph newGraph = GraphDisplayManager.addGraph(Main.getInstance().getPrimaryStage(), false);
-		ButtonManager.addToOpGraphComboBox(newGraph.getId());
+		GraphDisplayManager.addGraph(Main.getInstance().getPrimaryStage(), false);
+		ButtonManager.setupOpGraphComboBox();
 	}
 
 	/**