1.1 --- a/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Thu Jan 05 11:01:25 2012 +0100
1.2 +++ b/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Sat Jan 07 01:44:01 2012 +0100
1.3 @@ -1,7 +1,6 @@
1.4 package cz.frantovo.xmlWebGenerator;
1.5
1.6 import java.io.File;
1.7 -import java.io.FileInputStream;
1.8 import java.io.IOException;
1.9 import java.io.PrintStream;
1.10 import java.util.Date;
1.11 @@ -23,7 +22,6 @@
1.12 private static final String PŘÍKAZ_PYGMENTIZE = "pygmentize";
1.13 private static final String PŘÍKAZ_DOT = "dot";
1.14 private static final String PŘÍKAZ_MARKDOWN = "markdown";
1.15 - private static final String ADRESÁŘ_VSTUPNÍ = "vstup";
1.16 private static final String ADRESÁŘ_VÝSTUPNÍ = "výstup";
1.17 private static int počítadloDiagramů = 0;
1.18
1.19 @@ -98,24 +96,30 @@
1.20 /**
1.21 * Vytvoří obrázek s diagramem.
1.22 * @param zadání definice diagramu ve formátu dot
1.23 - * @param vodorovně zda má být graf orientovaný vodorovně
1.24 + * @param vodorovně zda má být graf orientovaný vodorovně (funguje jen při <code>kompletní = false</code>)
1.25 + * @param kompletní false, pokud k zadání chceme doplnit <code>digraph d {…}</code>
1.26 * @return název souboru bez přípony, který byl vytvořen, nebo null, pokud došlo k chybě.
1.27 */
1.28 - public static String vytvořDiagram(String zadání, boolean vodorovně) throws IOException, InterruptedException {
1.29 + public static String vytvořDiagram(String zadání, boolean vodorovně, boolean kompletní) throws IOException, InterruptedException {
1.30 if (isPříkazDostupný(PŘÍKAZ_DOT)) {
1.31 počítadloDiagramů++;
1.32 String soubor = "diagram-" + počítadloDiagramů;
1.33 String souborSložka = ADRESÁŘ_VÝSTUPNÍ + File.separator + soubor;
1.34
1.35 - StringBuilder zdroják = new StringBuilder(zadání.length() + 200);
1.36 -
1.37 - zdroják.append("digraph d {\n");
1.38 - zdroják.append("\tbgcolor=\"transparent\";\n");
1.39 - if (vodorovně) {
1.40 - zdroják.append("\trankdir=LR;");
1.41 + String zdroják;
1.42 + if (kompletní) {
1.43 + zdroják = zadání;
1.44 + } else {
1.45 + StringBuilder b = new StringBuilder(zadání.length() + 200);
1.46 + b.append("digraph d {\n");
1.47 + b.append("\tbgcolor=\"transparent\";\n");
1.48 + if (vodorovně) {
1.49 + b.append("\trankdir=LR;");
1.50 + }
1.51 + b.append(zadání);
1.52 + b.append("}\n");
1.53 + zdroják = b.toString();
1.54 }
1.55 - zdroják.append(zadání);
1.56 - zdroják.append("}\n");
1.57
1.58 Runtime r = Runtime.getRuntime();
1.59 Process p = r.exec(new String[]{PŘÍKAZ_DOT, "-T", "svg", "-o", souborSložka + ".svg"});