Parcourir la source

Merge remote-tracking branch 'origin/Jascha'

Jan Enders il y a 8 ans
Parent
commit
87eebb0576

+ 22 - 0
scopviz/src/main/java/de/tu_darmstadt/informatik/tk/scopviz/io/GraphMLExporter.java

@@ -2,9 +2,13 @@ package de.tu_darmstadt.informatik.tk.scopviz.io;
 
 import java.io.FileOutputStream;
 import java.io.IOException;
+
 import org.graphstream.graph.Graph;
 import org.graphstream.stream.file.FileSinkGraphML;
 
+import javafx.stage.FileChooser;
+import javafx.stage.Stage;
+
 /**
  * Exporter to write a given Graph object to a GraphML file on disk.
  * 
@@ -31,4 +35,22 @@ public class GraphMLExporter {
 			e.printStackTrace();
 		}
 	}
+
+	/**
+	 * Exports the current state of the Graph to a GraphML file. Opens a
+	 * FileSaveDialog
+	 * 
+	 * @param g
+	 *            The Graphstream-Graph to be exported
+	 * @param stage
+	 *            The parent window of the save Window
+	 */
+	public void writeGraph(final Graph g, final Stage stage) {
+		FileSinkGraphML writer = new FileSinkGraphML();
+		String fileName;
+		FileChooser fileChooser = new FileChooser();
+		fileChooser.setTitle("Saving graph");
+		fileName = fileChooser.showSaveDialog(stage).getPath();
+		writeGraph(g, fileName);
+	}
 }

+ 17 - 0
scopviz/src/main/java/de/tu_darmstadt/informatik/tk/scopviz/io/GraphMLImporter.java

@@ -8,6 +8,9 @@ import org.graphstream.graph.implementations.DefaultGraph;
 import org.graphstream.stream.file.FileSource;
 import org.graphstream.stream.file.FileSourceGraphML;
 
+import javafx.stage.FileChooser;
+import javafx.stage.Stage;
+
 /**
  * Importer to import a graph from a GraphML file and return it as a Graph
  * object.
@@ -40,6 +43,20 @@ public class GraphMLImporter {
 		return g;
 	}
 
+	/**
+	 * Imports a GraphML file.
+	 * Opens a open dialog
+	 * 
+	 * @param stage
+	 *            the parent window of the open file window
+	 * @return the imported Graphstream-Graph
+	 */
+	public Graph readGraph(final Stage stage) {
+		FileChooser fileChooser = new FileChooser();
+		fileChooser.setTitle("open graph");
+		String fileName = fileChooser.showOpenDialog(stage).getPath();
+		return readGraph(fileName);
+	}
 	/**
 	 * Imports a GraphML file.
 	 *