Package org.pentaho.reporting.engine.classic.core.layout.model

Examples of org.pentaho.reporting.engine.classic.core.layout.model.RenderableComplexText


    RenderNode[] elementsByNodeType = MatchFactory.findElementsByNodeType(first, LayoutNodeTypes.TYPE_NODE_COMPLEX_TEXT);
    assertEquals(1, elementsByNodeType.length);
    assertTrue(elementsByNodeType[0] instanceof RenderableComplexText);

    RenderableComplexText text = (RenderableComplexText) elementsByNodeType[0];
    RichTextSpec richText = text.getRichText();
    assertEquals(4, richText.getStyleChunks().size());
    assertEquals("Label@LabelLabel", richText.getText());

    RenderNode second = MatchFactory.findElementByName(logicalPageBox, "second");
    assertTrue(second instanceof ParagraphRenderBox);
View Full Code Here


    ParagraphLineBreakStep step = new ParagraphLineBreakStep();
    step.compute(logicalPageBox);

    RenderNode[] elementsByNodeType = MatchFactory.findElementsByNodeType(p, LayoutNodeTypes.TYPE_NODE_COMPLEX_TEXT);
    assertContainsImage(elementsByNodeType);
    RenderableComplexText t = (RenderableComplexText) elementsByNodeType[0];
    AttributedString attributedString = t.getRichText().getAttributedString();
    assertEquals(TextAttribute.RUN_DIRECTION_RTL, attributedString.getIterator().getAttribute(TextAttribute.RUN_DIRECTION));

  }
View Full Code Here

  private void assertContainsImage(RenderNode[] elementsByNodeType)
  {
    for (RenderNode renderNode : elementsByNodeType)
    {
      RenderableComplexText t = (RenderableComplexText) renderNode;
      RichTextSpec richText = t.getRichText();
      for (RichTextSpec.StyledChunk styledChunk : richText.getStyleChunks())
      {
        if (styledChunk.getAttributes().containsKey(TextAttribute.CHAR_REPLACEMENT))
        {
          return;
View Full Code Here

      if ((node.getX() + node.getWidth()) > (paragraphBounds.getX() + paragraphBounds.getWidth()))
      {
        // This node will only be partially visible. The end-of-line marker will not apply.
        return;
      }
      final RenderableComplexText text = (RenderableComplexText) node;
      if (text.isForceLinebreak())
      {
        final StyleContext currentContext = getCurrentContext();
        if (getTextLength() > 0)
        {
          currentContext.add(getText());
          clearText();
        }
        context.pop();
        final StyleContext cellContext = getCurrentContext();
        cellContext.add(currentContext.getTarget());

        context.push(new StyleContext(new Paragraph(), text.getStyleSheet(), metaData));
      }
    }
  }
View Full Code Here

        xmlWriter.writeCloseTag();

      }
      else if (nodeType == LayoutNodeTypes.TYPE_NODE_COMPLEX_TEXT)
      {
        final RenderableComplexText renderableComplexText = (RenderableComplexText) node;
        final AttributeList attributeList = new AttributeList();
        attributeList.setAttribute(XmlDocumentWriter.LAYOUT_OUTPUT_NAMESPACE, "x",
            pointConverter.format(StrictGeomUtility.toExternalValue(node.getX())));
        attributeList.setAttribute(XmlDocumentWriter.LAYOUT_OUTPUT_NAMESPACE, "y",
            pointConverter.format(StrictGeomUtility.toExternalValue(node.getY())));
        attributeList.setAttribute(XmlDocumentWriter.LAYOUT_OUTPUT_NAMESPACE, "width",
            pointConverter.format(StrictGeomUtility.toExternalValue(node.getWidth())));
        attributeList.setAttribute(XmlDocumentWriter.LAYOUT_OUTPUT_NAMESPACE, "height",
            pointConverter.format(StrictGeomUtility.toExternalValue(node.getHeight())));

        final String text = renderableComplexText.getRawText();
        xmlWriter.writeTag(XmlDocumentWriter.LAYOUT_OUTPUT_NAMESPACE, "text", attributeList, XmlWriter.OPEN);
        xmlWriter.writeTextNormalized(text, true);
        xmlWriter.writeCloseTag();

      }
View Full Code Here

      final ParagraphRenderBox p = (ParagraphRenderBox) p1;
      final RenderNode firstChild = p.getPool().getFirstChild();
      if (complexText)
      {
        assertTrue(firstChild instanceof RenderableComplexText);
        final RenderableComplexText text = (RenderableComplexText) firstChild;
        final int val = Integer.parseInt(text.getRawText());
        assertTrue("Value " + val + " is either 15 or 10", val == 15 || val == 10);
      }
      else
      {
        assertTrue(firstChild instanceof RenderableText);
        final RenderableText text = (RenderableText) firstChild;
        final int val = Integer.parseInt(text.getRawText());
        assertTrue("Value " + val + " is either 15 or 10", val == 15 || val == 10);
      }
    }
View Full Code Here

        xmlWriter.writeCloseTag();

      }
      else if (nodeType == LayoutNodeTypes.TYPE_NODE_COMPLEX_TEXT)
      {
        final RenderableComplexText renderableComplexText = (RenderableComplexText) node;
        final AttributeList attributeList = new AttributeList();
        attributeList.setAttribute(XmlDocumentWriter.LAYOUT_OUTPUT_NAMESPACE, "x",
            pointConverter.format(StrictGeomUtility.toExternalValue(node.getX())));
        attributeList.setAttribute(XmlDocumentWriter.LAYOUT_OUTPUT_NAMESPACE, "y",
            pointConverter.format(StrictGeomUtility.toExternalValue(node.getY())));
        attributeList.setAttribute(XmlDocumentWriter.LAYOUT_OUTPUT_NAMESPACE, "width",
            pointConverter.format(StrictGeomUtility.toExternalValue(node.getWidth())));
        attributeList.setAttribute(XmlDocumentWriter.LAYOUT_OUTPUT_NAMESPACE, "height",
            pointConverter.format(StrictGeomUtility.toExternalValue(node.getHeight())));

        final String text = renderableComplexText.getRawText();
        xmlWriter.writeTag(XmlDocumentWriter.LAYOUT_OUTPUT_NAMESPACE, "text", attributeList, XmlWriter.OPEN);
        xmlWriter.writeTextNormalized(text, true);
        xmlWriter.writeCloseTag();

      }
View Full Code Here

    ParagraphFontMetricsImpl metrics = new ParagraphFontMetricsImpl();
    while (lineIterator.hasNext())
    {
      final LineBreakIteratorState state = lineIterator.next();

      final RenderableComplexText text = richText.create(lineBoxContainer, state.getStart(), state.getEnd());
      text.setTextLayout(state.getTextLayout());
      metrics.update(state.getTextLayout());
      // and finally add the line to the paragraph
      lines.add(text);
    }
View Full Code Here

    final FontRenderContext fontRenderContext = createFontRenderContext(layoutContext);
    final TextLayout textLayout = new TextLayout(richText.createAttributedCharacterIterator(), fontRenderContext);
    double height = textLayout.getAscent() + textLayout.getDescent() + textLayout.getLeading();

    final RenderableComplexText text = richText.create(lineBoxContainer);
    text.setTextLayout(textLayout);
    ParagraphFontMetricsImpl metrics = new ParagraphFontMetricsImpl();
    metrics.update(textLayout);
    final RenderBox line = generateLine(box, lineBoxContainer, text, height, metrics);
    // and finally add the line to the paragraph
    getNodeContext().updateX2(line.getCachedX2());
View Full Code Here

  }

  public RenderableComplexText create(final RenderBox lineBoxContainer,
                                      final int start, final int end)
  {
    return new RenderableComplexText
        (lineBoxContainer.getStyleSheet(), lineBoxContainer.getInstanceId(),
            lineBoxContainer.getElementType(), lineBoxContainer.getAttributes(), this.substring(start, end));
  }
View Full Code Here

TOP

Related Classes of org.pentaho.reporting.engine.classic.core.layout.model.RenderableComplexText

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.