/** * ************************************* Sets an image and/or text on a button widget. * * @param rWidget The button widget * @param sText The button text (NULL or empty for none) * @param rImage The button image * @param rTextPosition The position of the text relative to the image */ void setButtonImage(HasText rWidget, String sText, Image rImage, AlignedPosition rTextPosition) { if (rImage instanceof ImageRef) { ImageRef rBitmap = (ImageRef) rImage; if (rWidget instanceof PushButton && (sText == null || sText.length() == 0)) { com.google.gwt.user.client.ui.Image rGwtImage = rBitmap.getGwtImage(); PushButton rPushButton = (PushButton) rWidget; rPushButton.getUpFace().setImage(rGwtImage); rPushButton.getUpDisabledFace().setImage(rGwtImage); rPushButton.getUpHoveringFace().setImage(rGwtImage); rPushButton.getDownFace().setImage(rGwtImage); rPushButton.getDownDisabledFace().setImage(rGwtImage); rPushButton.getDownHoveringFace().setImage(rGwtImage); } else { String sImageLabel = createImageLabel( sText, rBitmap, rTextPosition, HasHorizontalAlignment.ALIGN_CENTER, "100%"); if (rWidget instanceof PushButton) { PushButton rPushButton = (PushButton) rWidget; rPushButton.getUpFace().setHTML(sImageLabel); rPushButton.getUpDisabledFace().setHTML(sImageLabel); rPushButton.getUpHoveringFace().setHTML(sImageLabel); rPushButton.getDownFace().setHTML(sImageLabel); rPushButton.getDownDisabledFace().setHTML(sImageLabel); rPushButton.getDownHoveringFace().setHTML(sImageLabel); } else if (rWidget instanceof HasHTML) { ((HasHTML) rWidget).setHTML(sImageLabel); } } } else { rWidget.setText(sText); } }
/** * ************************************* Sets the button text. * * @param sText The new button text */ @Override public void setText(String sText) { sText = getContext().expandResource(sText); this.sText = sText; HasText rWidget = (HasText) getWidget(); rWidget.setText(sText); if (rWidget instanceof PushButton) { // GWT bug: text of other states will not be set sometimes PushButton rPushButton = (PushButton) rWidget; rPushButton.getUpFace().setText(sText); rPushButton.getDownFace().setText(sText); rPushButton.getUpHoveringFace().setText(sText); rPushButton.getDownHoveringFace().setText(sText); rPushButton.getUpDisabledFace().setText(sText); rPushButton.getDownDisabledFace().setText(sText); } }
private void setButtonText(PushButton pushButton, Operator operator) { pushButton.getUpFace().setText(operator.getSymbol()); pushButton.getUpHoveringFace().setText(operator.getSymbol()); pushButton.getDownFace().setText(operator.getSymbol()); pushButton.setTitle(getOperatorTooltip(operator)); }