From 8f6af73541c10a6335aaf00453d69a8f199718a0 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Mon, 11 Jan 2021 18:54:07 +0100 Subject: [PATCH] CheckBox and RadioButton: - use `CheckBox.icon.selectedBackground` as base color for derived "selected" colors - use derived colors for `CheckBox.icon[filled].selectedHoverBackground` and `CheckBox.icon[filled].selectedPressedBackground` - removed unnecessary `CheckBox.icon.selectedFocusedBorderColor`from FlatDarkLaf.properties - added missing keys to FlatLafUIKeys.txt (preparation for #176) --- .../formdev/flatlaf/icons/FlatCheckBoxIcon.java | 14 ++++++++------ .../com/formdev/flatlaf/FlatDarkLaf.properties | 6 +++--- .../com/formdev/flatlaf/FlatLightLaf.properties | 4 ++-- .../dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt | 5 ++--- .../dumps/uidefaults/FlatLightLaf_1.8.0_202.txt | 4 ++-- .../flatlaf/themeeditor/FlatLafUIKeys.txt | 16 ++++++++++++++++ 6 files changed, 33 insertions(+), 16 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxIcon.java index b728c675..67267b92 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxIcon.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatCheckBoxIcon.java @@ -49,15 +49,16 @@ import com.formdev.flatlaf.ui.FlatUIUtils; * @uiDefault CheckBox.icon.disabledBorderColor Color * @uiDefault CheckBox.icon.disabledBackground Color * @uiDefault CheckBox.icon.disabledCheckmarkColor Color - * @uiDefault CheckBox.icon.focusedBorderColor Color + * @uiDefault CheckBox.icon.focusedBorderColor Color optional * @uiDefault CheckBox.icon.focusedBackground Color optional - * @uiDefault CheckBox.icon.selectedFocusedBorderColor Color optional - * @uiDefault CheckBox.icon.selectedFocusedBackground 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.hoverBorderColor Color optional * @uiDefault CheckBox.icon.hoverBackground Color optional - * @uiDefault CheckBox.icon.selectedHoverBackground Color optional + * @uiDefault CheckBox.icon.selectedHoverBackground Color optional; CheckBox.icon.hoverBackground is used if not specified * @uiDefault CheckBox.icon.pressedBackground Color optional - * @uiDefault CheckBox.icon.selectedPressedBackground Color optional + * @uiDefault CheckBox.icon.selectedPressedBackground Color optional; CheckBox.icon.pressedBackground is used if not specified * @uiDefault CheckBox.arc int * * @author Karl Tauber @@ -145,7 +146,8 @@ public class FlatCheckBoxIcon paintBorder( c, g ); // paint background - g.setColor( FlatUIUtils.deriveColor( getBackground( c, selected ), background ) ); + g.setColor( FlatUIUtils.deriveColor( getBackground( c, selected ), + selected ? selectedBackground : background ) ); paintBackground( c, g ); // paint checkmark diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties index f405154e..5ca24cef 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties @@ -103,7 +103,6 @@ CheckBox.icon.disabledCheckmarkColor = #606060 # focused CheckBox.icon.focusedBorderColor = #466D94 -CheckBox.icon.selectedFocusedBorderColor = #466D94 # hover CheckBox.icon.hoverBorderColor = $CheckBox.icon.focusedBorderColor @@ -112,15 +111,16 @@ CheckBox.icon.hoverBackground = lighten($CheckBox.icon.background,3%,derived) # pressed CheckBox.icon.pressedBackground = lighten($CheckBox.icon.background,6%,derived) + # used if CheckBox.icon.style = filled # enabled 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%) +CheckBox.icon[filled].selectedHoverBackground = darken($CheckBox.icon[filled].selectedBackground,3%,derived) # pressed -CheckBox.icon[filled].selectedPressedBackground = darken($CheckBox.icon[filled].selectedBackground,6%) +CheckBox.icon[filled].selectedPressedBackground = darken($CheckBox.icon[filled].selectedBackground,6%,derived) #---- ComboBox ---- diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties index 8a23f71d..966dc2c1 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties @@ -125,9 +125,9 @@ CheckBox.icon[filled].selectedFocusedBorderColor = #ACCFF7 CheckBox.icon[filled].selectedFocusedBackground = $CheckBox.icon[filled].selectedBackground CheckBox.icon[filled].selectedFocusedCheckmarkColor = $CheckBox.icon.focusedBackground # hover -CheckBox.icon[filled].selectedHoverBackground = darken($CheckBox.icon[filled].selectedBackground,5%) +CheckBox.icon[filled].selectedHoverBackground = darken($CheckBox.icon[filled].selectedBackground,5%,derived) # pressed -CheckBox.icon[filled].selectedPressedBackground = darken($CheckBox.icon[filled].selectedBackground,10%) +CheckBox.icon[filled].selectedPressedBackground = darken($CheckBox.icon[filled].selectedBackground,10%,derived) #---- ComboBox ---- diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt index c08e7ccb..b34e5ec7 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -132,14 +132,13 @@ CheckBox.icon.hoverBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.pressedBackground #52595a com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) CheckBox.icon.selectedBackground #43494a javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.selectedBorderColor #6b6b6b javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.selectedFocusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 4 CheckBox.icon[filled].checkmarkColor #43494a javax.swing.plaf.ColorUIResource [UI] CheckBox.icon[filled].selectedBackground #a7a7a7 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon[filled].selectedBorderColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedHoverBackground #9f9f9f javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedPressedBackground #989898 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedHoverBackground #9f9f9f com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) +CheckBox.icon[filled].selectedPressedBackground #989898 com.formdev.flatlaf.util.DerivedColor [UI] darken(6% autoInverse) CheckBox.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] CheckBox.rollover true CheckBox.textIconGap 4 diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt index e9f23f51..a9aeba92 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -142,8 +142,8 @@ CheckBox.icon[filled].selectedBorderColor #4b97d9 javax.swing.plaf.ColorUIRes CheckBox.icon[filled].selectedFocusedBackground #4f9ee3 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon[filled].selectedFocusedBorderColor #accff7 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon[filled].selectedFocusedCheckmarkColor #e3f1fa javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedHoverBackground #3992e0 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedPressedBackground #2386dc javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedHoverBackground #3992e0 com.formdev.flatlaf.util.DerivedColor [UI] darken(5% autoInverse) +CheckBox.icon[filled].selectedPressedBackground #2386dc com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) CheckBox.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] CheckBox.rollover true CheckBox.textIconGap 4 diff --git a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt index 0649af44..2f1ed206 100644 --- a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt +++ b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt @@ -70,6 +70,8 @@ CheckBox.icon.checkmarkColor CheckBox.icon.disabledBackground CheckBox.icon.disabledBorderColor CheckBox.icon.disabledCheckmarkColor +CheckBox.icon.focusColor +CheckBox.icon.focusWidth CheckBox.icon.focusedBackground CheckBox.icon.focusedBorderColor CheckBox.icon.hoverBackground @@ -77,10 +79,24 @@ CheckBox.icon.hoverBorderColor CheckBox.icon.pressedBackground CheckBox.icon.selectedBackground CheckBox.icon.selectedBorderColor +CheckBox.icon.selectedFocusedBackground CheckBox.icon.selectedFocusedBorderColor +CheckBox.icon.selectedFocusedCheckmarkColor +CheckBox.icon.selectedHoverBackground +CheckBox.icon.selectedPressedBackground CheckBox.icon.style CheckBox.iconTextGap +CheckBox.icon[filled].background +CheckBox.icon[filled].borderColor CheckBox.icon[filled].checkmarkColor +CheckBox.icon[filled].disabledBackground +CheckBox.icon[filled].disabledBorderColor +CheckBox.icon[filled].disabledCheckmarkColor +CheckBox.icon[filled].focusedBackground +CheckBox.icon[filled].focusedBorderColor +CheckBox.icon[filled].hoverBackground +CheckBox.icon[filled].hoverBorderColor +CheckBox.icon[filled].pressedBackground CheckBox.icon[filled].selectedBackground CheckBox.icon[filled].selectedBorderColor CheckBox.icon[filled].selectedFocusedBackground