I disagree that it should be put in the Look and Feel. There should be a way to set the font on specific buttons. Different buttons may have different fonts within the same application. I had complained earlier in the day about making it easier for the user and you said to voice my opinions, so here is another one. Things like this should be simple and straight forward. This is how it would be easy. The constructor sets the font to NULL and user can set it later. At paint time if the TextButton’s font is null the paint routine uses the look and feel for it’s font. This way you get the best of both worlds.
I spent an hour trying to figure out how to change the a TextButton’s font and it should be 10 sec. You as they say time is money and this is costing me and I have deadlines.
I know I can override paintButton or TextButton.getFont() but this should not be necessary. As I said before, why not make things like this simple. This is what we pay for. I see the date on this post and wonder if people give up and just rewrite juce themselves.
I 've already started changing juce myself by making the x and y member variables in Point public so we can access them like every other environment. I have a million lines of code and probably 5,000 places where point members are accessed directly. Can you imagine rewriting all of them. Every environment has them as public. I undestand the safety of making all members private, but for basic elements like point, rectangle, etc. it’s not needed.
I know I am coming on a bit strong but after 28 years of writing applications I feel this is obvious. juce can be great but still needs the user experience to be better to get there. Take a lesson from Apple. User experience is the a very important part of any application.
So at this point I’ll just override the getFont() in my own button class and live with it. I know it’s easy, but spending the time having to figure simple things out like this is killing me.