package org.ovirt.engine.ui.webadmin.widget.action;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.PushButton;
/**
* Base class used to implement action button widgets.
* <p>
* Subclasses are free to style the UI, given that they declare:
* <ul>
* <li>{@link #button} widget representing the action button
* </ul>
*/
public abstract class AbstractActionButton extends Composite implements ActionButton {
@UiField
PushButton button;
@Override
public void setEnabledHtml(SafeHtml html) {
button.getUpFace().setHTML(html);
}
@Override
public void setDisabledHtml(SafeHtml html) {
button.getUpDisabledFace().setHTML(html);
}
@Override
public HandlerRegistration addClickHandler(ClickHandler handler) {
return button.addClickHandler(handler);
}
@Override
public boolean isEnabled() {
return button.isEnabled();
}
@Override
public void setEnabled(boolean enabled) {
button.setEnabled(enabled);
}
@Override
public void setTitle(String title) {
button.setTitle(title);
}
}