package org.jboss.seam.pdf.ui; import javax.faces.context.*; import org.jboss.seam.pdf.ITextUtils; import com.lowagie.text.*; public class UIFont extends ITextComponent { public static final String COMPONENT_TYPE = "org.jboss.seam.pdf.ui.UIFont"; Font font; String name; String encoding; int size = Font.UNDEFINED; String style; String color; boolean embedded = false; public String getName() { return (String) valueBinding("name", name); } public void setFamily(String name) { this.name = name; } public void setName(String name) { this.name = name; } public String getEncoding() { return (String) valueBinding("encoding", encoding); } public void setEncoding(String encoding) { this.encoding = encoding; } public int getSize() { return (Integer) valueBinding("size", size); } public void setSize(int size) { this.size = size; } public void setStyle(String style) { this.style = style; } public String getStyle() { return (String) valueBinding("style", style); } public String getColor() { return (String) valueBinding("color", color); } public void setColor(String color) { this.color = color; } public boolean getEmbedded() { return (Boolean) valueBinding("embedded", embedded); } public void setEmbedded(boolean embedded) { this.embedded = embedded; } @Override public Font getFont() { return font; } @Override public Object getITextObject() { return null; // we don't add to this component, so skip } @Override public void removeITextObject() { font = null; } @Override public void createITextObject(FacesContext context) { if (encoding == null) { font = FontFactory.getFont(getName(), getSize()); } else { font = FontFactory.getFont(getName(), getEncoding(), getEmbedded(), getSize()); } if (getStyle() != null) { font.setStyle(getStyle()); } if (getColor() != null) { font.setColor(ITextUtils.colorValue(getColor())); } } @Override public void handleAdd(Object o) { addToITextParent(o); } }