From dc1d896b295eb850e07d8ea31bba1391ffaa0568 Mon Sep 17 00:00:00 2001 From: Florian Thienel Date: Sat, 6 Feb 2016 16:58:55 +0100 Subject: recognize the root of a list Signed-off-by: Florian Thienel --- .../internal/visualization/CssBasedBoxModelBuilder.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/visualization/CssBasedBoxModelBuilder.java b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/visualization/CssBasedBoxModelBuilder.java index 9585b6c5..662c71ec 100644 --- a/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/visualization/CssBasedBoxModelBuilder.java +++ b/org.eclipse.vex.core/src/org/eclipse/vex/core/internal/visualization/CssBasedBoxModelBuilder.java @@ -135,7 +135,9 @@ public class CssBasedBoxModelBuilder implements IBoxModelBuilder { public VisualizeResult visit(final IElement element) { final Styles styles = styleSheet.getStyles(element); final Collection childrenResults = traverseChildren(element); - if (isDisplayedAsBlock(styles)) { + if (isListRoot(styles)) { + return new VisualizeResult(element, styles, childrenResults, visualizeAsList(element, styles, childrenResults)); + } else if (isDisplayedAsBlock(styles)) { return new VisualizeResult(element, styles, childrenResults, visualizeAsBlock(element, styles, childrenResults)); } else { return new VisualizeResult(element, styles, childrenResults, visualizeInline(element, styles, childrenResults)); @@ -173,6 +175,11 @@ public class CssBasedBoxModelBuilder implements IBoxModelBuilder { }); } + private static boolean isListRoot(final Styles styles) { + final String listStyleType = styles.getListStyleType(); + return listStyleType != null && !CSS.NONE.equals(listStyleType); + } + private static boolean isDisplayedAsBlock(final Styles styles) { // currently we can only render blocks or inline, hence everything that is not inline must be a block return !isDisplayedInline(styles); @@ -190,6 +197,14 @@ public class CssBasedBoxModelBuilder implements IBoxModelBuilder { return CSS.NORMAL.equals(styles.getInlineMarker()); } + /* + * Render as List + */ + + private IStructuralBox visualizeAsList(final INode node, final Styles styles, final Collection childrenResults) { + return visualizeAsBlock(node, styles, childrenResults); + } + /* * Render as Block */ -- cgit v1.2.3