/** * Fetches the attributes to use when rendering. This is implemented to multiplex the attributes * specified in the model with a StyleSheet. */ public AttributeSet getAttributes() { if (attr == null) { StyleSheet sheet = getStyleSheet(); attr = sheet.getViewAttributes(this); } return attr; }
/** * Outputs the styles as a single element. Styles are not stored as elements, but part of the * document. For the time being styles are written out as a comment, inside a style tag. */ void writeStyles(StyleSheet sheet) throws IOException { if (sheet != null) { Enumeration styles = sheet.getStyleNames(); if (styles != null) { boolean outputStyle = false; while (styles.hasMoreElements()) { String name = (String) styles.nextElement(); // Don't write out the default style. if (!StyleContext.DEFAULT_STYLE.equals(name) && writeStyle(name, sheet.getStyle(name), outputStyle)) { outputStyle = true; } } if (outputStyle) { writeStyleEndTag(); } } } }
/** Update any cached values that come from attributes. */ protected void setPropertiesFromAttributes() { // update attributes StyleSheet sheet = getStyleSheet(); attr = sheet.getViewAttributes(this); // Reset the painter painter = sheet.getBoxPainter(attr); if (attr != null) { setInsets( (short) painter.getInset(TOP, this), (short) painter.getInset(LEFT, this), (short) painter.getInset(BOTTOM, this), (short) painter.getInset(RIGHT, this)); } // Get the width/height cssWidth = (CSS.LengthValue) attr.getAttribute(CSS.Attribute.WIDTH); cssHeight = (CSS.LengthValue) attr.getAttribute(CSS.Attribute.HEIGHT); }
/** * Creates a new view that represents an IMG element. * * @param elem the element to create a view for */ public MyImageView(Element elem) { super(elem); initialize(elem); StyleSheet sheet = getStyleSheet(); attr = sheet.getViewAttributes(this); }