Examples of SubstanceColorScheme


Examples of org.pushingpixels.substance.api.SubstanceColorScheme

    if (listUI instanceof SubstanceListUI) {
      SubstanceListUI ui = (SubstanceListUI) listUI;
      ComponentState state = ui.getCellState(index, this);
      ComponentState prevState = ui.getPrevCellState(index, this);

      SubstanceColorScheme scheme = (state == ComponentState.DEFAULT) ? ui
          .getDefaultColorScheme()
          : ui.getHighlightColorScheme(state);
          if (scheme == null) {
            scheme = (state == ComponentState.DEFAULT) ? SubstanceColorSchemeUtilities
                .getColorScheme(list, state)
                : SubstanceColorSchemeUtilities.getColorScheme(list,
                    ColorSchemeAssociationKind.HIGHLIGHT, state);
          }
          SubstanceColorScheme prevScheme = scheme;
          if (prevState != state) {
            prevScheme = (prevState == ComponentState.DEFAULT) ? ui
                .getDefaultColorScheme() : ui
                .getHighlightColorScheme(prevState);
                if (prevScheme == null) {
View Full Code Here

Examples of org.pushingpixels.substance.api.SubstanceColorScheme

   *
   * @param colorScheme
   *            The active color scheme.
   */
  public RobotDefaultDarkSkin(SubstanceColorScheme colorScheme) {
    SubstanceColorScheme inactiveScheme = new BlendBiColorScheme(
        colorScheme, new DarkMetallicColorScheme(), 0.6);
    SubstanceColorSchemeBundle defaultSchemeBundle = new SubstanceColorSchemeBundle(
        colorScheme, inactiveScheme, inactiveScheme);
    defaultSchemeBundle.registerColorScheme(inactiveScheme, 0.5f,
        ComponentState.DISABLED_UNSELECTED,
View Full Code Here

Examples of org.pushingpixels.substance.api.SubstanceColorScheme

    // color scheme component
    this.colorSchemeList.addPropertyChangeListener("selectedColorScheme",
        new PropertyChangeListener() {
          @Override
          public void propertyChange(PropertyChangeEvent evt) {
            SubstanceColorScheme newSelection = (SubstanceColorScheme) evt
                .getNewValue();
            if (newSelection != null)
              colorSchemeComp.setContent(newSelection);
            else
              colorSchemeComp.clearContent();
          }
        });
    // track color modifications of the currently selected
    // color scheme
    this.colorSchemeComp.addStateChangeListener(new StateChangeListener() {
      @Override
      public void stateChanged(StateChangeEvent event) {
        if (event.getStateChangeType() == StateChangeType.MODIFIED) {
          // let the color scheme list know that there was change
          colorSchemeList.setModified(true);
        }
        // update the HSV graph component
        if (colorSchemeComp.isDefined()) {
          Color[] colors = new Color[] {
              colorSchemeComp.getUltraLightColor(),
              colorSchemeComp.getExtraLightColor(),
              colorSchemeComp.getLightColor(),
              colorSchemeComp.getMidColor(),
              colorSchemeComp.getDarkColor(),
              colorSchemeComp.getUltraDarkColor() };
          hsvGraph.setColors(colors);
        } else {
          hsvGraph.setColors(null);
        }

        if (event.getStateChangeType() == StateChangeType.MODIFIED) {
          if (colorSchemeComp.isDefined()) {
            boolean isLight = colorSchemeComp.isLight();
            Color ultraDark = colorSchemeComp.getUltraDarkColor();
            Color dark = colorSchemeComp.getDarkColor();
            Color mid = colorSchemeComp.getMidColor();
            Color light = colorSchemeComp.getLightColor();
            Color extraLight = colorSchemeComp.getExtraLightColor();
            Color ultraLight = colorSchemeComp.getUltraLightColor();
            Color foreground = colorSchemeComp.getForegroundColor();
            String name = colorSchemeComp.getDisplayName();

            Color[] colors = new Color[] { ultraLight, extraLight,
                light, mid, dark, ultraDark, foreground };
            SubstanceColorScheme scheme = isLight ? SubstanceColorSchemeUtilities
                .getLightColorScheme(name, colors)
                : SubstanceColorSchemeUtilities
                    .getDarkColorScheme(name, colors);
            colorSchemeList.updateColorScheme(scheme);
          }
View Full Code Here

Examples of org.pushingpixels.substance.api.SubstanceColorScheme

              return;

            Color[] colors = new Color[] { Color.white,
                Color.white, Color.white, Color.white,
                Color.white, Color.white, Color.black };
            SubstanceColorScheme newScheme = SubstanceColorSchemeUtilities
                .getLightColorScheme(newName, colors);

            schemes.add(newScheme);
            schemeListModel.fireContentsChanged();
            schemeList.setSelectedValue(newScheme, true);
            setModified(true);
          }
        });
      }
    });

    bottomButtonsPanel.add(addColorScheme);

    bottomButtonsPanel.add(Box.createHorizontalStrut(10));

    moveUpButton = new JButton();
    moveUpButton
        .setToolTipText("Moves the currently selected color scheme up");
    moveUpButton.setEnabled(false);
    moveUpButton.setIcon(new ImageIcon(JColorSchemeList.class
        .getClassLoader().getResource("tools/jitterbug/arrow_up.png")));
    moveUpButton.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        SwingUtilities.invokeLater(new Runnable() {
          @Override
          public void run() {
            SubstanceColorScheme selected = (SubstanceColorScheme) schemeList
                .getSelectedValue();
            schemes.switchWithPrevious(selected.getDisplayName());
            schemeListModel.fireContentsChanged();
            schemeList.setSelectedValue(selected, true);
            setModified(true);
          }
        });
      }
    });
    bottomButtonsPanel.add(moveUpButton);

    moveDownButton = new JButton();
    moveDownButton
        .setToolTipText("Moves the currently selected color scheme down");
    moveDownButton.setEnabled(false);
    moveDownButton
        .setIcon(new ImageIcon(JColorSchemeList.class.getClassLoader()
            .getResource("tools/jitterbug/arrow_down.png")));
    moveDownButton.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        SwingUtilities.invokeLater(new Runnable() {
          @Override
          public void run() {
            SubstanceColorScheme selected = (SubstanceColorScheme) schemeList
                .getSelectedValue();
            schemes.switchWithNext(selected.getDisplayName());
            schemeListModel.fireContentsChanged();
            schemeList.setSelectedValue(selected, true);
            setModified(true);
          }
        });
      }
    });
    bottomButtonsPanel.add(moveDownButton);

    bottomButtonsPanel.add(Box.createHorizontalStrut(10));

    renameButton = new JButton();
    renameButton
        .setToolTipText("Rename the currently selected color scheme");
    renameButton.setEnabled(false);
    renameButton.setIcon(new ImageIcon(JColorSchemeList.class
        .getClassLoader().getResource(
            "tools/jitterbug/chart_line_edit.png")));
    renameButton.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        SwingUtilities.invokeLater(new Runnable() {
          @Override
          public void run() {
            SubstanceColorScheme selected = (SubstanceColorScheme) schemeList
                .getSelectedValue();
            String newName = getNewColorSchemeName(selected
                .getDisplayName());
            if (newName == null)
              return;

            if (newName.equals(selected.getDisplayName()))
              return;

            boolean isLight = !selected.isDark();
            Color ultraDark = selected.getUltraDarkColor();
            Color dark = selected.getDarkColor();
            Color mid = selected.getMidColor();
            Color light = selected.getLightColor();
            Color extraLight = selected.getExtraLightColor();
            Color ultraLight = selected.getUltraLightColor();
            Color foreground = selected.getForegroundColor();

            Color[] colors = new Color[] { ultraLight, extraLight,
                light, mid, dark, ultraDark, foreground };
            SubstanceColorScheme renamedScheme = isLight ? SubstanceColorSchemeUtilities
                .getLightColorScheme(newName, colors)
                : SubstanceColorSchemeUtilities
                    .getDarkColorScheme(newName, colors);

            schemes.replace(selected.getDisplayName(),
                renamedScheme);
            schemeListModel.fireContentsChanged();
            schemeList.getSelectionModel().clearSelection();
            schemeList.setSelectedValue(renamedScheme, true);
            setModified(true);
          }
        });
      }
    });

    bottomButtonsPanel.add(renameButton);

    deleteButton = new JButton();
    deleteButton
        .setToolTipText("Removes the currently selected color scheme");
    deleteButton.setEnabled(false);
    deleteButton.setIcon(new ImageIcon(JColorSchemeList.class
        .getClassLoader().getResource("tools/jitterbug/delete.png")));
    deleteButton.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        SwingUtilities.invokeLater(new Runnable() {
          @Override
          public void run() {
            SubstanceColorScheme selected = (SubstanceColorScheme) schemeList
                .getSelectedValue();
            schemes.delete(selected.getDisplayName());
            schemeListModel.fireContentsChanged();
            schemeList.getSelectionModel().clearSelection();
            setModified(true);
          }
        });
View Full Code Here

Examples of org.pushingpixels.substance.api.SubstanceColorScheme

          "Name invalid", JOptionPane.ERROR_MESSAGE);
      return null;
    }

    // check for uniqueness
    SubstanceColorScheme existing = this.schemes.get(result);
    if (existing != null) {
      JOptionPane.showMessageDialog(SwingUtilities
          .getWindowAncestor(this), "Name already exists",
          "Name clash", JOptionPane.ERROR_MESSAGE);
      return null;
View Full Code Here

Examples of org.pushingpixels.substance.api.SubstanceColorScheme

    PrintStream printStream = null;

    try {
      printStream = new PrintStream(new FileOutputStream(file));
      for (int i = 0; i < this.schemes.size(); i++) {
        SubstanceColorScheme colorScheme = this.schemes.get(i);
        String encodedColorScheme = colorScheme.toString();
        printStream.println(encodedColorScheme);
        printStream.println();
      }
    } catch (IOException ioe) {
      ioe.printStackTrace();
View Full Code Here

Examples of org.pushingpixels.substance.api.SubstanceColorScheme

  public File getCurrentFile() {
    return this.schemesFile;
  }

  public void updateColorScheme(SubstanceColorScheme colorScheme) {
    SubstanceColorScheme existing = this.schemes.get(colorScheme
        .getDisplayName());
    if (existing == null)
      throw new IllegalArgumentException("Color scheme "
          + colorScheme.getDisplayName() + " not found");
View Full Code Here

Examples of org.pushingpixels.substance.api.SubstanceColorScheme

  class ColorSchemeListRenderer extends SubstanceDefaultListCellRenderer {
    @Override
    public Component getListCellRendererComponent(JList list, Object value,
        int index, boolean isSelected, boolean cellHasFocus) {
      SubstanceColorScheme scheme = (SubstanceColorScheme) value;
      return super.getListCellRendererComponent(list, scheme
          .getDisplayName(), index, isSelected, cellHasFocus);
    }
View Full Code Here

Examples of org.pushingpixels.substance.api.SubstanceColorScheme

    HashMapKey key = SubstanceCoreUtilities.getHashKey(orig
        .getDisplayName(), backgroundShiftColor == null ? ""
        : backgroundShiftColor.getRGB(), backgroundShiftFactor,
        foregroundShiftColor == null ? "" : foregroundShiftColor
            .getRGB(), foregroundShiftFactor);
    SubstanceColorScheme result = shiftedCache.get(key);
    if (result == null) {
      result = orig.shift(backgroundShiftColor, backgroundShiftFactor,
          foregroundShiftColor, foregroundShiftFactor);
      shiftedCache.put(key, result);
    }
View Full Code Here

Examples of org.pushingpixels.substance.api.SubstanceColorScheme

    // }
    boolean isContentAreaFilled = button.isContentAreaFilled();
    boolean isBorderPainted = button.isBorderPainted();

    // compute color scheme
    SubstanceColorScheme baseBorderScheme = SubstanceColorSchemeUtilities
        .getColorScheme(button, ColorSchemeAssociationKind.BORDER,
            currState);

    // see if need to use attention-drawing animation
    // boolean isWindowModified = false;
    if (button.getUI() instanceof ModificationAwareUI) {
      ModificationAwareUI modificationAwareUI = (ModificationAwareUI) button
          .getUI();
      Timeline modificationTimeline = modificationAwareUI
          .getModificationTimeline();
      if (modificationTimeline != null) {
        if (modificationTimeline.getState() != TimelineState.IDLE) {
          // isWindowModified = true;
          SubstanceColorScheme colorScheme2 = SubstanceColorSchemeUtilities.YELLOW;
          SubstanceColorScheme colorScheme = SubstanceColorSchemeUtilities.ORANGE;
          cyclePos = modificationTimeline.getTimelinePosition();

          HashMapKey key1 = SubstanceCoreUtilities.getHashKey(width,
              height, colorScheme.getDisplayName(),
              baseBorderScheme.getDisplayName(), shaper
                  .getDisplayName(), fillPainter
                  .getDisplayName(), borderPainter
                  .getDisplayName(), straightSides,
              openSides, button.getClass().getName(),
              isRoundButton, radius, isContentAreaFilled,
              isBorderPainted, SubstanceSizeUtils
                  .getComponentFontSize(button));
          BufferedImage layer1 = regularBackgrounds.get(key1);
          if (layer1 == null) {
            layer1 = createBackgroundImage(button, shaper,
                fillPainter, borderPainter, width, height,
                colorScheme, baseBorderScheme, openSides,
                isContentAreaFilled, isBorderPainted);

            regularBackgrounds.put(key1, layer1);
          }
          HashMapKey key2 = SubstanceCoreUtilities.getHashKey(width,
              height, colorScheme2.getDisplayName(),
              baseBorderScheme.getDisplayName(), shaper
                  .getDisplayName(), fillPainter
                  .getDisplayName(), borderPainter
                  .getDisplayName(), straightSides,
              openSides, button.getClass().getName(),
              isRoundButton, radius, isContentAreaFilled,
              isBorderPainted, SubstanceSizeUtils
                  .getComponentFontSize(button));
          BufferedImage layer2 = regularBackgrounds.get(key2);
          if (layer2 == null) {
            layer2 = createBackgroundImage(button, shaper,
                fillPainter, borderPainter, width, height,
                colorScheme2, baseBorderScheme, openSides,
                isContentAreaFilled, isBorderPainted);

            regularBackgrounds.put(key2, layer2);
          }

          BufferedImage result = SubstanceCoreUtilities
              .getBlankImage(width, height);
          Graphics2D g2d = result.createGraphics();
          if (cyclePos < 1.0f)
            g2d.drawImage(layer1, 0, 0, null);
          if (cyclePos > 0.0f) {
            g2d.setComposite(AlphaComposite.SrcOver
                .derive(cyclePos));
            g2d.drawImage(layer2, 0, 0, null);
          }
          g2d.dispose();
          return result;
        }
      }
    }

    // see if need to use transition animation. Important - don't do it
    // on pulsating buttons (such as default or close buttons
    // of modified frames).

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

    SubstanceColorScheme baseFillScheme = SubstanceColorSchemeUtilities
        .getColorScheme(button, currState);
    HashMapKey keyBase = SubstanceCoreUtilities.getHashKey(width, height,
        baseFillScheme.getDisplayName(), baseBorderScheme
            .getDisplayName(), shaper.getDisplayName(), fillPainter
            .getDisplayName(), borderPainter.getDisplayName(),
        straightSides, openSides, button.getClass().getName(),
        isRoundButton, (int) (1000 * radius), isContentAreaFilled,
        isBorderPainted, SubstanceSizeUtils
            .getComponentFontSize(button));
    BufferedImage layerBase = regularBackgrounds.get(keyBase);
    if (layerBase == null) {
      layerBase = createBackgroundImage(button, shaper, fillPainter,
          borderPainter, width, height, baseFillScheme,
          baseBorderScheme, openSides, isContentAreaFilled,
          isBorderPainted);
      regularBackgrounds.put(keyBase, layerBase);
    }
    if (currState.isDisabled() || (activeStates.size() == 1)) {
      return layerBase;
    }

    BufferedImage result = SubstanceCoreUtilities.getBlankImage(width,
        height);
    Graphics2D g2d = result.createGraphics();
    // draw the base layer
    g2d.drawImage(layerBase, 0, 0, null);
    // System.out.println("\nPainting base state " + currState);

    // draw the 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;

      float stateContribution = activeEntry.getValue().getContribution();
      if (stateContribution > 0.0f) {
        g2d.setComposite(AlphaComposite.SrcOver
            .derive(stateContribution));

        SubstanceColorScheme fillScheme = SubstanceColorSchemeUtilities
            .getColorScheme(button, activeState);
        SubstanceColorScheme borderScheme = SubstanceColorSchemeUtilities
            .getColorScheme(button,
                ColorSchemeAssociationKind.BORDER, activeState);
        HashMapKey key = SubstanceCoreUtilities.getHashKey(width,
            height, fillScheme.getDisplayName(), borderScheme
                .getDisplayName(), shaper.getDisplayName(),
            fillPainter.getDisplayName(), borderPainter
                .getDisplayName(), straightSides, openSides,
            button.getClass().getName(), isRoundButton,
            (int) (1000 * radius), isContentAreaFilled,
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.