On Tue, Jan 19, 2010 at 06:31:28PM +0000, Robert Pearce wrote: > I am building an application which includes, among other things, a bunch of > radio buttons. One or more of these may, on occasion, be marked "insensitive" > because the option is not available. OK so far. > > My customer wants a visual style with white text on a dark blue background. > Disabled (i.e. "insensitive") text should be mid-grey. Knowing how much > people on here scream and yell about imposing such things, I am implementing > that by providing a resource file that defines a theme. > > The problem I have is that when I mark a radio button (or any label) > "insensitive", the text acquires a shadow, and this shadow is WHITE! This > makes it stand out even more than the active buttons, thus totally going > against intent. > > I've tried googling, and all I got was a thread on this list seven years ago > in which somebody asked how to remove this shadow and was told in no > uncertain terms that he shouldn't be imposing style decisions in the code. > Well, I'm trying to use a theme, so please can somebody answer the question > for me?
I don't think that the shadowing code path can be avoided just by using a RC style. And while GdkPango defines a text attribute for the emboss color (which is indeed white by default), I can't see how you could influence it. So, you can probably write a theme engine, but I might try a sneaky way first: subclass GtkStyle, override just draw_layout() method with the code taken from gtk_default_draw_layout() with the insensitive layout code deleted (which will make the function trivial), and then instantiate this style and set it on your labels. I haven't tried it and, of course, it will interact badly with theme engines but interaction with theme engines probably isn't something you care about with such requirements... Yeti _______________________________________________ gtk-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtk-list
