šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java
changeset 52 a221785fe3ac
parent 43 4a4364826e59
child 61 9503eb8377f1
--- a/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java	Fri Jan 06 20:48:42 2012 +0100
+++ b/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java	Fri Jan 06 21:58:52 2012 +0100
@@ -1,7 +1,6 @@
 package cz.frantovo.xmlWebGenerator;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.PrintStream;
 import java.util.Date;
@@ -23,7 +22,6 @@
 	private static final String PŘÍKAZ_PYGMENTIZE = "pygmentize";
 	private static final String PŘÍKAZ_DOT = "dot";
 	private static final String PŘÍKAZ_MARKDOWN = "markdown";
-	private static final String ADRESÁŘ_VSTUPNÍ = "vstup";
 	private static final String ADRESÁŘ_VÝSTUPNÍ = "výstup";
 	private static int počítadloDiagramů = 0;
 
@@ -98,24 +96,30 @@
 	/**
 	 * Vytvoří obrázek s diagramem.
 	 * @param zadání definice diagramu ve formátu dot
-	 * @param vodorovně zda má být graf orientovaný vodorovně
+	 * @param vodorovně zda má být graf orientovaný vodorovně (funguje jen při <code>kompletní = false</code>)
+	 * @param kompletní false, pokud k zadání chceme doplnit <code>digraph d {…}</code>
 	 * @return název souboru bez přípony, který byl vytvořen, nebo null, pokud došlo k chybě.
 	 */
-	public static String vytvořDiagram(String zadání, boolean vodorovně) throws IOException, InterruptedException {
+	public static String vytvořDiagram(String zadání, boolean vodorovně, boolean kompletní) throws IOException, InterruptedException {
 		if (isPříkazDostupný(PŘÍKAZ_DOT)) {
 			počítadloDiagramů++;
 			String soubor = "diagram-" + počítadloDiagramů;
 			String souborSložka = ADRESÁŘ_VÝSTUPNÍ + File.separator + soubor;
 
-			StringBuilder zdroják = new StringBuilder(zadání.length() + 200);
-
-			zdroják.append("digraph d {\n");
-			zdroják.append("\tbgcolor=\"transparent\";\n");
-			if (vodorovně) {
-				zdroják.append("\trankdir=LR;");
+			String zdroják;
+			if (kompletní) {
+				zdroják = zadání;
+			} else {
+				StringBuilder b = new StringBuilder(zadání.length() + 200);
+				b.append("digraph d {\n");
+				b.append("\tbgcolor=\"transparent\";\n");
+				if (vodorovně) {
+					b.append("\trankdir=LR;");
+				}
+				b.append(zadání);
+				b.append("}\n");
+				zdroják = b.toString();
 			}
-			zdroják.append(zadání);
-			zdroják.append("}\n");
 
 			Runtime r = Runtime.getRuntime();
 			Process p = r.exec(new String[]{PŘÍKAZ_DOT, "-T", "svg", "-o", souborSložka + ".svg"});