use of com.lowagie.text.Phrase in project dhis2-core by dhis2.
the class PdfFieldCell method cellLayout.
@Override
public void cellLayout(PdfPCell cell, Rectangle rect, PdfContentByte[] canvases) {
try {
PdfContentByte canvasText = canvases[PdfPTable.TEXTCANVAS];
if (type == TYPE_RADIOBUTTON) {
if (parent != null) {
float leftLoc = rect.getLeft();
float rightLoc = rect.getLeft() + RADIOBUTTON_WIDTH;
String text;
String value;
for (int i = 0; i < texts.length; i++) {
text = texts[i];
value = values[i];
Rectangle radioRec = new Rectangle(leftLoc, rect.getTop() - height, rightLoc, rect.getTop());
RadioCheckField rf = new RadioCheckField(writer, radioRec, "RDBtn_" + text, value);
if (value != null && value.equals(checkValue)) {
rf.setChecked(true);
}
rf.setBorderColor(GrayColor.GRAYBLACK);
rf.setBackgroundColor(GrayColor.GRAYWHITE);
rf.setCheckType(RadioCheckField.TYPE_CIRCLE);
parent.addKid(rf.getRadioField());
leftLoc = rightLoc;
rightLoc += width;
ColumnText.showTextAligned(canvasText, Element.ALIGN_LEFT, new Phrase(text), leftLoc + RADIOBUTTON_TEXTOFFSET, height, 0);
leftLoc = rightLoc;
rightLoc += RADIOBUTTON_WIDTH;
}
writer.addAnnotation(parent);
}
} else if (type == TYPE_BUTTON) {
// Add the push button
PushbuttonField button = new PushbuttonField(writer, rect, name);
button.setBackgroundColor(new GrayColor(0.75f));
button.setBorderColor(GrayColor.GRAYBLACK);
button.setBorderWidth(1);
button.setBorderStyle(PdfBorderDictionary.STYLE_BEVELED);
button.setTextColor(GrayColor.GRAYBLACK);
button.setFontSize(PdfDataEntryFormUtil.UNITSIZE_DEFAULT);
button.setText(text);
button.setLayout(PushbuttonField.LAYOUT_ICON_LEFT_LABEL_RIGHT);
button.setScaleIcon(PushbuttonField.SCALE_ICON_ALWAYS);
button.setProportionalIcon(true);
button.setIconHorizontalAdjustment(0);
formField = button.getField();
formField.setAction(PdfAction.javaScript(jsAction, writer));
} else if (type == TYPE_CHECKBOX) {
float extraCheckBoxOffset_Left = 2.0f;
float extraCheckBoxOffset_Top = 1.5f;
formField.setWidget(new Rectangle(rect.getLeft() + OFFSET_LEFT + extraCheckBoxOffset_Left, rect.getTop() - height - OFFSET_TOP - extraCheckBoxOffset_Top, rect.getLeft() + width + OFFSET_LEFT + extraCheckBoxOffset_Left, rect.getTop() - OFFSET_TOP - extraCheckBoxOffset_Top), PdfAnnotation.HIGHLIGHT_NONE);
} else {
if (type == TYPE_TEXT_ORGUNIT) {
formField.setAdditionalActions(PdfName.BL, PdfAction.javaScript("if(event.value == '') app.alert('Please enter org unit identifier');", writer));
}
// TYPE_TEXT_NUMBER and TYPE_CHECKBOX cases included as well
// here
formField.setWidget(new Rectangle(rect.getLeft() + OFFSET_LEFT, rect.getTop() - height - OFFSET_TOP, rect.getLeft() + width + OFFSET_LEFT, rect.getTop() - OFFSET_TOP), PdfAnnotation.HIGHLIGHT_NONE);
}
writer.addAnnotation(formField);
} catch (DocumentException ex) {
throw new RuntimeException(ex.getMessage());
} catch (IOException ex) {
throw new RuntimeException(ex.getMessage());
}
}
use of com.lowagie.text.Phrase in project activityinfo by bedatadriven.
the class RtfReportRenderer method renderFooter.
@Override
protected void renderFooter(Document document) {
HeaderFooter footer = new HeaderFooter(new Phrase("Page", ThemeHelper.footerFont()), true);
document.setFooter(footer);
}
use of com.lowagie.text.Phrase in project activityinfo by bedatadriven.
the class ItextMapRenderer method addPieChartDescription.
private void addPieChartDescription(MapReportElement element, Cell descriptionCell, PiechartMapLayer layer) throws BadElementException, IOException {
for (Slice slice : layer.getSlices()) {
IndicatorDTO indicator = element.getContent().getIndicatorById(slice.getIndicatorId());
Color color = ColorUtil.colorFromString(slice.getColor());
ItextGraphic sliceImage = renderSlice(imageCreator, color, 10);
Chunk box = new Chunk(sliceImage.toItextImage(), 0, 0);
Chunk description = new Chunk(indicator.getName());
Phrase phrase = new Phrase();
phrase.add(box);
phrase.add(description);
Paragraph paragraph = new Paragraph(phrase);
descriptionCell.add(paragraph);
}
}
Aggregations