extract visualization of the content CSS property
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 0a0d1ea..773158a 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
@@ -287,11 +287,29 @@
return null;
}
+ return frame(visualizeContentProperty(node, pseudoElementStyles, paragraph(pseudoElementStyles)), pseudoElementStyles);
+ }
+
+ private static IInlineBox visualizePseudoElementInline(final Styles styles, final INode node, final PseudoElement pseudoElement) {
+ if (!styles.hasPseudoElement(pseudoElement)) {
+ return null;
+ }
+
+ final Styles pseudoElementStyles = styles.getPseudoElementStyles(pseudoElement);
+ if (!isDisplayedInline(pseudoElementStyles)) {
+ return null;
+ }
+
+ return frame(visualizeContentProperty(node, pseudoElementStyles, inlineContainer()), pseudoElementStyles);
+ }
+
+ private static <P extends IParentBox<IInlineBox>> P visualizeContentProperty(final INode node, final Styles styles, final P parent) {
final StringBuilder content = new StringBuilder();
- for (final IPropertyContent part : pseudoElementStyles.getAllContent(node)) {
+ for (final IPropertyContent part : styles.getAllContent(node)) {
content.append(part);
}
- return frame(paragraph(pseudoElementStyles, staticText(content.toString(), pseudoElementStyles)), pseudoElementStyles);
+ parent.appendChild(staticText(content.toString(), styles));
+ return parent;
}
private static boolean containsInlineContent(final Collection<VisualizeResult> visualizeResults) {
@@ -430,23 +448,6 @@
return parent;
}
- private static IInlineBox visualizePseudoElementInline(final Styles styles, final INode node, final PseudoElement pseudoElement) {
- if (!styles.hasPseudoElement(pseudoElement)) {
- return null;
- }
-
- final Styles pseudoElementStyles = styles.getPseudoElementStyles(pseudoElement);
- if (!isDisplayedInline(pseudoElementStyles)) {
- return null;
- }
-
- final StringBuilder content = new StringBuilder();
- for (final IPropertyContent part : pseudoElementStyles.getAllContent(node)) {
- content.append(part);
- }
- return frame(inlineContainer(staticText(content.toString(), pseudoElementStyles)), pseudoElementStyles);
- }
-
private static <P extends IParentBox<IInlineBox>> P placeholderForEmptyNode(final INode node, final Styles styles, final P parent) {
parent.appendChild(endOffsetPlaceholder(node, styles));
// if (false) { // TODO allow to provide a placeholder text in the CSS