mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-08 23:08:42 +03:00
CheckBox and RadioButton:
- added `CheckBox.icon.hoverCheckmarkColor` - added `CheckBox.icon.selectedHoverBorderColor` - added `CheckBox.icon.pressedBorderColor` - added `CheckBox.icon.selectedPressedBorderColor` - added `CheckBox.icon.pressedCheckmarkColor` - renamed `CheckBox.icon.selectedFocusedBorderColor` to `CheckBox.icon.focusedSelectedBorderColor` - renamed `CheckBox.icon.selectedFocusedBackground` to `CheckBox.icon.focusedSelectedBackground` - renamed `CheckBox.icon.selectedFocusedCheckmarkColor` to `CheckBox.icon.focusedCheckmarkColor` - renamed `CheckBox.icon.selectedHoverBackground` to `CheckBox.icon.hoverSelectedBackground` - renamed `CheckBox.icon.selectedPressedBackground` to `CheckBox.icon.pressedSelectedBackground` - renamed `CheckBox.icon[filled].selectedFocusedBorderColor` to `CheckBox.icon[filled].focusedSelectedBorderColor` - renamed `CheckBox.icon[filled].selectedFocusedBackground` to `CheckBox.icon[filled].focusedSelectedBackground` - renamed `CheckBox.icon[filled].selectedFocusedCheckmarkColor` to `CheckBox.icon[filled].focusedCheckmarkColor` - renamed `CheckBox.icon[filled].selectedHoverBackground` to `CheckBox.icon[filled].hoverSelectedBackground` - renamed `CheckBox.icon[filled].selectedPressedBackground` to `CheckBox.icon[filled].pressedSelectedBackground` (Note: this are incompatible changes!)
This commit is contained in:
@@ -504,7 +504,7 @@ public class IntelliJTheme
|
||||
// for filled checkbox/radiobutton used in light themes
|
||||
defaults.remove( "CheckBox.icon[filled].focusWidth" );
|
||||
defaults.put( "CheckBox.icon[filled].hoverBorderColor", defaults.get( "CheckBox.icon[filled].focusedBorderColor" ) );
|
||||
defaults.put( "CheckBox.icon[filled].selectedFocusedBackground", defaults.get( "CheckBox.icon[filled].selectedBackground" ) );
|
||||
defaults.put( "CheckBox.icon[filled].focusedSelectedBackground", defaults.get( "CheckBox.icon[filled].selectedBackground" ) );
|
||||
|
||||
if( dark ) {
|
||||
// IDEA Darcula checkBoxFocused.svg, checkBoxSelectedFocused.svg,
|
||||
@@ -513,9 +513,9 @@ public class IntelliJTheme
|
||||
// --> add alpha to focused border colors
|
||||
String[] focusedBorderColorKeys = new String[] {
|
||||
"CheckBox.icon.focusedBorderColor",
|
||||
"CheckBox.icon.selectedFocusedBorderColor",
|
||||
"CheckBox.icon.focusedSelectedBorderColor",
|
||||
"CheckBox.icon[filled].focusedBorderColor",
|
||||
"CheckBox.icon[filled].selectedFocusedBorderColor",
|
||||
"CheckBox.icon[filled].focusedSelectedBorderColor",
|
||||
};
|
||||
for( String key : focusedBorderColorKeys ) {
|
||||
Color color = defaults.getColor( key );
|
||||
@@ -624,7 +624,7 @@ public class IntelliJTheme
|
||||
checkboxKeyMapping.put( "Checkbox.Background.Selected", "CheckBox.icon.selectedBackground" );
|
||||
checkboxKeyMapping.put( "Checkbox.Border.Selected", "CheckBox.icon.selectedBorderColor" );
|
||||
checkboxKeyMapping.put( "Checkbox.Foreground.Selected", "CheckBox.icon.checkmarkColor" );
|
||||
checkboxKeyMapping.put( "Checkbox.Focus.Thin.Selected", "CheckBox.icon.selectedFocusedBorderColor" );
|
||||
checkboxKeyMapping.put( "Checkbox.Focus.Thin.Selected", "CheckBox.icon.focusedSelectedBorderColor" );
|
||||
|
||||
checkboxDuplicateColors.put( "Checkbox.Background.Default.Dark", "Checkbox.Background.Selected.Dark" );
|
||||
checkboxDuplicateColors.put( "Checkbox.Border.Default.Dark", "Checkbox.Border.Selected.Dark" );
|
||||
|
||||
@@ -46,6 +46,7 @@ import com.formdev.flatlaf.ui.FlatUIUtils;
|
||||
* @uiDefault Component.focusColor Color
|
||||
* @uiDefault CheckBox.icon.focusWidth int optional; defaults to Component.focusWidth
|
||||
* @uiDefault CheckBox.icon.borderWidth int or float optional; defaults to Component.borderWidth
|
||||
* @uiDefault CheckBox.arc int
|
||||
*
|
||||
* @uiDefault CheckBox.icon.focusColor Color optional; defaults to Component.focusColor
|
||||
* @uiDefault CheckBox.icon.borderColor Color
|
||||
@@ -53,20 +54,28 @@ import com.formdev.flatlaf.ui.FlatUIUtils;
|
||||
* @uiDefault CheckBox.icon.selectedBorderColor Color
|
||||
* @uiDefault CheckBox.icon.selectedBackground Color
|
||||
* @uiDefault CheckBox.icon.checkmarkColor Color
|
||||
*
|
||||
* @uiDefault CheckBox.icon.disabledBorderColor Color
|
||||
* @uiDefault CheckBox.icon.disabledBackground Color
|
||||
* @uiDefault CheckBox.icon.disabledCheckmarkColor Color
|
||||
*
|
||||
* @uiDefault CheckBox.icon.focusedBorderColor Color optional
|
||||
* @uiDefault CheckBox.icon.focusedBackground Color optional
|
||||
* @uiDefault CheckBox.icon.selectedFocusedBorderColor Color optional; CheckBox.icon.focusedBorderColor is used if not specified
|
||||
* @uiDefault CheckBox.icon.selectedFocusedBackground Color optional; CheckBox.icon.focusedBackground is used if not specified
|
||||
* @uiDefault CheckBox.icon.selectedFocusedCheckmarkColor Color optional; CheckBox.icon.checkmarkColor is used if not specified
|
||||
* @uiDefault CheckBox.icon.focusedSelectedBorderColor Color optional; CheckBox.icon.focusedBorderColor is used if not specified
|
||||
* @uiDefault CheckBox.icon.focusedSelectedBackground Color optional; CheckBox.icon.focusedBackground is used if not specified
|
||||
* @uiDefault CheckBox.icon.focusedCheckmarkColor Color optional; CheckBox.icon.checkmarkColor is used if not specified
|
||||
*
|
||||
* @uiDefault CheckBox.icon.hoverBorderColor Color optional
|
||||
* @uiDefault CheckBox.icon.hoverBackground Color optional
|
||||
* @uiDefault CheckBox.icon.selectedHoverBackground Color optional; CheckBox.icon.hoverBackground is used if not specified
|
||||
* @uiDefault CheckBox.icon.hoverSelectedBorderColor Color optional; CheckBox.icon.hoverBorderColor is used if not specified
|
||||
* @uiDefault CheckBox.icon.hoverSelectedBackground Color optional; CheckBox.icon.hoverBackground is used if not specified
|
||||
* @uiDefault CheckBox.icon.hoverCheckmarkColor Color optional; CheckBox.icon.checkmarkColor is used if not specified
|
||||
*
|
||||
* @uiDefault CheckBox.icon.pressedBorderColor Color optional
|
||||
* @uiDefault CheckBox.icon.pressedBackground Color optional
|
||||
* @uiDefault CheckBox.icon.selectedPressedBackground Color optional; CheckBox.icon.pressedBackground is used if not specified
|
||||
* @uiDefault CheckBox.arc int
|
||||
* @uiDefault CheckBox.icon.pressedSelectedBorderColor Color optional; CheckBox.icon.pressedBorderColor is used if not specified
|
||||
* @uiDefault CheckBox.icon.pressedSelectedBackground Color optional; CheckBox.icon.pressedBackground is used if not specified
|
||||
* @uiDefault CheckBox.icon.pressedCheckmarkColor Color optional; CheckBox.icon.checkmarkColor is used if not specified
|
||||
*
|
||||
* @author Karl Tauber
|
||||
*/
|
||||
@@ -97,18 +106,23 @@ public class FlatCheckBoxIcon
|
||||
// focused
|
||||
@Styleable protected Color focusedBorderColor = getUIColor( "CheckBox.icon.focusedBorderColor", style );
|
||||
@Styleable protected Color focusedBackground = getUIColor( "CheckBox.icon.focusedBackground", style );
|
||||
@Styleable protected Color selectedFocusedBorderColor = getUIColor( "CheckBox.icon.selectedFocusedBorderColor", style );
|
||||
@Styleable protected Color selectedFocusedBackground = getUIColor( "CheckBox.icon.selectedFocusedBackground", style );
|
||||
@Styleable protected Color selectedFocusedCheckmarkColor = getUIColor( "CheckBox.icon.selectedFocusedCheckmarkColor", style );
|
||||
/** @since 2 */ @Styleable protected Color focusedSelectedBorderColor = getUIColor( "CheckBox.icon.focusedSelectedBorderColor", style );
|
||||
/** @since 2 */ @Styleable protected Color focusedSelectedBackground = getUIColor( "CheckBox.icon.focusedSelectedBackground", style );
|
||||
/** @since 2 */ @Styleable protected Color focusedCheckmarkColor = getUIColor( "CheckBox.icon.focusedCheckmarkColor", style );
|
||||
|
||||
// hover
|
||||
@Styleable protected Color hoverBorderColor = getUIColor( "CheckBox.icon.hoverBorderColor", style );
|
||||
@Styleable protected Color hoverBackground = getUIColor( "CheckBox.icon.hoverBackground", style );
|
||||
@Styleable protected Color selectedHoverBackground = getUIColor( "CheckBox.icon.selectedHoverBackground", style );
|
||||
/** @since 2 */ @Styleable protected Color hoverSelectedBorderColor = getUIColor( "CheckBox.icon.hoverSelectedBorderColor", style );
|
||||
/** @since 2 */ @Styleable protected Color hoverSelectedBackground = getUIColor( "CheckBox.icon.hoverSelectedBackground", style );
|
||||
/** @since 2 */ @Styleable protected Color hoverCheckmarkColor = getUIColor( "CheckBox.icon.hoverCheckmarkColor", style );
|
||||
|
||||
// pressed
|
||||
/** @since 2 */ @Styleable protected Color pressedBorderColor = getUIColor( "CheckBox.icon.pressedBorderColor", style );
|
||||
@Styleable protected Color pressedBackground = getUIColor( "CheckBox.icon.pressedBackground", style );
|
||||
@Styleable protected Color selectedPressedBackground = getUIColor( "CheckBox.icon.selectedPressedBackground", style );
|
||||
/** @since 2 */ @Styleable protected Color pressedSelectedBorderColor = getUIColor( "CheckBox.icon.pressedSelectedBorderColor", style );
|
||||
/** @since 2 */ @Styleable protected Color pressedSelectedBackground = getUIColor( "CheckBox.icon.pressedSelectedBackground", style );
|
||||
/** @since 2 */ @Styleable protected Color pressedCheckmarkColor = getUIColor( "CheckBox.icon.pressedCheckmarkColor", style );
|
||||
|
||||
protected static Color getUIColor( String key, String style ) {
|
||||
if( style != null ) {
|
||||
@@ -186,8 +200,8 @@ public class FlatCheckBoxIcon
|
||||
paintBackground( c, g );
|
||||
|
||||
// paint checkmark
|
||||
if( selected || indeterminate ) {
|
||||
g.setColor( getCheckmarkColor( c, selected, isFocused ) );
|
||||
if( selected ) {
|
||||
g.setColor( getCheckmarkColor( c ) );
|
||||
if( indeterminate )
|
||||
paintIndeterminate( c, g );
|
||||
else
|
||||
@@ -244,25 +258,26 @@ public class FlatCheckBoxIcon
|
||||
return FlatButtonUI.buttonStateColor( c,
|
||||
selected ? selectedBorderColor : borderColor,
|
||||
disabledBorderColor,
|
||||
selected && selectedFocusedBorderColor != null ? selectedFocusedBorderColor : focusedBorderColor,
|
||||
hoverBorderColor,
|
||||
null );
|
||||
(selected && focusedSelectedBorderColor != null) ? focusedSelectedBorderColor : focusedBorderColor,
|
||||
(selected && hoverSelectedBorderColor != null) ? hoverSelectedBorderColor : hoverBorderColor,
|
||||
(selected && pressedSelectedBorderColor != null) ? pressedSelectedBorderColor : pressedBorderColor );
|
||||
}
|
||||
|
||||
protected Color getBackground( Component c, boolean selected ) {
|
||||
return FlatButtonUI.buttonStateColor( c,
|
||||
selected ? selectedBackground : background,
|
||||
disabledBackground,
|
||||
(selected && selectedFocusedBackground != null) ? selectedFocusedBackground : focusedBackground,
|
||||
(selected && selectedHoverBackground != null) ? selectedHoverBackground : hoverBackground,
|
||||
(selected && selectedPressedBackground != null) ? selectedPressedBackground : pressedBackground );
|
||||
(selected && focusedSelectedBackground != null) ? focusedSelectedBackground : focusedBackground,
|
||||
(selected && hoverSelectedBackground != null) ? hoverSelectedBackground : hoverBackground,
|
||||
(selected && pressedSelectedBackground != null) ? pressedSelectedBackground : pressedBackground );
|
||||
}
|
||||
|
||||
protected Color getCheckmarkColor( Component c, boolean selected, boolean isFocused ) {
|
||||
return c.isEnabled()
|
||||
? ((selected && isFocused && selectedFocusedCheckmarkColor != null)
|
||||
? selectedFocusedCheckmarkColor
|
||||
: checkmarkColor)
|
||||
: disabledCheckmarkColor;
|
||||
protected Color getCheckmarkColor( Component c ) {
|
||||
return FlatButtonUI.buttonStateColor( c,
|
||||
checkmarkColor,
|
||||
disabledCheckmarkColor,
|
||||
focusedCheckmarkColor,
|
||||
hoverCheckmarkColor,
|
||||
pressedCheckmarkColor );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,9 +158,9 @@ CheckBox.icon[filled].selectedBorderColor = $CheckBox.icon.checkmarkColor
|
||||
CheckBox.icon[filled].selectedBackground = $CheckBox.icon.checkmarkColor
|
||||
CheckBox.icon[filled].checkmarkColor = $CheckBox.icon.background
|
||||
# hover
|
||||
CheckBox.icon[filled].selectedHoverBackground = darken($CheckBox.icon[filled].selectedBackground,3%,derived)
|
||||
CheckBox.icon[filled].hoverSelectedBackground = darken($CheckBox.icon[filled].selectedBackground,3%,derived)
|
||||
# pressed
|
||||
CheckBox.icon[filled].selectedPressedBackground = darken($CheckBox.icon[filled].selectedBackground,6%,derived)
|
||||
CheckBox.icon[filled].pressedSelectedBackground = darken($CheckBox.icon[filled].selectedBackground,6%,derived)
|
||||
|
||||
|
||||
#---- CheckBoxMenuItem ----
|
||||
|
||||
@@ -161,13 +161,13 @@ CheckBox.icon[filled].selectedBorderColor = shade($CheckBox.icon[filled].selecte
|
||||
CheckBox.icon[filled].selectedBackground = @accentCheckmarkColor
|
||||
CheckBox.icon[filled].checkmarkColor = @buttonBackground
|
||||
# focused
|
||||
CheckBox.icon[filled].selectedFocusedBorderColor = tint($CheckBox.icon[filled].selectedBackground,50%)
|
||||
CheckBox.icon[filled].selectedFocusedBackground = $CheckBox.icon[filled].selectedBackground
|
||||
CheckBox.icon[filled].selectedFocusedCheckmarkColor = $CheckBox.icon.focusedBackground
|
||||
CheckBox.icon[filled].focusedSelectedBorderColor = tint($CheckBox.icon[filled].selectedBackground,50%)
|
||||
CheckBox.icon[filled].focusedSelectedBackground = $CheckBox.icon[filled].selectedBackground
|
||||
CheckBox.icon[filled].focusedCheckmarkColor = $CheckBox.icon.focusedBackground
|
||||
# hover
|
||||
CheckBox.icon[filled].selectedHoverBackground = darken($CheckBox.icon[filled].selectedBackground,5%,derived)
|
||||
CheckBox.icon[filled].hoverSelectedBackground = darken($CheckBox.icon[filled].selectedBackground,5%,derived)
|
||||
# pressed
|
||||
CheckBox.icon[filled].selectedPressedBackground = darken($CheckBox.icon[filled].selectedBackground,10%,derived)
|
||||
CheckBox.icon[filled].pressedSelectedBackground = darken($CheckBox.icon[filled].selectedBackground,10%,derived)
|
||||
|
||||
|
||||
#---- CheckBoxMenuItem ----
|
||||
|
||||
@@ -489,18 +489,23 @@ public class TestFlatStyleableInfo
|
||||
// focused
|
||||
"icon.focusedBorderColor", Color.class,
|
||||
"icon.focusedBackground", Color.class,
|
||||
"icon.selectedFocusedBorderColor", Color.class,
|
||||
"icon.selectedFocusedBackground", Color.class,
|
||||
"icon.selectedFocusedCheckmarkColor", Color.class,
|
||||
"icon.focusedSelectedBorderColor", Color.class,
|
||||
"icon.focusedSelectedBackground", Color.class,
|
||||
"icon.focusedCheckmarkColor", Color.class,
|
||||
|
||||
// hover
|
||||
"icon.hoverBorderColor", Color.class,
|
||||
"icon.hoverBackground", Color.class,
|
||||
"icon.selectedHoverBackground", Color.class,
|
||||
"icon.hoverSelectedBorderColor", Color.class,
|
||||
"icon.hoverSelectedBackground", Color.class,
|
||||
"icon.hoverCheckmarkColor", Color.class,
|
||||
|
||||
// pressed
|
||||
"icon.pressedBorderColor", Color.class,
|
||||
"icon.pressedBackground", Color.class,
|
||||
"icon.selectedPressedBackground", Color.class
|
||||
"icon.pressedSelectedBorderColor", Color.class,
|
||||
"icon.pressedSelectedBackground", Color.class,
|
||||
"icon.pressedCheckmarkColor", Color.class
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1060,18 +1065,23 @@ public class TestFlatStyleableInfo
|
||||
// focused
|
||||
"focusedBorderColor", Color.class,
|
||||
"focusedBackground", Color.class,
|
||||
"selectedFocusedBorderColor", Color.class,
|
||||
"selectedFocusedBackground", Color.class,
|
||||
"selectedFocusedCheckmarkColor", Color.class,
|
||||
"focusedSelectedBorderColor", Color.class,
|
||||
"focusedSelectedBackground", Color.class,
|
||||
"focusedCheckmarkColor", Color.class,
|
||||
|
||||
// hover
|
||||
"hoverBorderColor", Color.class,
|
||||
"hoverBackground", Color.class,
|
||||
"selectedHoverBackground", Color.class,
|
||||
"hoverSelectedBorderColor", Color.class,
|
||||
"hoverSelectedBackground", Color.class,
|
||||
"hoverCheckmarkColor", Color.class,
|
||||
|
||||
// pressed
|
||||
"pressedBorderColor", Color.class,
|
||||
"pressedBackground", Color.class,
|
||||
"selectedPressedBackground", Color.class
|
||||
"pressedSelectedBorderColor", Color.class,
|
||||
"pressedSelectedBackground", Color.class,
|
||||
"pressedCheckmarkColor", Color.class
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -628,18 +628,23 @@ public class TestFlatStyling
|
||||
// focused
|
||||
ui.applyStyle( b, "icon.focusedBorderColor: #fff" );
|
||||
ui.applyStyle( b, "icon.focusedBackground: #fff" );
|
||||
ui.applyStyle( b, "icon.selectedFocusedBorderColor: #fff" );
|
||||
ui.applyStyle( b, "icon.selectedFocusedBackground: #fff" );
|
||||
ui.applyStyle( b, "icon.selectedFocusedCheckmarkColor: #fff" );
|
||||
ui.applyStyle( b, "icon.focusedSelectedBorderColor: #fff" );
|
||||
ui.applyStyle( b, "icon.focusedSelectedBackground: #fff" );
|
||||
ui.applyStyle( b, "icon.focusedCheckmarkColor: #fff" );
|
||||
|
||||
// hover
|
||||
ui.applyStyle( b, "icon.hoverBorderColor: #fff" );
|
||||
ui.applyStyle( b, "icon.hoverBackground: #fff" );
|
||||
ui.applyStyle( b, "icon.selectedHoverBackground: #fff" );
|
||||
ui.applyStyle( b, "icon.hoverSelectedBorderColor: #fff" );
|
||||
ui.applyStyle( b, "icon.hoverSelectedBackground: #fff" );
|
||||
ui.applyStyle( b, "icon.hoverCheckmarkColor: #fff" );
|
||||
|
||||
// pressed
|
||||
ui.applyStyle( b, "icon.pressedBorderColor: #fff" );
|
||||
ui.applyStyle( b, "icon.pressedBackground: #fff" );
|
||||
ui.applyStyle( b, "icon.selectedPressedBackground: #fff" );
|
||||
ui.applyStyle( b, "icon.pressedSelectedBorderColor: #fff" );
|
||||
ui.applyStyle( b, "icon.pressedSelectedBackground: #fff" );
|
||||
ui.applyStyle( b, "icon.pressedCheckmarkColor: #fff" );
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1283,18 +1288,23 @@ public class TestFlatStyling
|
||||
// focused
|
||||
icon.applyStyleProperty( "focusedBorderColor", Color.WHITE );
|
||||
icon.applyStyleProperty( "focusedBackground", Color.WHITE );
|
||||
icon.applyStyleProperty( "selectedFocusedBorderColor", Color.WHITE );
|
||||
icon.applyStyleProperty( "selectedFocusedBackground", Color.WHITE );
|
||||
icon.applyStyleProperty( "selectedFocusedCheckmarkColor", Color.WHITE );
|
||||
icon.applyStyleProperty( "focusedSelectedBorderColor", Color.WHITE );
|
||||
icon.applyStyleProperty( "focusedSelectedBackground", Color.WHITE );
|
||||
icon.applyStyleProperty( "focusedCheckmarkColor", Color.WHITE );
|
||||
|
||||
// hover
|
||||
icon.applyStyleProperty( "hoverBorderColor", Color.WHITE );
|
||||
icon.applyStyleProperty( "hoverBackground", Color.WHITE );
|
||||
icon.applyStyleProperty( "selectedHoverBackground", Color.WHITE );
|
||||
icon.applyStyleProperty( "hoverSelectedBorderColor", Color.WHITE );
|
||||
icon.applyStyleProperty( "hoverSelectedBackground", Color.WHITE );
|
||||
icon.applyStyleProperty( "hoverCheckmarkColor", Color.WHITE );
|
||||
|
||||
// pressed
|
||||
icon.applyStyleProperty( "pressedBorderColor", Color.WHITE );
|
||||
icon.applyStyleProperty( "pressedBackground", Color.WHITE );
|
||||
icon.applyStyleProperty( "selectedPressedBackground", Color.WHITE );
|
||||
icon.applyStyleProperty( "pressedSelectedBorderColor", Color.WHITE );
|
||||
icon.applyStyleProperty( "pressedSelectedBackground", Color.WHITE );
|
||||
icon.applyStyleProperty( "pressedCheckmarkColor", Color.WHITE );
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user