Styling: MenuItem: support styling acceleratorFont

Theme Editor:
- support font keys in auto-completion
- ignore Menu.acceleratorFont, CheckBoxMenuItem.acceleratorFont and RadioButtonMenuItem.acceleratorFont because they are never used (keep UI values for backward compatibility)
This commit is contained in:
Karl Tauber
2021-12-11 11:17:53 +01:00
parent 6205e18c45
commit 2164bd363b
6 changed files with 16 additions and 15 deletions

View File

@@ -78,7 +78,7 @@ public class FlatMenuItemRenderer
protected final JMenuItem menuItem;
protected Icon checkIcon;
protected Icon arrowIcon;
protected final Font acceleratorFont;
@Styleable protected Font acceleratorFont;
protected final String acceleratorDelimiter;
/** @since 2 */ @Styleable protected boolean verticallyAlignText = FlatUIUtils.getUIBoolean( "MenuItem.verticallyAlignText", true );

View File

@@ -20,6 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import static com.formdev.flatlaf.ui.TestUtils.assertMapEquals;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Insets;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -335,7 +336,8 @@ public class TestFlatStyleableInfo
"selectionForeground", Color.class,
"disabledForeground", Color.class,
"acceleratorForeground", Color.class,
"acceleratorSelectionForeground", Color.class
"acceleratorSelectionForeground", Color.class,
"acceleratorFont", Font.class
);
menuItemRenderer( expected );

View File

@@ -483,6 +483,7 @@ public class TestFlatStyling
applyStyle.accept( "disabledForeground: #fff" );
applyStyle.accept( "acceleratorForeground: #fff" );
applyStyle.accept( "acceleratorSelectionForeground: #fff" );
applyStyle.accept( "acceleratorFont: italic 12 monospaced" );
menuItemRenderer( applyStyle );
@@ -770,6 +771,8 @@ public class TestFlatStyling
ui.applyStyle( "foreground: #fff" );
ui.applyStyle( "border: 2,2,2,2,#f00" );
ui.applyStyle( "font: italic 12 monospaced" );
// JSlider properties
ui.applyStyle( "minimum: 0" );
ui.applyStyle( "maximum: 50" );
ui.applyStyle( "value: 20" );
@@ -781,12 +784,6 @@ public class TestFlatStyling
ui.applyStyle( "paintTicks: true" );
ui.applyStyle( "paintTrack: true" );
ui.applyStyle( "snapToTicks: true" );
// JSlider properties
ui.applyStyle( "paintLabels: true" );
ui.applyStyle( "paintTicks: true" );
ui.applyStyle( "paintTrack: true" );
ui.applyStyle( "snapToTicks: true" );
}
@Test