Beispiel #1
0
  /**
   * ************************************* 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);
    }
  }
Beispiel #2
0
  /**
   * ************************************* 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);
    }
  }