diff options
Diffstat (limited to 'src/net/sourceforge/plantuml/command/CommandMultilinesFooter.java')
-rw-r--r-- | src/net/sourceforge/plantuml/command/CommandMultilinesFooter.java | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/net/sourceforge/plantuml/command/CommandMultilinesFooter.java b/src/net/sourceforge/plantuml/command/CommandMultilinesFooter.java index e3831c2..71a4c1d 100644 --- a/src/net/sourceforge/plantuml/command/CommandMultilinesFooter.java +++ b/src/net/sourceforge/plantuml/command/CommandMultilinesFooter.java @@ -2,7 +2,7 @@ * PlantUML : a free UML diagram generator * ======================================================================== * - * (C) Copyright 2009-2017, Arnaud Roques + * (C) Copyright 2009-2020, Arnaud Roques * * Project Info: http://plantuml.com * @@ -35,13 +35,15 @@ */ package net.sourceforge.plantuml.command; -import net.sourceforge.plantuml.StringUtils; +import net.sourceforge.plantuml.FontParam; +import net.sourceforge.plantuml.SkinParam; +import net.sourceforge.plantuml.TitledDiagram; import net.sourceforge.plantuml.UmlDiagram; import net.sourceforge.plantuml.command.regex.Matcher2; import net.sourceforge.plantuml.cucadiagram.Display; import net.sourceforge.plantuml.graphic.HorizontalAlignment; -public class CommandMultilinesFooter extends CommandMultilines<UmlDiagram> { +public class CommandMultilinesFooter extends CommandMultilines<TitledDiagram> { public CommandMultilinesFooter() { super("(?i)^(?:(left|right|center)?[%s]*)footer$"); @@ -52,9 +54,9 @@ public class CommandMultilinesFooter extends CommandMultilines<UmlDiagram> { return "(?i)^end[%s]?footer$"; } - public CommandExecutionResult execute(final UmlDiagram diagram, BlocLines lines) { + public CommandExecutionResult execute(final TitledDiagram diagram, BlocLines lines) { lines = lines.trim(false); - final Matcher2 m = getStartingPattern().matcher(StringUtils.trin(lines.getFirst499())); + final Matcher2 m = getStartingPattern().matcher(lines.getFirst499().getTrimmed().getString()); if (m.find() == false) { throw new IllegalStateException(); } @@ -62,7 +64,13 @@ public class CommandMultilinesFooter extends CommandMultilines<UmlDiagram> { lines = lines.subExtract(1, 1); final Display strings = lines.toDisplay(); if (strings.size() > 0) { - diagram.getFooter().put(strings, HorizontalAlignment.fromString(align, HorizontalAlignment.CENTER)); + HorizontalAlignment ha = HorizontalAlignment.fromString(align, HorizontalAlignment.CENTER); + if (SkinParam.USE_STYLES() && align == null) { + ha = FontParam.FOOTER.getStyleDefinition() + .getMergedStyle(((UmlDiagram) diagram).getSkinParam().getCurrentStyleBuilder()) + .getHorizontalAlignment(); + } + diagram.getFooter().putDisplay(strings, ha); return CommandExecutionResult.ok(); } return CommandExecutionResult.error("Empty footer"); |