recognize the root of a list
Signed-off-by: Florian Thienel <florian@thienel.org>
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 662c71e..1a07c30 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
@@ -137,6 +137,8 @@
final Collection<VisualizeResult> childrenResults = traverseChildren(element);
if (isListRoot(styles)) {
return new VisualizeResult(element, styles, childrenResults, visualizeAsList(element, styles, childrenResults));
+ } else if (isListItem(styles)) {
+ return new VisualizeResult(element, styles, childrenResults, visualizeAsListItem(element, styles, childrenResults));
} else if (isDisplayedAsBlock(styles)) {
return new VisualizeResult(element, styles, childrenResults, visualizeAsBlock(element, styles, childrenResults));
} else {
@@ -180,6 +182,10 @@
return listStyleType != null && !CSS.NONE.equals(listStyleType);
}
+ private static boolean isListItem(final Styles styles) {
+ return CSS.LIST_ITEM.equals(styles.getDisplay());
+ }
+
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);
@@ -206,6 +212,14 @@
}
/*
+ * Render as ListItem
+ */
+
+ private IStructuralBox visualizeAsListItem(final INode node, final Styles styles, final Collection<VisualizeResult> childrenResults) {
+ return visualizeAsBlock(node, styles, childrenResults);
+ }
+
+ /*
* Render as Block
*/