package ilarkesto.gwt.client.editor;
import ilarkesto.core.base.Str;
import ilarkesto.gwt.client.AViewEditWidget;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
public class TextOutputWidget extends AViewEditWidget {
private Label viewer;
private AEditorModel model;
public TextOutputWidget(AEditorModel model) {
super();
this.model = model;
}
@Override
protected final Widget onViewerInitialization() {
viewer = new Label();
return viewer;
}
@Override
protected final Widget onEditorInitialization() {
throw new IllegalStateException("no editor");
}
@Override
protected void onViewerUpdate() {
Object value = model.getValue();
setViewerText(value == null ? null : String.valueOf(value));
}
@Override
protected void onEditorUpdate() {}
@Override
protected void onEditorSubmit() {}
public final void setViewerText(String text) {
if (Str.isBlank(text)) text = ".";
viewer.setText(text);
}
@Override
public boolean isEditable() {
return false;
}
@Override
protected void focusEditor() {}
@Override
public String getTooltip() {
return model.getTooltip();
}
@Override
public String getId() {
return model.getId();
}
}