Re: Colorizing rows in SimpleList revisited
- From: muppet <scott asofyet org>
- To: John McDermott <jjm jkintl com>
- Cc: gtk-perl-list gnome org
- Subject: Re: Colorizing rows in SimpleList revisited
- Date: Sat, 3 Jan 2004 00:06:19 -0500
On Friday, January 2, 2004, at 07:52 PM, John McDermott wrote:
The only problem is that this gives runtime warnings for cells not
having a given attribute -- e.g. cells using the boolean renderer
don't have a foreground color. My question is, how do I determine
whether or not a given renderer supports a particular attribute?
it is possible to list the properties supported by an object, with
$object->list_properties (or $class->list_properties).
however, this will be a real runtime hit, so you probably don't want to
do it every time. two approaches would be:
1) use ref() to find the type of a cell renderer, and use that type to
look up a function that knows how to colorize that cell renderer type.
2) after creating the model, create a cache of cell renderer types for
each column, and query at this time whether they support the foreground
property. then use that cached information later.
either way, you figure out ahead of time how to colorize a row, and you
can either hand-code that knowledge or figure it out at runtime. since
different renderers may use different names for the same attribute, i'd
actually advocate method 1 here, which doesn't require listing
properties at all.
--
"it's hard to be eventful when you have this much style."
- me, rationalizing yet another night of sitting at home.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]