Package org.pushingpixels.substance.api

Examples of org.pushingpixels.substance.api.ComponentState


        StateTransitionTracker stateTransitionTracker) {
      StateTransitionTracker.ModelStateInfo modelStateInfo = stateTransitionTracker
          .getModelStateInfo();
      Map<ComponentState, StateTransitionTracker.StateContributionInfo> activeStates = modelStateInfo
          .getStateContributionMap();
      ComponentState currState = stateTransitionTracker
          .getModelStateInfo().getCurrModelState();

      float activeStrength = stateTransitionTracker.getActiveStrength();
      int width = (int) (this.size * (2.0 + activeStrength) / 3.0);
      width = Math.min(width, this.size - 2);
      if (width % 2 == 0)
        width--;
      int delta = (this.size - width) / 2;

      SubstanceFillPainter fillPainter = SubstanceCoreUtilities
          .getFillPainter(slider);
      SubstanceBorderPainter borderPainter = SubstanceCoreUtilities
          .getBorderPainter(slider);

      SubstanceColorScheme baseFillScheme = SubstanceColorSchemeUtilities
          .getColorScheme(slider, currState);
      SubstanceColorScheme baseBorderScheme = SubstanceColorSchemeUtilities
          .getColorScheme(slider, ColorSchemeAssociationKind.BORDER,
              currState);

      HashMapKey baseKey = SubstanceCoreUtilities.getHashKey(this.size,
          width, baseFillScheme.getDisplayName(), baseBorderScheme
              .getDisplayName(), fillPainter.getDisplayName(),
          borderPainter.getDisplayName());

      Icon baseLayer = SliderRoundIcon.icons.get(baseKey);
      if (baseLayer == null) {
        baseLayer = getSingleLayer(slider, width, delta, fillPainter,
            borderPainter, baseFillScheme, baseBorderScheme);
        SliderRoundIcon.icons.put(baseKey, baseLayer);
      }

      if (currState.isDisabled() || (activeStates.size() == 1))
        return baseLayer;

      BufferedImage result = SubstanceCoreUtilities.getBlankImage(
          baseLayer.getIconWidth(), baseLayer.getIconHeight());
      Graphics2D g2d = result.createGraphics();
      baseLayer.paintIcon(slider, g2d, 0, 0);

      for (Map.Entry<ComponentState, StateTransitionTracker.StateContributionInfo> activeEntry : activeStates
          .entrySet()) {
        ComponentState activeState = activeEntry.getKey();
        if (activeState == currState)
          continue;

        float contribution = activeEntry.getValue().getContribution();
        if (contribution == 0.0f)
View Full Code Here


        StateTransitionTracker stateTransitionTracker) {
      StateTransitionTracker.ModelStateInfo modelStateInfo = stateTransitionTracker
          .getModelStateInfo();
      Map<ComponentState, StateTransitionTracker.StateContributionInfo> activeStates = modelStateInfo
          .getStateContributionMap();
      ComponentState currState = stateTransitionTracker
          .getModelStateInfo().getCurrModelState();

      float activeStrength = stateTransitionTracker.getActiveStrength();
      int height = (int) (this.size * (2.0 + activeStrength) / 3.0);
      height = Math.min(height, this.size - 2);
      int delta = (this.size - height) / 2 - 1;

      SubstanceFillPainter fillPainter = SubstanceCoreUtilities
          .getFillPainter(slider);
      SubstanceBorderPainter borderPainter = SubstanceCoreUtilities
          .getBorderPainter(slider);

      SubstanceColorScheme baseFillScheme = SubstanceColorSchemeUtilities
          .getColorScheme(slider, currState);
      SubstanceColorScheme baseBorderScheme = SubstanceColorSchemeUtilities
          .getColorScheme(slider, ColorSchemeAssociationKind.BORDER,
              currState);

      HashMapKey baseKey = SubstanceCoreUtilities.getHashKey(this.size,
          height, slider.getComponentOrientation(), baseFillScheme
              .getDisplayName(), baseBorderScheme
              .getDisplayName(), fillPainter.getDisplayName(),
          borderPainter.getDisplayName(), this.isMirrorred);

      Icon baseLayer = SliderVerticalIcon.icons.get(baseKey);
      if (baseLayer == null) {
        baseLayer = getSingleLayer(slider, height, delta, fillPainter,
            borderPainter, baseFillScheme, baseBorderScheme);
        SliderVerticalIcon.icons.put(baseKey, baseLayer);
      }

      if (currState.isDisabled() || (activeStates.size() == 1))
        return baseLayer;

      BufferedImage result = SubstanceCoreUtilities.getBlankImage(
          baseLayer.getIconWidth(), baseLayer.getIconHeight());
      Graphics2D g2d = result.createGraphics();
      baseLayer.paintIcon(slider, g2d, 0, 0);

      for (Map.Entry<ComponentState, StateTransitionTracker.StateContributionInfo> activeEntry : activeStates
          .entrySet()) {
        ComponentState activeState = activeEntry.getKey();
        if (activeState == currState)
          continue;

        float contribution = activeEntry.getValue().getContribution();
        if (contribution == 0.0f)
View Full Code Here

     * @param sliderIcon
     *            The slider icon.
     * @return Icon that matches the specified state of the slider thumb.
     */
    private static Icon getIcon(JTree tree, boolean isCollapsed) {
      ComponentState state = ((tree == null) || tree.isEnabled()) ? ComponentState.ENABLED
          : ComponentState.DISABLED_UNSELECTED;
      SubstanceColorScheme fillScheme = SubstanceColorSchemeUtilities
          .getColorScheme(tree, state);
      SubstanceColorScheme borderScheme = SubstanceColorSchemeUtilities
          .getColorScheme(tree, ColorSchemeAssociationKind.BORDER,
View Full Code Here

    StateTransitionTracker stateTransitionTracker = transitionAwareUI
        .getTransitionTracker();
    StateTransitionTracker.ModelStateInfo modelStateInfo = stateTransitionTracker
        .getModelStateInfo();

    ComponentState currState = modelStateInfo.getCurrModelState();
    SubstanceColorScheme baseFillScheme = SubstanceColorSchemeUtilities
        .getColorScheme(button, currState);
    SubstanceColorScheme baseBorderScheme = SubstanceColorSchemeUtilities
        .getColorScheme(button, ColorSchemeAssociationKind.BORDER,
            currState);

    SubstanceFillPainter fillPainter = SubstanceCoreUtilities
        .isSpinnerButton(button) ? MatteFillPainter.INSTANCE
        : SubstanceImageCreator.SimplisticSoftBorderReverseFillPainter.INSTANCE;

    BufferedImage baseLayer = getPairwiseFullAlphaBackground(button,
        fillPainter, shaper, width, height, side, baseFillScheme,
        baseBorderScheme, toIgnoreOpenSides);
    BufferedImage fullOpacity = null;

    Map<ComponentState, StateTransitionTracker.StateContributionInfo> activeStates = modelStateInfo
        .getStateContributionMap();

    if (currState.isDisabled() || (activeStates.size() == 1)) {
      fullOpacity = baseLayer;
    } else {
      fullOpacity = SubstanceCoreUtilities.getBlankImage(baseLayer
          .getWidth(), baseLayer.getHeight());
      Graphics2D g2fullOpacity = fullOpacity.createGraphics();

      // draw the base layer
      g2fullOpacity.drawImage(baseLayer, 0, 0, null);

      for (Map.Entry<ComponentState, StateTransitionTracker.StateContributionInfo> activeEntry : activeStates
          .entrySet()) {
        ComponentState activeState = activeEntry.getKey();
        if (activeState == currState)
          continue;

        float contribution = activeEntry.getValue().getContribution();
        if (contribution == 0.0f)
          continue;

        SubstanceColorScheme fillScheme = SubstanceColorSchemeUtilities
            .getColorScheme(button, activeState);
        SubstanceColorScheme borderScheme = SubstanceColorSchemeUtilities
            .getColorScheme(button,
                ColorSchemeAssociationKind.BORDER, activeState);
        BufferedImage layer = getPairwiseFullAlphaBackground(button,
            fillPainter, shaper, width, height, side, fillScheme,
            borderScheme, toIgnoreOpenSides);

        g2fullOpacity.setComposite(AlphaComposite.SrcOver
            .derive(contribution));
        g2fullOpacity.drawImage(layer, 0, 0, null);
      }

      g2fullOpacity.dispose();
    }

    boolean isFlat = SubstanceCoreUtilities.hasFlatAppearance(button);
    boolean isSpecial = isFlat || !button.isEnabled();
    float extraAlpha = 1.0f;

    if (isSpecial) {
      if (isFlat) {
        // Special handling of flat buttons
        extraAlpha = 0.0f;
        for (Map.Entry<ComponentState, StateTransitionTracker.StateContributionInfo> activeEntry : activeStates
            .entrySet()) {
          ComponentState activeState = activeEntry.getKey();
          if (activeState.isDisabled())
            continue;
          if (activeState == ComponentState.ENABLED)
            continue;
          extraAlpha += activeEntry.getValue().getContribution();
        }
View Full Code Here

        ComponentState.ROLLOVER_SELECTED);
    defaultSchemeBundle.registerHighlightColorScheme(pressedScheme, 0.8f,
        ComponentState.ARMED, ComponentState.ROLLOVER_ARMED);

    // for progress bars
    ComponentState determinateState = new ComponentState("determinate",
        new ComponentStateFacet[] { ComponentStateFacet.ENABLE,
            ComponentStateFacet.DETERMINATE }, null);
    ComponentState indeterminateState = new ComponentState("indeterminate",
        new ComponentStateFacet[] { ComponentStateFacet.ENABLE },
        new ComponentStateFacet[] { ComponentStateFacet.DETERMINATE });
    SubstanceColorScheme determinateScheme = schemes
        .get("Nebula Determinate");
    SubstanceColorScheme determinateBorderScheme = schemes
        .get("Nebula Determinate Border");
    defaultSchemeBundle.registerColorScheme(determinateScheme,
        determinateState, indeterminateState);
    defaultSchemeBundle.registerColorScheme(determinateBorderScheme,
        ColorSchemeAssociationKind.BORDER, determinateState,
        indeterminateState);

    ComponentState determinateDisabledState = new ComponentState(
        "determinate disabled",
        new ComponentStateFacet[] { ComponentStateFacet.DETERMINATE },
        new ComponentStateFacet[] { ComponentStateFacet.ENABLE });
    ComponentState indeterminateDisabledState = new ComponentState(
        "indeterminate disabled", null, new ComponentStateFacet[] {
            ComponentStateFacet.ENABLE,
            ComponentStateFacet.DETERMINATE });
    SubstanceColorScheme determinateDisabledScheme = schemes
        .get("Nebula Determinate Disabled");
View Full Code Here

    SubstanceFillPainter fillPainter = SubstanceCoreUtilities
        .getFillPainter(this.menuItem);
    SubstanceBorderPainter borderPainter = SubstanceCoreUtilities
        .getBorderPainter(this.menuItem);
    ComponentState currState = modelStateInfo.getCurrModelState();

    SubstanceColorScheme baseFillColorScheme = SubstanceColorSchemeUtilities
        .getColorScheme(this.menuItem, ColorSchemeAssociationKind.FILL,
            currState);
    SubstanceColorScheme baseMarkColorScheme = SubstanceColorSchemeUtilities
        .getColorScheme(this.menuItem, ColorSchemeAssociationKind.MARK,
            currState);
    SubstanceColorScheme baseBorderColorScheme = SubstanceColorSchemeUtilities
        .getColorScheme(this.menuItem,
            ColorSchemeAssociationKind.BORDER, currState);
    float visibility = stateTransitionTracker
        .getFacetStrength(ComponentStateFacet.SELECTION);
    boolean isCheckMarkFadingOut = !currState
        .isFacetActive(ComponentStateFacet.SELECTION);

    int fontSize = SubstanceSizeUtils.getComponentFontSize(this.menuItem);
    int checkMarkSize = this.size + 3;

    HashMapKey keyBase = SubstanceCoreUtilities.getHashKey(fontSize,
        checkMarkSize, fillPainter.getDisplayName(), borderPainter
            .getDisplayName(),
        baseFillColorScheme.getDisplayName(), baseMarkColorScheme
            .getDisplayName(), baseBorderColorScheme
            .getDisplayName(), visibility, isCheckMarkFadingOut);
    Icon iconBase = iconMap.get(keyBase);
    if (iconBase == null) {
      iconBase = new ImageIcon(SubstanceImageCreator.getCheckBox(
          this.menuItem, fillPainter, borderPainter, checkMarkSize,
          currState, baseFillColorScheme, baseMarkColorScheme,
          baseBorderColorScheme, visibility, isCheckMarkFadingOut));
      iconMap.put(keyBase, iconBase);
    }
    if (currState.isDisabled() || (activeStates.size() == 1)) {
      return iconBase;
    }

    BufferedImage result = SubstanceCoreUtilities.getBlankImage(iconBase
        .getIconWidth(), iconBase.getIconHeight());
    Graphics2D g2d = result.createGraphics();
    // draw the base layer
    iconBase.paintIcon(this.menuItem, g2d, 0, 0);

    // draw other active layers
    for (Map.Entry<ComponentState, StateTransitionTracker.StateContributionInfo> activeEntry : activeStates
        .entrySet()) {
      ComponentState activeState = activeEntry.getKey();
      // System.out.println("Painting state " + activeState + "[curr is "
      // + currState + "] with " + activeEntry.getValue());
      if (activeState == currState)
        continue;
View Full Code Here

        ComponentState.ROLLOVER_SELECTED,
        ComponentState.ROLLOVER_UNSELECTED, ComponentState.ARMED,
        ComponentState.ROLLOVER_ARMED);

    // color scheme for the uneditable text components
    ComponentState uneditable = new ComponentState("uneditable",
        new ComponentStateFacet[] { ComponentStateFacet.ENABLE },
        new ComponentStateFacet[] { ComponentStateFacet.EDITABLE });
    SubstanceColorScheme uneditableControls = colorSchemes
        .get("Magellan Uneditable Controls");
    defaultColorSchemeBundle.registerColorScheme(uneditableControls,
View Full Code Here

    StateTransitionTracker stateTransitionTracker = transitionAwareUI
        .getTransitionTracker();
    ModelStateInfo modelStateInfo = stateTransitionTracker
        .getModelStateInfo();

    ComponentState currState = modelStateInfo
        .getCurrModelStateNoSelection();

    if (currState.isDisabled()) {
      // no highlights on disabled menus
      return;
    }
    Map<ComponentState, StateTransitionTracker.StateContributionInfo> activeStates = modelStateInfo
        .getStateNoSelectionContributionMap();
    // if ("Check enabled unselected".equals(menuItem.getText())) {
    // System.out.println("New contribution map");
    // for (Map.Entry<ComponentState,
    // StateTransitionTracker.StateContributionInfo> existing : activeStates
    // .entrySet()) {
    // System.out.println("\t" + existing.getKey() + " in ["
    // + existing.getValue().start + ":"
    // + existing.getValue().end + "] -> "
    // + existing.getValue().curr);
    // }
    // }

    if ((currState == ComponentState.ENABLED) && (activeStates.size() == 1)) {
      // default state - no highlights
      return;
    }

    for (Map.Entry<ComponentState, StateTransitionTracker.StateContributionInfo> stateEntry : activeStates
        .entrySet()) {
      ComponentState activeState = stateEntry.getKey();
      float alpha = SubstanceColorSchemeUtilities.getHighlightAlpha(
          menuItem, activeState)
          * stateEntry.getValue().getContribution();
      if (alpha == 0.0f)
        continue;
View Full Code Here

TOP

Related Classes of org.pushingpixels.substance.api.ComponentState

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.