Mutually exclusive GtkStateTypes -- A Design Flaw?
- From: Alex Jones <alex weej com>
- To: gtk-devel-list <gtk-devel-list gnome org>
- Subject: Mutually exclusive GtkStateTypes -- A Design Flaw?
- Date: Wed, 26 Sep 2007 01:02:58 +0100
This seems to be causing at least these problems, from what I can see. Please correct me if I'm wrong:
The age-old "can't click button after setting it sensitive" problem: http://bugzilla.gnome.org/show_bug.cgi?id=56070
is caused because it is technically impossible for a widget to be both PRELIGHT and INSENSITIVE. The widget receives no mouse-in event when INSENSITIVE, and so when it is set sensitive again, the state incorrectly goes to NORMAL.
I have written a custom renderer for GtkExpander in Ubuntulooks with the idea of using the foreground colour and modulating the opacity depending on whether it is PRELIGHT or not. The problem here is that I need to be able to detect if it is in a cell renderer row with GTK_CELL_RENDERER_SELECTED in its GtkCellRendererState flags, but there is no mechanism for passing this information to paint_expander. Basically, I need to be able to set the colour based on SELECTED, and the opacity based on PRELIGHT, but again this is impossible.
Also, but I'm not sure as I haven't really looked into it, "ticks" that are used in toggle menu items, and the X, _ and [ ] icons used in window menus are perhaps suffering the same fate. They always seem to render as the foreground colour, even if you're using a dark theme. This is not a problem in Qt, and I noticed it immediately when messing around with Last.fm the other day!
This seems to be impeding both functionality and visual appearance. So what can we do about this?
] [Thread Prev