kirill-grouchnikov / radiance

Building modern, elegant and fast Swing applications
BSD 3-Clause "New" or "Revised" License
807 stars 89 forks source link

[Theming] Add configuration APIs for color chooser panels #459

Closed kirill-grouchnikov closed 5 months ago

kirill-grouchnikov commented 10 months ago

See https://github.com/kirill-grouchnikov/radiance/issues/457#issuecomment-1906107951

ed-erwin-tf commented 9 months ago

The comment that I made that started this was: "PS: It would be really nice if there were a setting somewhere to disable drawing the color name in this panel." (in reference to the crayon panel.)

I later figured out that I could hide the color names (in order to avoid translating to 15 languages) by simply translating all the color names to invisible characters, such as a space character. So, I don't really need that.

You said: "An API to configure the color chooser would be a nice addition, something along the lines of an enum that lists all available panels, and allows the app to choose which ones to display and in which order."

Improvements are possible, but please do not take away the ability for me to add my own custom color chooser panels. I have needed to do so to fix issues with existing panels in-between your releases. The existing mechanism UIManager.put("ColorChooser.defaultChoosers", new String[] {}); works well for me. I think that you are not a fan of putting constants into UIManager, but please keep some mechanism that allows me to keep using custom panels. An enum might not be as extendable as the string-based existing mechanism.