RowFormatter class
This class contains methods used to format a table's rows.
class RowFormatter {
HtmlTable _table;
/**
* Adds a style to the specified row.
*
* @param row the row to which the style will be added
* @param styleName the style name to be added
* @see UiObject#addStyleName(String)
* @throws IndexOutOfBoundsException
*/
void addStyleName(int row, String styleName) {
UiObject.manageElementStyleName(ensureElement(row), styleName, true);
}
/**
* Gets the TR element representing the specified row.
*
* @param row the row whose TR element is to be retrieved
* @return the row's TR element
* @throws IndexOutOfBoundsException
*/
dart_html.Element getElement(int row) {
_table.checkRowBounds(row);
return getRow(_table.bodyElem, row);
}
/**
* Gets the style of the specified row.
*
* @param row the row to be queried
* @return the style name
* @see UiObject#getStyleName()
* @throws IndexOutOfBoundsException
*/
String getStyleName(int row) {
return UiObject.getElementStyleName(getElement(row));
}
/**
* Gets the primary style of the specified row.
*
* @param row the row to be queried
* @return the style name
* @see UiObject#getStylePrimaryName()
* @throws IndexOutOfBoundsException
*/
String getStylePrimaryName(int row) {
return UiObject.getElementStylePrimaryName(getElement(row));
}
/**
* Determines whether or not this row is visible via the display style
* attribute.
*
* @param row the row whose visibility is to be set
* @return <code>true</code> if the row is visible
*/
bool isVisible(int row) {
dart_html.Element e = getElement(row);
return UiObject.isVisible(e);
}
/**
* Removes a style from the specified row.
*
* @param row the row from which the style will be removed
* @param styleName the style name to be removed
* @see UiObject#removeStyleName(String)
* @throws IndexOutOfBoundsException
*/
void removeStyleName(int row, String styleName) {
UiObject.manageElementStyleName(ensureElement(row), styleName, false);
}
/**
* Sets the style name associated with the specified row.
*
* @param row the row whose style name is to be set
* @param styleName the new style name
* @see UiObject#setStyleName(String)
* @throws IndexOutOfBoundsException
*/
void setStyleName(int row, String styleName) {
UiObject.setElementStyleName(ensureElement(row), styleName);
}
/**
* Sets the primary style name associated with the specified row.
*
* @param row the row whose style name is to be set
* @param styleName the new style name
* @see UiObject#setStylePrimaryName(String)
* @throws IndexOutOfBoundsException
*/
void setStylePrimaryName(int row, String styleName) {
UiObject.setElementStylePrimaryName(ensureElement(row), styleName);
}
/**
* Sets the vertical alignment of the specified row.
*
* @param row the row whose alignment is to be set
* @param align the row's new vertical alignment as specified in
* {@link HasVerticalAlignment}
* @throws IndexOutOfBoundsException
*/
void setVerticalAlign(int row, VerticalAlignmentConstant align) {
Dom.setStyleAttribute(ensureElement(row), "verticalAlign",
align.getVerticalAlignString());
}
/**
* Sets whether this row is visible.
*
* @param row the row whose visibility is to be set
* @param visible <code>true</code> to show the row, <code>false</code> to
* hide it
*/
void setVisible(int row, bool visible) {
dart_html.Element e = ensureElement(row);
UiObject.setVisible(e, visible);
}
/**
* Ensure the TR element representing the specified row exists for
* subclasses that allow dynamic addition of elements.
*
* @param row the row whose TR element is to be retrieved
* @return the row's TR element
* @throws IndexOutOfBoundsException
*/
dart_html.Element ensureElement(int row) {
_table.prepareRow(row);
return getRow(_table.bodyElem, row);
}
dart_html.Element getRow(dart_html.Element elem, int row) {
return (elem.parent as dart_html.TableElement).rows[row];
}
/**
* Convenience methods to set an attribute on a row.
*
* @param row cell's row
* @param attrName attribute to set
* @param value value to set
* @throws IndexOutOfBoundsException
*/
void setAttr(int row, String attrName, String value) {
dart_html.Element elem = ensureElement(row);
Dom.setElementAttribute(elem, attrName, value);
}
}
Methods
void addStyleName(int row, String styleName) #
Adds a style to the specified row.
@param row the row to which the style will be added @param styleName the style name to be added @see UiObject#addStyleName(String) @throws IndexOutOfBoundsException
void addStyleName(int row, String styleName) {
UiObject.manageElementStyleName(ensureElement(row), styleName, true);
}
Element ensureElement(int row) #
Ensure the TR element representing the specified row exists for subclasses that allow dynamic addition of elements.
@param row the row whose TR element is to be retrieved @return the row's TR element @throws IndexOutOfBoundsException
dart_html.Element ensureElement(int row) {
_table.prepareRow(row);
return getRow(_table.bodyElem, row);
}
Element getElement(int row) #
Gets the TR element representing the specified row.
@param row the row whose TR element is to be retrieved @return the row's TR element @throws IndexOutOfBoundsException
dart_html.Element getElement(int row) {
_table.checkRowBounds(row);
return getRow(_table.bodyElem, row);
}
Element getRow(Element elem, int row) #
dart_html.Element getRow(dart_html.Element elem, int row) {
return (elem.parent as dart_html.TableElement).rows[row];
}
String getStyleName(int row) #
Gets the style of the specified row.
@param row the row to be queried @return the style name @see UiObject#getStyleName() @throws IndexOutOfBoundsException
String getStyleName(int row) {
return UiObject.getElementStyleName(getElement(row));
}
String getStylePrimaryName(int row) #
Gets the primary style of the specified row.
@param row the row to be queried @return the style name @see UiObject#getStylePrimaryName() @throws IndexOutOfBoundsException
String getStylePrimaryName(int row) {
return UiObject.getElementStylePrimaryName(getElement(row));
}
bool isVisible(int row) #
Determines whether or not this row is visible via the display style attribute.
@param row the row whose visibility is to be set @return <code>true</code> if the row is visible
bool isVisible(int row) {
dart_html.Element e = getElement(row);
return UiObject.isVisible(e);
}
void removeStyleName(int row, String styleName) #
Removes a style from the specified row.
@param row the row from which the style will be removed @param styleName the style name to be removed @see UiObject#removeStyleName(String) @throws IndexOutOfBoundsException
void removeStyleName(int row, String styleName) {
UiObject.manageElementStyleName(ensureElement(row), styleName, false);
}
void setAttr(int row, String attrName, String value) #
Convenience methods to set an attribute on a row.
@param row cell's row @param attrName attribute to set @param value value to set @throws IndexOutOfBoundsException
void setAttr(int row, String attrName, String value) {
dart_html.Element elem = ensureElement(row);
Dom.setElementAttribute(elem, attrName, value);
}
void setStyleName(int row, String styleName) #
Sets the style name associated with the specified row.
@param row the row whose style name is to be set @param styleName the new style name @see UiObject#setStyleName(String) @throws IndexOutOfBoundsException
void setStyleName(int row, String styleName) {
UiObject.setElementStyleName(ensureElement(row), styleName);
}
void setStylePrimaryName(int row, String styleName) #
Sets the primary style name associated with the specified row.
@param row the row whose style name is to be set @param styleName the new style name @see UiObject#setStylePrimaryName(String) @throws IndexOutOfBoundsException
void setStylePrimaryName(int row, String styleName) {
UiObject.setElementStylePrimaryName(ensureElement(row), styleName);
}
void setVerticalAlign(int row, VerticalAlignmentConstant align) #
Sets the vertical alignment of the specified row.
@param row the row whose alignment is to be set @param align the row's new vertical alignment as specified in
{@link HasVerticalAlignment}
@throws IndexOutOfBoundsException
void setVerticalAlign(int row, VerticalAlignmentConstant align) {
Dom.setStyleAttribute(ensureElement(row), "verticalAlign",
align.getVerticalAlignString());
}
void setVisible(int row, bool visible) #
Sets whether this row is visible.
@param row the row whose visibility is to be set @param visible <code>true</code> to show the row, <code>false</code> to
hide it
void setVisible(int row, bool visible) {
dart_html.Element e = ensureElement(row);
UiObject.setVisible(e, visible);
}