I'm moving a chunk of the "Subject: Re: Styles" thread
over here from fltk.general that seemed more relevant
to fltk.development, to prevent dev chatter on the general group.
"mal content" was trying to get Styles working, and I thought I'd
give it a shot just to start to learn about 2.x by dabbling.
Styles doesn't have any example code that I could find, so after
some help from Mikko, we cobbled together a working example that
shows how to change the default fonts/colors for windows and buttons.
The example is shown in Mikko's 04/01/07 06:39 posting in the
"Re: Styles" thread on fltk.general, which makes use of the
(WidgetType)::default_style
Some things that seemed odd, though. To set the NamedStyle's
parent_ seemed to involve:
---- snip
int main(..) {
// Set correct parents for styles
G_window_style.parent_ = Window::default_style; // <--
G_button_style.parent_ = Button::default_style; // <--
---- snip
Seems a little scary to be doing direct variable assignments
to variables (esp. with underbars). Shouldn't there instead
be something like a .parent() or .setparent() method?
Looking to the code to see if it might have just been undocumented,
I noticed /all/ the variables in Style are in fact public, with
the comment:
// Everything is public for various back-compatability hacks
I figured with Style and FLTK2 being fairly new, there wouldn't
already be legacy to worry about.. shouldn't that all be private?
Also, seems like it would be handy if maybe the NamedStyle
constructor could include a way to set the parent on init, eg:
---- snip
int main() {
NamedStyle window_style("MyWindowStyle", Window::default_style);
---- snip
..or is there a reason something like that would be bad?
Finally, is there a way to use styles to affect *all* widget
defaults? ie. if you want to change the default font for all
widgets? It seems as if one might have to make one style instance
for each kind of widget an app uses?
I know Styles are new, maybe I'm 'too soon' to use them,
or more likely, I'm probably missing something by not
knowing where to find good example code.
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev