com.github.gwtbootstrap.client.ui.base.TextNode Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gwt-bootstrap Show documentation
Show all versions of gwt-bootstrap Show documentation
A GWT Library that provides the widgets of Twitter Bootstrap.
The newest version!
package com.github.gwtbootstrap.client.ui.base;
import com.google.gwt.dom.client.Document;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.Text;
import com.google.gwt.event.logical.shared.AttachEvent;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.Widget;
public class TextNode extends Widget implements HasText {
private Text baseNode;
private boolean attached;
public TextNode() {
}
public TextNode(String text) {
setText(text);
}
@Override
public String getText() {
return baseNode != null ? baseNode.getData() : null;
}
@Override
public void setText(String text) {
assert baseNode == null : "TextNode can be set once";
baseNode = Document.get().createTextNode(text);
setElement(baseNode.cast());
}
@Override
public boolean isAttached() {
return attached;
}
@Override
protected void onAttach() {
if(isAttached()) {
throw new IllegalStateException("already added");
}
this.attached = true;
onLoad();
AttachEvent.fire(this, attached);
}
@Override
protected void onDetach() {
if(!isAttached()) {
throw new IllegalStateException("is not attached");
}
this.attached = false;
AttachEvent.fire(this, attached);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy