in compiler/src/main/java/org/apache/royale/compiler/internal/fxg/dom/RichTextNode.java [465:684]
public void setAttribute(String name, String value, Collection<ICompilerProblem> problems)
{
if (FXG_WIDTH_ATTRIBUTE.equals(name))
{
width = DOMParserHelper.parseDouble(this, value, name, width, problems);
}
else if (FXG_HEIGHT_ATTRIBUTE.equals(name))
{
height = DOMParserHelper.parseDouble(this, value, name, height, problems);
}
else if (FXG_BLOCKPROGRESSION_ATTRIBUTE.equals(name))
{
blockProgression = TextHelper.getBlockProgression(this, value, blockProgression, problems);
}
else if (FXG_PADDINGLEFT_ATTRIBUTE.equals(name))
{
paddingLeft = getNumberInherit(this, name, value, PADDING_MIN_INCLUSIVE, PADDING_MAX_INCLUSIVE, paddingLeft.getNumberInheritAsDbl(), problems);
}
else if (FXG_PADDINGRIGHT_ATTRIBUTE.equals(name))
{
paddingRight = getNumberInherit(this, name, value, PADDING_MIN_INCLUSIVE, PADDING_MAX_INCLUSIVE, paddingRight.getNumberInheritAsDbl(), problems);
}
else if (FXG_PADDINGTOP_ATTRIBUTE.equals(name))
{
paddingTop = getNumberInherit(this, name, value, PADDING_MIN_INCLUSIVE, PADDING_MAX_INCLUSIVE, paddingTop.getNumberInheritAsDbl(), problems);
}
else if (FXG_PADDINGBOTTOM_ATTRIBUTE.equals(name))
{
paddingBottom = getNumberInherit(this, name, value, PADDING_MIN_INCLUSIVE, PADDING_MAX_INCLUSIVE, paddingBottom.getNumberInheritAsDbl(), problems);
}
else if (FXG_LINEBREAK_ATTRIBUTE.equals(name))
{
lineBreak = TextHelper.getLineBreak(this, value, lineBreak, problems);
}
else if (FXG_COLUMNGAP_ATTRIBUTE.equals(name))
{
columnGap = getNumberInherit(this, name, value, COLUMNGAP_MIN_INCLUSIVE, COLUMNGAP_MAX_INCLUSIVE, columnGap.getNumberInheritAsDbl(), problems);
}
else if (FXG_COLUMNCOUNT_ATTRIBUTE.equals(name))
{
columnCount = getNumberAutoInt(this, name, value, COLUMNCOUNT_MIN_INCLUSIVE, COLUMNCOUNT_MAX_INCLUSIVE, columnCount.getNumberAutoAsInt(), problems);
}
else if (FXG_COLUMNWIDTH_ATTRIBUTE.equals(name))
{
columnWidth = getNumberAutoDbl(this, name, value, COLUMNWIDTH_MIN_INCLUSIVE, COLUMNWIDTH_MAX_INCLUSIVE, columnWidth.getNumberAutoAsDbl(), problems);
}
else if (FXG_FIRSTBASELINEOFFSET_ATTRIBUTE.equals(name))
{
firstBaselineOffset = getFirstBaselineOffset(this, name, value, BASELINEOFFSET_MIN_INCLUSIVE, BASELINEOFFSET_MAX_INCLUSIVE, firstBaselineOffset.getBaselineOffsetAsDbl(), problems);
}
else if (FXG_VERTICALALIGN_ATTRIBUTE.equals(name))
{
verticalAlign = TextHelper.getVerticalAlign(this, value, verticalAlign, problems);
}
else if (FXG_TEXTALIGN_ATTRIBUTE.equals(name))
{
textAlign = TextHelper.getTextAlign(this, value, textAlign, problems);
}
else if (FXG_TEXTALIGNLAST_ATTRIBUTE.equals(name))
{
textAlignLast = TextHelper.getTextAlign(this, value, textAlignLast, problems);
}
else if (FXG_TEXTINDENT_ATTRIBUTE.equals(name))
{
textIndent = DOMParserHelper.parseDouble(this, value, name, TEXTINDENT_MIN_INCLUSIVE, TEXTINDENT_MAX_INCLUSIVE, textIndent, problems);
}
else if (FXG_PARAGRAPHSTARTINDENT_ATTRIBUTE.equals(name))
{
paragraphStartIndent = DOMParserHelper.parseDouble(this, value, name, PARAGRAPH_INDENT_MIN_INCLUSIVE, PARAGRAPH_INDENT_MAX_INCLUSIVE, paragraphStartIndent, problems);
}
else if (FXG_PARAGRAPHENDINDENT_ATTRIBUTE.equals(name))
{
paragraphEndIndent = DOMParserHelper.parseDouble(this, value, name, PARAGRAPH_INDENT_MIN_INCLUSIVE, PARAGRAPH_INDENT_MAX_INCLUSIVE, paragraphEndIndent, problems);
}
else if (FXG_PARAGRAPHSPACEBEFORE_ATTRIBUTE.equals(name))
{
paragraphSpaceBefore = DOMParserHelper.parseDouble(this, value, name, PARAGRAPH_SPACE_MIN_INCLUSIVE, PARAGRAPH_SPACE_MAX_INCLUSIVE, paragraphSpaceBefore, problems);
}
else if (FXG_PARAGRAPHSPACEAFTER_ATTRIBUTE.equals(name))
{
paragraphSpaceAfter = DOMParserHelper.parseDouble(this, value, name, PARAGRAPH_SPACE_MIN_INCLUSIVE, PARAGRAPH_SPACE_MAX_INCLUSIVE, paragraphSpaceAfter, problems);
}
else if (FXG_DIRECTION_ATTRIBUTE.equals(name))
{
direction = TextHelper.getDirection(this, value, direction, problems);
}
else if (FXG_JUSTIFICATIONRULE_ATTRIBUTE.equals(name))
{
justificationRule = TextHelper.getJustificationRule(this, value, justificationRule, problems);
}
else if (FXG_JUSTIFICATIONSTYLE_ATTRIBUTE.equals(name))
{
justificationStyle = TextHelper.getJustificationStyle(this, value, justificationStyle, problems);
}
else if (FXG_TEXTJUSTIFY_ATTRIBUTE.equals(name))
{
textJustify = TextHelper.getTextJustify(this, value, textJustify, problems);
}
else if (FXG_LEADINGMODEL_ATTRIBUTE.equals(name))
{
leadingModel = TextHelper.getLeadingModel(this, value, leadingModel, problems);
}
else if (FXG_TABSTOPS_ATTRIBUTE.equals(name))
{
tabStops = TextHelper.parseTabStops(this, value, tabStops, problems);
}
else if (FXG_FONTFAMILY_ATTRIBUTE.equals(name))
{
fontFamily = value;
}
else if (FXG_FONTSIZE_ATTRIBUTE.equals(name))
{
fontSize = DOMParserHelper.parseDouble(this, value, name, FONTSIZE_MIN_INCLUSIVE, FONTSIZE_MAX_INCLUSIVE, fontSize, problems);
}
else if (FXG_FONTSTYLE_ATTRIBUTE.equals(name))
{
fontStyle = TextHelper.getFontStyle(this, value, fontStyle, problems);
}
else if (FXG_FONTWEIGHT_ATTRIBUTE.equals(name))
{
fontWeight = TextHelper.getFontWeight(this, value, fontWeight, problems);
}
else if (FXG_KERNING_ATTRIBUTE.equals(name))
{
kerning = TextHelper.getKerning(this, value, kerning, problems);
}
else if (FXG_LINEHEIGHT_ATTRIBUTE.equals(name))
{
lineHeight = DOMParserHelper.parseNumberPercentWithSeparateRange(this, value, name,
LINEHEIGHT_PIXEL_MIN_INCLUSIVE, LINEHEIGHT_PIXEL_MAX_INCLUSIVE,
LINEHEIGHT_PERCENT_MIN_INCLUSIVE, LINEHEIGHT_PERCENT_MAX_INCLUSIVE, lineHeight, problems);
}
else if (FXG_TEXTDECORATION_ATTRIBUTE.equals(name))
{
textDecoration = TextHelper.getTextDecoration(this, value, textDecoration, problems);
}
else if ( FXG_LINETHROUGH_ATTRIBUTE.equals(name))
{
lineThrough = DOMParserHelper.parseBoolean(this, value, name, lineThrough, problems);
}
else if (FXG_COLOR_ATTRIBUTE.equals(name))
{
color = DOMParserHelper.parseRGB(this, value, name, color, problems);
}
else if (FXG_TEXTALPHA_ATTRIBUTE.equals(name))
{
textAlpha = DOMParserHelper.parseDouble(this, value, name, ALPHA_MIN_INCLUSIVE, ALPHA_MAX_INCLUSIVE, textAlpha, problems);
}
else if (FXG_WHITESPACECOLLAPSE_ATTRIBUTE.equals(name))
{
whiteSpaceCollapse = TextHelper.getWhiteSpaceCollapse(this, value, whiteSpaceCollapse, problems);
}
else if (FXG_BACKGROUNDALPHA_ATTRIBUTE.equals(name))
{
backgroundAlpha = getAlphaInherit(this, name, value, ALPHA_MIN_INCLUSIVE, ALPHA_MAX_INCLUSIVE, backgroundAlpha.getNumberInheritAsDbl(), problems);
}
else if (FXG_BACKGROUNDCOLOR_ATTRIBUTE.equals(name))
{
backgroundColor = getColorWithEnum(this, name, value, backgroundColor.getColorWithEnumAsString(), problems);
}
else if (FXG_BASELINESHIFT_ATTRIBUTE.equals(name))
{
baselineShift = getBaselineShift(this, name, value, BASELINESHIFT_MIN_INCLUSIVE, BASELINESHIFT_MAX_INCLUSIVE, baselineShift.getBaselineShiftAsDbl(), problems);
}
else if (FXG_BREAKOPPORTUNITY_ATTRIBUTE.equals(name))
{
breakOpportunity = TextHelper.getBreakOpportunity(this, value, breakOpportunity, problems);
}
else if (FXG_DIGITCASE_ATTRIBUTE.equals(name))
{
digitCase = TextHelper.getDigitCase(this, value, digitCase, problems);
}
else if (FXG_DIGITWIDTH_ATTRIBUTE.equals(name))
{
digitWidth = TextHelper.getDigitWidth(this, value, digitWidth, problems);
}
else if (FXG_DOMINANTBASELINE_ATTRIBUTE.equals(name))
{
dominantBaseline = TextHelper.getDominantBaseline(this, value, dominantBaseline, problems);
}
else if (FXG_ALIGNMENTBASELINE_ATTRIBUTE.equals(name))
{
alignmentBaseline = TextHelper.getAlignmentBaseline(this, value, alignmentBaseline, problems);
}
else if (FXG_LIGATURELEVEL_ATTRIBUTE.equals(name))
{
ligatureLevel = TextHelper.getLigatureLevel(this, value, ligatureLevel, problems);
}
else if (FXG_LOCALE_ATTRIBUTE.equals(name))
{
locale = value;
}
else if (FXG_TYPOGRAPHICCASE_ATTRIBUTE.equals(name))
{
typographicCase = TextHelper.getTypographicCase(this, value, typographicCase, problems);
}
else if (FXG_TRACKINGLEFT_ATTRIBUTE.equals(name))
{
trackingLeft = DOMParserHelper.parseNumberPercent(this, value, name, TRACKING_MIN_INCLUSIVE, TRACKING_MAX_INCLUSIVE, trackingLeft, problems);
}
else if (FXG_TRACKINGRIGHT_ATTRIBUTE.equals(name))
{
trackingRight = DOMParserHelper.parseNumberPercent(this, value, name, TRACKING_MIN_INCLUSIVE, TRACKING_MAX_INCLUSIVE, trackingRight, problems);
}
else if (FXG_TEXTROTATION_ATTRIBUTE.equals(name))
{
textRotation = TextHelper.getTextRotation(this, value, textRotation, problems);
}
else if (FXG_ID_ATTRIBUTE.equals(name))
{
//id = value;
}
else
{
super.setAttribute(name, value, problems);
}
// Remember that this attribute was set on this node.
rememberAttribute(name, value);
}