diff -r 4a4364826e59 -r 768a7eecb0cf šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java --- a/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Thu Jan 05 11:01:25 2012 +0100 +++ b/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Sat Jan 07 01:57:27 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 kompletní = false) + * @param kompletní false, pokud k zadání chceme doplnit digraph d {…} * @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"});