package ilarkesto.gwt.client; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.Widget; public class ButtonWidget extends AWidget { private Button button; private AAction action; private HTML tooltip; public ButtonWidget(AAction action) { this.action = action; } @Override protected Widget onInitialization() { button = new Button(action.getLabel(), action); tooltip = Gwt.addHtmlTooltip(button, ""); return button; } @Override protected void onUpdate() { button.getElement().setId("button_" + action.getId()); button.setText(action.getLabel()); button.setEnabled(action.isPermitted() && action.isExecutable()); tooltip.setHTML(action.getTooltip()); } @Override public String toString() { return "ButtonWidget(" + action + ")"; } }