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

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


    return button;
  }
 
  public static JCommandToggleMenuButton createCommandToggleMenuButton(final AFreeplaneAction action) {
    String title = ActionUtils.getActionTitle(action);
    ResizableIcon icon = ActionUtils.getActionIcon(action);
   
    final JCommandToggleMenuButton button = new JCommandToggleMenuButton(title, icon);
   
    updateRichTooltip(button, action, null);
    button.addActionListener(new RibbonActionListener(action));
View Full Code Here


    for(Component comp : ribbon.getComponents()) {
      if(comp instanceof JRibbonApplicationMenuButton) {
        String appName = ResourceController.getResourceController().getProperty("ApplicationName", "Freeplane");
        URL location = ResourceController.getResourceController().getResource("/images/"+appName.trim()+"_app_menu_128.png");
        if (location != null) {
          ResizableIcon icon = ImageWrapperResizableIcon.getIcon(location, new Dimension(32, 32));
          ((JRibbonApplicationMenuButton) comp).setIcon(icon);
          ((JRibbonApplicationMenuButton) comp).setBackground(Color.blue);
        }
      }
    }
View Full Code Here

                                                  ExecutionMode executionMode) {
        final ScriptMetaData metaData = configuration.getMenuTitleToMetaDataMap().get(scriptName);
        final String title = scriptNameToMenuItemTitle(scriptName);
        AFreeplaneAction action = new ExecuteScriptAction(scriptName, title, scriptPath, executionMode,
            metaData.cacheContent(), metaData.getPermissions());
        ResizableIcon icon = ActionUtils.getActionIcon(action);
        final JCommandMenuButton scriptEntry = new JCommandMenuButton(title, icon);
        scriptEntry.setActionRichTooltip(createRichTooltip(title, metaData));
        scriptEntry.addActionListener(action);
        scriptEntry.setFocusable(false);
        scriptEntry.setEnabled(metaData.getExecutionModes().contains(executionMode));
View Full Code Here

        final String key = attributes.getProperty("action");
        if(key != null) {
          AFreeplaneAction action = context.getBuilder().getMode().getAction(key);
          if(action != null) {
            String title = ActionUtils.getActionTitle(action);
            ResizableIcon icon = ActionUtils.getActionIcon(action);
            ActionListener listener = new RibbonActionContributorFactory.RibbonActionListener(action);
            final RibbonApplicationMenuEntryFooter entry = new RibbonApplicationMenuEntryFooter(icon, title, listener);
            KeyStroke ks = context.getBuilder().getAcceleratorManager().getAccelerator(key);
            if(ks != null) {
              RichTooltip tip = RibbonActionContributorFactory.getRichTooltip(action, ks);
View Full Code Here

   * METHODS
   **********************************************************************************/

  public static RibbonApplicationMenuEntryPrimary createMenuEntry(final AFreeplaneAction action, CommandButtonKind kind) {
    String title = ActionUtils.getActionTitle(action);
    ResizableIcon icon = ActionUtils.getActionIcon(action);

    RibbonApplicationMenuEntryPrimary entry = new RibbonApplicationMenuEntryPrimary(icon, title, new RibbonActionContributorFactory.RibbonActionListener(action), kind);
    return entry;
  }
View Full Code Here

import org.pushingpixels.flamingo.api.common.icon.ResizableIcon;

public abstract class ActionUtils {

  public static ResizableIcon getActionIcon(final AFreeplaneAction action) {
    ResizableIcon icon = null;
    ImageIcon ico = (ImageIcon) action.getValue(Action.SMALL_ICON);
    if(ico != null) {
      icon = ImageWrapperResizableIcon.getIcon(ico.getImage(), new Dimension(ico.getIconWidth(), ico.getIconHeight()));
    }
    else {
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

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

    ResizableIcon buttonIcon = commandButton.getIcon();
    boolean ltr = commandButton.getComponentOrientation().isLeftToRight();

    if (ltr) {
      int x = ins.left;
      // medium icon, 1-line text, 1-line extra text and action arrow
      if (buttonIcon != null) {
        result.iconRect.x = x;
        result.iconRect.y = ins.top + layoutVGap;
        result.iconRect.width = buttonIcon.getIconWidth();
        result.iconRect.height = buttonIcon.getIconHeight();

        x += buttonIcon.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 = ins.top + layoutVGap / 2;
      lineLayoutInfo.textRect.width = fm.stringWidth(commandButton
          .getText());
      lineLayoutInfo.textRect.height = labelHeight;

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

      String extraText = commandButton.getExtraText();
      if ((extraText == null) || (extraText.length() == 0)) {
        lineLayoutInfo.textRect.y = (height - labelHeight) / 2;
      } else {
        AttributedString attributedDescription = new AttributedString(
            commandButton.getExtraText());
        attributedDescription.addAttribute(TextAttribute.FONT,
            g.getFont());
        LineBreakMeasurer lineBreakMeasurer = new LineBreakMeasurer(
            attributedDescription.getIterator(),
            ((Graphics2D) g).getFontRenderContext());
        // The max width of the extra text line - need to leave
        // space for the popup arrow icon
        int maxFirstExtraLineWidth = width - x - ins.right - layoutHGap
            - labelHeight;
        int breakIndex = lineBreakMeasurer
            .nextOffset(maxFirstExtraLineWidth);

        TextLayoutInfo extraLineLayoutInfo1 = new TextLayoutInfo();
        extraLineLayoutInfo1.text = commandButton.getExtraText()
            .substring(0, breakIndex);
        extraLineLayoutInfo1.textRect = new Rectangle();

        extraLineLayoutInfo1.textRect.x = x;
        extraLineLayoutInfo1.textRect.y = ins.top + layoutVGap
            + labelHeight;
        extraLineLayoutInfo1.textRect.width = fm
            .stringWidth(extraLineLayoutInfo1.text);
        extraLineLayoutInfo1.textRect.height = labelHeight;

        TextLayoutInfo extraLineLayoutInfo2 = new TextLayoutInfo();
        extraLineLayoutInfo2.text = commandButton.getExtraText()
            .substring(breakIndex);
        extraLineLayoutInfo2.textRect = new Rectangle();

        extraLineLayoutInfo2.textRect.x = x;
        extraLineLayoutInfo2.textRect.y = ins.top + layoutVGap + 2
            * labelHeight;
        extraLineLayoutInfo2.textRect.width = fm
            .stringWidth(extraLineLayoutInfo2.text);
        extraLineLayoutInfo2.textRect.height = labelHeight;

        result.extraTextLayoutInfoList = new ArrayList<TextLayoutInfo>();
        result.extraTextLayoutInfoList.add(extraLineLayoutInfo1);
        result.extraTextLayoutInfoList.add(extraLineLayoutInfo2);
      }

      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;
      // medium icon, 1-line text, 1-line extra text and action arrow
      if (buttonIcon != null) {
        result.iconRect.x = x - buttonIcon.getIconWidth();
        result.iconRect.y = ins.top + layoutVGap;
        result.iconRect.width = buttonIcon.getIconWidth();
        result.iconRect.height = buttonIcon.getIconHeight();

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

    }

    JSeparator jsep = new JSeparator(JSeparator.VERTICAL);
    // int layoutGap = FlamingoUtilities.getLayoutGap(commandButton);

    ResizableIcon buttonIcon = commandButton.getIcon();

    if (commandButton.getText() == null) {
      y = ins.top
          + (height - ins.top - ins.bottom - buttonIcon
              .getIconHeight()) / 2;
    }
    result.iconRect.x = (width - buttonIcon.getIconWidth()) / 2;
    result.iconRect.y = y;
    result.iconRect.width = buttonIcon.getIconWidth();
    result.iconRect.height = buttonIcon.getIconHeight();
    y += buttonIcon.getIconHeight();

    y += jsep.getPreferredSize().width;

    TextLayoutInfo lineLayoutInfo = new TextLayoutInfo();
    lineLayoutInfo.text = commandButton.getText();
View Full Code Here

    }

    JSeparator jsep = new JSeparator(JSeparator.VERTICAL);
    // int layoutGap = FlamingoUtilities.getLayoutGap(commandButton);

    ResizableIcon buttonIcon = commandButton.getIcon();

    if (commandButton.getText() == null) {
      y = ins.top
          + (height - ins.top - ins.bottom - buttonIcon
              .getIconHeight()) / 2;
    }
    result.iconRect.x = (width - buttonIcon.getIconWidth()) / 2;
    result.iconRect.y = y;
    result.iconRect.width = buttonIcon.getIconWidth();
    result.iconRect.height = buttonIcon.getIconHeight();
    y += buttonIcon.getIconHeight();

    y += jsep.getPreferredSize().width;

    TextLayoutInfo lineLayoutInfo = new TextLayoutInfo();
    lineLayoutInfo.text = commandButton.getText();
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.