API Reference 0.3.24dart_web_toolkit_uiFace

Face abstract class

Represents a button's face. Each face is associated with its own style modifier and, optionally, its own contents html, text, or image.

abstract class Face implements HasHtml {

 static String STYLENAME_HTML_FACE = "html-face";
 Face delegateTo;
 dart_html.Element face;

 CustomButton _customButton;

 /**
  * Constructor for <code>Face</code>. Creates a new face that delegates to
  * the supplied face.
 *
  * @param delegateTo default content provider
  */
 Face(this._customButton, this.delegateTo);

 //**************************
 // Implementation of HasHtml
 //**************************

 /**
  * Gets the face's contents as html.
 *
  * @return face's contents as html
 *
  */
 String get html => getFace().innerHtml;

 /**
  * Set the face's contents as html.
 *
  * @param html html to set as face's contents html
 *
  */
 void set html(String value) {
   face = new dart_html.DivElement();
   UiObject.manageElementStyleName(face, STYLENAME_HTML_FACE, true);
   face.innerHtml = value;
   updateButtonFace();
 }

 //**************************
 // Implementation of HasText
 //**************************

 /**
  * Gets the face's contents as text.
 *
  * @return face's contents as text
 *
  */
 String get text => getFace().text;

 /**
  * Sets the face's contents as text.
 *
  * @param text text to set as face's contents
  */
 void set text(String value) {
   face = new dart_html.DivElement();
   UiObject.manageElementStyleName(face, STYLENAME_HTML_FACE, true);
   face.text = value;
   updateButtonFace();
 }

 //*******
 // Images
 //*******

 /**
  * Set the face's contents as an image.
 *
  * @param image image to set as face contents
  */
 void setImage(Image image) {
   face = image.getElement();
   updateButtonFace();
 }

 /**
  * Gets the contents associated with this face.
  */
 dart_html.Element getFace() {
   if (face == null) {
     if (delegateTo == null) {
       // provide a default face as none was supplied.
       face = new dart_html.DivElement();
       return face;
     } else {
       return delegateTo.getFace();
     }
   } else {
     return face;
   }
 }

 void updateButtonFace() {
   if (_customButton._curFace != null && _customButton._curFace.getFace() == this.getFace()) {
     _customButton._setCurrentFaceElement(face);
   }
 }

 String toString() {
   return this.getName();
 }

 /**
  * Gets the ID associated with this face. This will be a bitwise and of all
  * of the attributes that comprise this face.
  */
 int getFaceID();

 /**
  * Get the name of the face. This property is also used as a modifier on the
  * <code>CustomButton</code> style. <p/> For instance, if the
  * <code>CustomButton</code> style is "gwt-PushButton" and the face name is
  * "up", then the CSS class name will be "gwt-PushButton-up".
 *
  * @return the face's name
  */
 String getName();
}

Subclasses

SimpleFace

Implements

HasHtml

Static Properties

String STYLENAME_HTML_FACE #

static String STYLENAME_HTML_FACE = "html-face"

Constructors

new Face(CustomButton _customButton, Face delegateTo) #

Constructor for <code>Face</code>. Creates a new face that delegates to the supplied face.

@param delegateTo default content provider

Face(this._customButton, this.delegateTo);

Properties

Face delegateTo #

Face delegateTo

Element face #

dart_html.Element face

String get html #

Gets the face's contents as html.

@return face's contents as html

String get html => getFace().innerHtml;

void set html(String value) #

Set the face's contents as html.

@param html html to set as face's contents html

void set html(String value) {
 face = new dart_html.DivElement();
 UiObject.manageElementStyleName(face, STYLENAME_HTML_FACE, true);
 face.innerHtml = value;
 updateButtonFace();
}

String get text #

Gets the face's contents as text.

@return face's contents as text

String get text => getFace().text;

void set text(String value) #

Sets the face's contents as text.

@param text text to set as face's contents

void set text(String value) {
 face = new dart_html.DivElement();
 UiObject.manageElementStyleName(face, STYLENAME_HTML_FACE, true);
 face.text = value;
 updateButtonFace();
}

Methods

Element getFace() #

Gets the contents associated with this face.

dart_html.Element getFace() {
 if (face == null) {
   if (delegateTo == null) {
     // provide a default face as none was supplied.
     face = new dart_html.DivElement();
     return face;
   } else {
     return delegateTo.getFace();
   }
 } else {
   return face;
 }
}

abstract int getFaceID() #

Gets the ID associated with this face. This will be a bitwise and of all of the attributes that comprise this face.

abstract String getName() #

Get the name of the face. This property is also used as a modifier on the <code>CustomButton</code> style. <p/> For instance, if the <code>CustomButton</code> style is "gwt-PushButton" and the face name is "up", then the CSS class name will be "gwt-PushButton-up".

@return the face's name

void setImage(Image image) #

Set the face's contents as an image.

@param image image to set as face contents

void setImage(Image image) {
 face = image.getElement();
 updateButtonFace();
}

String toString() #

Returns a string representation of this object.

docs inherited from Object
String toString() {
 return this.getName();
}

void updateButtonFace() #

void updateButtonFace() {
 if (_customButton._curFace != null && _customButton._curFace.getFace() == this.getFace()) {
   _customButton._setCurrentFaceElement(face);
 }
}