-
-
Notifications
You must be signed in to change notification settings - Fork 163
Expand file tree
/
Copy pathPdeMenuItemUI.java
More file actions
47 lines (35 loc) · 1.46 KB
/
PdeMenuItemUI.java
File metadata and controls
47 lines (35 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package processing.app.laf;
import processing.app.ui.Theme;
import javax.swing.plaf.basic.BasicMenuItemUI;
import java.awt.Color;
// https://github.com/AdoptOpenJDK/openjdk-jdk8u/blob/master/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java
public class PdeMenuItemUI extends BasicMenuItemUI {
final String prefix;
Color enabledFgColor;
Color enabledBgColor;
Color disabledFgColor;
Color disabledBgColor;
Color selectedFgColor;
Color selectedBgColor;
public PdeMenuItemUI(String prefix) {
this.prefix = prefix;
}
public void updateTheme() {
enabledFgColor = Theme.getColor(prefix + ".enabled.fgcolor");
enabledBgColor = Theme.getColor(prefix + ".enabled.bgcolor");
disabledFgColor = Theme.getColor(prefix + ".disabled.fgcolor");
disabledBgColor = Theme.getColor(prefix + ".disabled.bgcolor");
selectedFgColor = Theme.getColor(prefix + ".selected.fgcolor");
selectedBgColor = Theme.getColor(prefix + ".selected.bgcolor");
// when drawing, this will be overridden when disabled or selected
menuItem.setForeground(enabledFgColor);
// set bg color of the parent item instead of setting everything opaque
// menuItem.setOpaque(true);
// menuItem.setBackground(enabledBgColor);
acceleratorForeground = enabledFgColor;
acceleratorSelectionForeground = selectedFgColor;
selectionBackground = selectedBgColor;
selectionForeground = selectedFgColor;
disabledForeground = disabledFgColor;
}
}