public void startSubFlow(final ReportElement element) { final StyleSheet resolverStyleSheet = element.getComputedStyle(); final RenderBox box; if (metaData.isFeatureSupported(OutputProcessorFeature.STRICT_COMPATIBILITY)) { final StyleSheet styleSheet = new SubReportStyleSheet( resolverStyleSheet.getBooleanStyleProperty(BandStyleKeys.PAGEBREAK_BEFORE), (resolverStyleSheet.getBooleanStyleProperty(BandStyleKeys.PAGEBREAK_AFTER))); final SimpleStyleSheet reportStyle = new SimpleStyleSheet(styleSheet); final BoxDefinition boxDefinition = renderNodeFactory.getBoxDefinition(reportStyle); box = new BlockRenderBox( reportStyle, element.getObjectID(), boxDefinition, SubReportType.INSTANCE, element.getAttributes(), null); } else { box = renderNodeFactory.produceRenderBox( element, resolverStyleSheet, BandStyleKeys.LAYOUT_BLOCK, stateKey); } box.getStaticBoxLayoutProperties() .setPlaceholderBox(StaticBoxLayoutProperties.PlaceholderType.SECTION); if (element.getName() != null) { box.setName("Banded-SubReport-Section" + ": name=" + element.getName()); } else { box.setName("Banded-SubReport-Section"); } pushBoxToContext(box, false); }
protected boolean evaluateElement(final ReportElement e) { // only if needed ... configureDefaultBehaviour(); if (ObjectUtilities.equal(e.getName(), getElement())) { final Color color = computeColor(); if (defineBackground) { e.getStyle().setStyleProperty(ElementStyleKeys.BACKGROUND_COLOR, color); } else { e.getStyle().setStyleProperty(ElementStyleKeys.PAINT, color); } return true; } return false; }
protected void processReplacedContent( final ReportElement element, final Object value, final Object rawValue) { final RenderBox box = this.context.getRenderBox(); final SimpleStyleSheet resolverStyleSheet = element.getComputedStyle(); final StyleSheet elementStyle; if (box.isAcceptInlineBoxes() == false) { if (isTableContext(box) == false && resolverStyleSheet.getBooleanStyleProperty(ElementStyleKeys.DYNAMIC_HEIGHT) == false) { elementStyle = new NonDynamicReplacedContentStyleSheet(resolverStyleSheet); } else { elementStyle = new DynamicReplacedContentStyleSheet(resolverStyleSheet); } } else { elementStyle = resolverStyleSheet; } final RenderableReplacedContentBox child = renderNodeFactory.createReplacedContent(element, elementStyle, value, rawValue, stateKey); child.setName(element.getName()); this.context.addChild(child); this.context.setEmpty(false); }