Package org.pushingpixels.flamingo.api.common.icon

Examples of org.pushingpixels.flamingo.api.common.icon.ResizableIcon


  /**
   * Installs default parameters on the associated ribbon component.
   */
  protected void installDefaults() {
    if (!this.ribbonComponent.isSimpleWrapper()) {
      ResizableIcon icon = this.ribbonComponent.getIcon();
      if (icon != null) {
        icon.setDimension(new Dimension(16, 16));
        this.disabledIcon = createDisabledIcon();
      }
    }

    this.ribbonComponent.getMainComponent().setOpaque(false);
View Full Code Here


  @Override
  public void paint(Graphics g, JComponent c) {
    JRibbonComponent ribbonComp = (JRibbonComponent) c;
    if (isIconVisible(this.ribbonComponent.getDisplayPriority())) {
      Insets ins = ribbonComp.getInsets();
      ResizableIcon icon = ribbonComp.isEnabled() ? ribbonComp.getIcon()
          : this.disabledIcon;
      if (icon != null) {
        int availableHeight = ribbonComp.getHeight() - ins.top
            - ins.bottom;
        int iconY = Math.max(0, ins.top
            + (availableHeight - icon.getIconHeight()) / 2);
        if (ribbonComp.getComponentOrientation().isLeftToRight()) {
          paintIcon(g, ribbonComp, icon, ins.left, iconY);
        } else {
          paintIcon(g, ribbonComp, icon, ribbonComp.getWidth()
              - ins.right - icon.getIconWidth(), iconY);
        }
      }
    }
  }
View Full Code Here

    Dimension prefMain = mainComponent.getPreferredSize();

    int width = ins.left;
    int height = prefMain.height;
    if (isIconVisible(priority)) {
      ResizableIcon icon = ribbonComponent.getIcon();
      if (icon != null) {
        width += (icon.getIconWidth() + getLayoutGap());
        height = Math.max(height, icon.getIconHeight());
      }
    }
    if (isCaptionVisible(priority)) {
      Dimension prefCaption = captionLabel.getPreferredSize();
      width += (prefCaption.width + getLayoutGap());
View Full Code Here

      Dimension minMain = mainComponent.getMinimumSize();

      int width = ins.left;
      int height = minMain.height;
      if (isIconVisible(ribbonComponent.getDisplayPriority())) {
        ResizableIcon icon = ribbonComponent.getIcon();
        if (icon != null) {
          width += (icon.getIconWidth() + getLayoutGap());
          height = Math.max(height, icon.getIconHeight());
        }
      }
      if (isCaptionVisible(ribbonComponent.getDisplayPriority())) {
        Dimension minCaption = captionLabel.getMinimumSize();
        width += (minCaption.width + getLayoutGap());
View Full Code Here

      protected void process(List<Leaf> leaves) {
        for (final Leaf leaf : leaves) {
          final String name = leaf.getLeafName();
          InputStream stream = leaf.getLeafStream();
          Dimension dim = new Dimension(currDimension, currDimension);
          final ResizableIcon icon = getResizableIcon(leaf, stream,
              currState, dim);
          if (icon == null)
            continue;
          final JCommandButton commandButton = newButtons.get(name);
          commandButton.setIcon(icon);
View Full Code Here

   *            New default icon for this button.
   * @see #setDisabledIcon(ResizableIcon)
   * @see #getIcon()
   */
  public void setIcon(ResizableIcon defaultIcon) {
    ResizableIcon oldValue = this.icon;
    this.icon = defaultIcon;

    firePropertyChange("icon", oldValue, defaultIcon);
    if (defaultIcon != oldValue) {
      if (defaultIcon == null || oldValue == null
          || defaultIcon.getIconWidth() != oldValue.getIconWidth()
          || defaultIcon.getIconHeight() != oldValue.getIconHeight()) {
        revalidate();
      }
      repaint();
    }
  }
View Full Code Here

   * Creates the expand button for the associated ribbon band.
   *
   * @return Expand button for the associated ribbon band.
   */
  protected JCommandButton createExpandButton() {
    ResizableIcon icon = FlamingoUtilities
        .getRibbonBandExpandIcon(this.ribbonBand);
    JCommandButton result = new JCommandButton(null, icon);
    result.setFlat(true);
    result.putClientProperty(BasicCommandButtonUI.EMULATE_SQUARE_BUTTON,
        Boolean.TRUE);
View Full Code Here

  @Override
  public Point getKeyTipAnchorCenterPoint(AbstractCommandButton commandButton) {
    Insets ins = commandButton.getInsets();
    int height = commandButton.getHeight();
    ResizableIcon buttonIcon = commandButton.getIcon();
    // bottom-right corner of the icon area
    return new Point(ins.left + buttonIcon.getIconWidth(), height - ins.top
        - ins.bottom);
  }
View Full Code Here

    JSeparator jsep = new JSeparator(JSeparator.VERTICAL);
    int layoutHGap = 2 * FlamingoUtilities.getHLayoutGap(commandButton);

    boolean ltr = commandButton.getComponentOrientation().isLeftToRight();

    ResizableIcon buttonIcon = commandButton.getIcon();

    if (ltr) {
      int x = ins.left;
      // small icon, 1-line text, 1-line extra text and action arrow
      result.iconRect.x = x;
      result.iconRect.y = (height - buttonIcon.getIconHeight()) / 2;
      result.iconRect.width = buttonIcon.getIconWidth();
      result.iconRect.height = buttonIcon.getIconHeight();

      x += commandButton.getIcon().getIconWidth();
      if (buttonKind == JCommandButton.CommandButtonKind.ACTION_AND_POPUP_MAIN_POPUP) {
        result.actionClickArea.x = 0;
        result.actionClickArea.y = 0;
        result.actionClickArea.width = x + layoutHGap;
        result.actionClickArea.height = height;

        result.popupClickArea.x = x + layoutHGap;
        result.popupClickArea.y = 0;
        result.popupClickArea.width = width - x - layoutHGap;
        result.popupClickArea.height = height;

        result.separatorOrientation = CommandButtonSeparatorOrientation.VERTICAL;
        result.separatorArea = new Rectangle();
        result.separatorArea.x = x + layoutHGap;
        result.separatorArea.y = 0;
        result.separatorArea.width = new JSeparator(JSeparator.VERTICAL)
            .getPreferredSize().width;
        result.separatorArea.height = height;

        result.isTextInActionArea = false;
      }
      x += 2 * layoutHGap + jsep.getPreferredSize().width;

      TextLayoutInfo lineLayoutInfo = new TextLayoutInfo();
      lineLayoutInfo.text = commandButton.getText();
      lineLayoutInfo.textRect = new Rectangle();

      lineLayoutInfo.textRect.x = x;
      lineLayoutInfo.textRect.y = (height - labelHeight) / 2;
      lineLayoutInfo.textRect.width = fm.stringWidth(commandButton
          .getText());
      lineLayoutInfo.textRect.height = labelHeight;

      result.textLayoutInfoList = new ArrayList<TextLayoutInfo>();
      result.textLayoutInfoList.add(lineLayoutInfo);

      x += fm.getStringBounds(commandButton.getText(), g).getWidth();
      if (buttonKind == JCommandButton.CommandButtonKind.ACTION_AND_POPUP_MAIN_ACTION) {
        // popup click areas are right aligned
        result.actionClickArea.x = 0;
        result.actionClickArea.y = 0;
        result.actionClickArea.width = width - ins.right - labelHeight;
        result.actionClickArea.height = height;

        result.popupClickArea.x = width - ins.right - labelHeight;
        result.popupClickArea.y = 0;
        result.popupClickArea.width = labelHeight + ins.right;
        result.popupClickArea.height = height;

        result.separatorOrientation = CommandButtonSeparatorOrientation.VERTICAL;
        result.separatorArea = new Rectangle();
        result.separatorArea.x = width - ins.right - labelHeight;
        result.separatorArea.y = 0;
        result.separatorArea.width = new JSeparator(JSeparator.VERTICAL)
            .getPreferredSize().width;
        result.separatorArea.height = height;

        result.isTextInActionArea = true;
      }

      if (FlamingoUtilities.hasPopupAction(commandButton)) {
        result.popupActionRect.x = width - ins.right - labelHeight * 3
            / 4;
        result.popupActionRect.y = (height - labelHeight) / 2 - 1;
        result.popupActionRect.width = 1 + labelHeight / 2;
        result.popupActionRect.height = labelHeight + 2;
      }
    } else {
      int x = commandButton.getWidth() - ins.right;
      // small icon, 1-line text, 1-line extra text and action arrow
      result.iconRect.x = x - buttonIcon.getIconWidth();
      result.iconRect.y = (height - buttonIcon.getIconHeight()) / 2;
      result.iconRect.width = buttonIcon.getIconWidth();
      result.iconRect.height = buttonIcon.getIconHeight();

      x -= commandButton.getIcon().getIconWidth();
      if (buttonKind == JCommandButton.CommandButtonKind.ACTION_AND_POPUP_MAIN_POPUP) {
        result.actionClickArea.x = x + layoutHGap;
        result.actionClickArea.y = 0;
View Full Code Here

  @Override
  public Point getKeyTipAnchorCenterPoint(AbstractCommandButton commandButton) {
    Insets ins = commandButton.getInsets();
    int height = commandButton.getHeight();
    ResizableIcon buttonIcon = commandButton.getIcon();
    // bottom-right corner of the icon area
    return new Point(ins.left + buttonIcon.getIconWidth(),
        (height + buttonIcon.getIconHeight()) / 2);
  }
View Full Code Here

TOP

Related Classes of org.pushingpixels.flamingo.api.common.icon.ResizableIcon

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.