Skip to content

Commit d6c7ce7

Browse files
committed
Style tables in text boxes using CSS
Signed-off-by: Giovanni Ferrari <[email protected]>
1 parent bb60a71 commit d6c7ce7

File tree

64 files changed

+3403
-4312
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+3403
-4312
lines changed

network-area-diagram/src/main/java/com/powsybl/nad/svg/StyleProvider.java

+3
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ public interface StyleProvider {
4343
String LEGEND_SQUARE_CLASS = CLASSES_PREFIX + "legend-square";
4444
String PST_ARROW_CLASS = CLASSES_PREFIX + "pst-arrow";
4545
String HIGHLIGHT_CLASS = CLASSES_PREFIX + "highlight";
46+
String TABLE_CLASS = CLASSES_PREFIX + "table";
47+
String ROW_CLASS = CLASSES_PREFIX + "row";
48+
String CELL_CLASS = CLASSES_PREFIX + "cell";
4649

4750
List<String> getCssFilenames();
4851

network-area-diagram/src/main/java/com/powsybl/nad/svg/SvgWriter.java

+7-9
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ public class SvgWriter {
4242
private static final String TSPAN_ELEMENT_NAME = "tspan";
4343
private static final String FOREIGN_OBJECT_ELEMENT_NAME = "foreignObject";
4444
private static final String DIV_ELEMENT_NAME = "div";
45-
private static final String TABLE_ELEMENT_NAME = "table";
46-
private static final String TABLE_ROW_ELEMENT_NAME = "tr";
47-
private static final String TABLE_DATA_ELEMENT_NAME = "td";
4845
private static final String USE_ELEMENT_NAME = "use";
4946
private static final String ID_ATTRIBUTE = "id";
5047
private static final String WIDTH_ATTRIBUTE = "width";
@@ -707,16 +704,17 @@ private void writeLines(List<String> lines, XMLStreamWriter writer) throws XMLSt
707704
}
708705

709706
private void writeBusNodeLegend(XMLStreamWriter writer, VoltageLevelNode vlNode) throws XMLStreamException {
710-
writer.writeStartElement(TABLE_ELEMENT_NAME);
707+
writer.writeStartElement(DIV_ELEMENT_NAME);
708+
writeStyleClasses(writer, StyleProvider.TABLE_CLASS);
711709

712710
for (BusNode busNode : vlNode.getBusNodes()) {
713-
writer.writeStartElement(TABLE_ROW_ELEMENT_NAME);
714-
writer.writeStartElement(TABLE_DATA_ELEMENT_NAME);
711+
writer.writeStartElement(DIV_ELEMENT_NAME);
712+
writeStyleClasses(writer, StyleProvider.ROW_CLASS);
715713
writer.writeEmptyElement(DIV_ELEMENT_NAME);
716-
writeStyleClasses(writer, styleProvider.getBusNodeStyleClasses(busNode), StyleProvider.LEGEND_SQUARE_CLASS);
714+
writeStyleClasses(writer, styleProvider.getBusNodeStyleClasses(busNode), StyleProvider.CELL_CLASS, StyleProvider.LEGEND_SQUARE_CLASS);
717715
writeStyleAttribute(writer, styleProvider.getBusNodeStyle(busNode));
718-
writer.writeEndElement();
719-
writer.writeStartElement(TABLE_DATA_ELEMENT_NAME);
716+
writer.writeStartElement(DIV_ELEMENT_NAME);
717+
writeStyleClasses(writer, StyleProvider.CELL_CLASS);
720718
writer.writeCharacters(labelProvider.getBusDescription(busNode));
721719
writer.writeEndElement();
722720
writer.writeEndElement();

network-area-diagram/src/main/resources/customStyle.css

+3
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,6 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden}
1414
.nad-label-box {background-color: #6c6c6c20; width: max-content; padding: 10px; border-radius: 10px;}
1515
.nad-legend-square {width: 20px; height: 20px; background: var(--nad-vl-color, lightgrey);}
1616
.nad-edge-infos text, .nad-edge-label text {font: 20px serif; dominant-baseline:middle; stroke: #FFFFFFAA; stroke-width: 10; stroke-linejoin:round; paint-order: stroke}
17+
.nad-table {display: table}
18+
.nad-row {display: table-row}
19+
.nad-cell {display: table-cell; padding: 2px;}

network-area-diagram/src/main/resources/nominalStyle.css

+3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden}
1717
.nad-text-nodes foreignObject {overflow: visible; color: black}
1818
.nad-label-box {background-color: #6c6c6c20; width: max-content; padding: 10px; border-radius: 10px;}
1919
.nad-edge-infos text, .nad-edge-label text {font: 20px serif; dominant-baseline:middle; stroke: #FFFFFFAA; stroke-width: 10; stroke-linejoin:round; paint-order: stroke}
20+
.nad-table {display: table}
21+
.nad-row {display: table-row}
22+
.nad-cell {display: table-cell; padding: 2px;}
2023
.nad-vl0to30 {--nad-vl-color: #AFB42B}
2124
.nad-vl30to50 {--nad-vl-color: #EF9A9A}
2225
.nad-vl50to70 {--nad-vl-color: #9C27B0}

network-area-diagram/src/main/resources/topologicalStyle.css

+3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ path.nad-arrow-in:not(.nad-state-in .nad-arrow-in) {visibility: hidden}
1818
.nad-label-box {background-color: #6c6c6c20; width: max-content; padding: 10px; border-radius: 10px;}
1919
.nad-legend-square {width: 20px; height: 20px; background: var(--nad-vl-color, black);}
2020
.nad-edge-infos text, .nad-edge-label text {font: 20px serif; dominant-baseline:middle; stroke: #FFFFFFAA; stroke-width: 10; stroke-linejoin:round; paint-order: stroke}
21+
.nad-table {display: table}
22+
.nad-row {display: table-row}
23+
.nad-cell {display: table-cell; padding: 2px;}
2124
.nad-disconnected {--nad-vl-color: #808080}
2225
.nad-vl0to30-line {--nad-vl-color: #afb42b}
2326
.nad-vl0to30-0 {--nad-vl-color: #827717}

network-area-diagram/src/test/resources/3wt.svg

+21-24
Loading

network-area-diagram/src/test/resources/3wt_disconnected.svg

+16-17
Loading

network-area-diagram/src/test/resources/3wt_disconnected_topological.svg

+16-17
Loading

network-area-diagram/src/test/resources/3wt_overridden_styles.svg

+21-24
Loading

network-area-diagram/src/test/resources/3wt_partial.svg

+9-8
Loading

network-area-diagram/src/test/resources/3wt_pst.svg

+9-8
Loading

0 commit comments

Comments
 (0)