diff --git a/app/src/processing/app/laf/PdeMenuItemUI.java b/app/src/processing/app/laf/PdeMenuItemUI.java new file mode 100644 index 000000000..9cc00b2e7 --- /dev/null +++ b/app/src/processing/app/laf/PdeMenuItemUI.java @@ -0,0 +1,42 @@ +package processing.app.laf; + +import processing.app.ui.Theme; + +import javax.swing.plaf.basic.BasicMenuItemUI; +import java.awt.Color; + + +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); + + acceleratorForeground = enabledFgColor; + acceleratorSelectionForeground = selectedFgColor; + selectionBackground = selectedBgColor; + selectionForeground = selectedFgColor; + disabledForeground = disabledFgColor; + } +} \ No newline at end of file