Neil Dugan wrote:
Stephen George wrote:
Hi,

I am trying to get a treeview (with liststore model) to display rows in different colors based on content in the list.

"The most suitable approach for most cases is that you add two columns to your model, one for the property itself (e.g. a column COL_ROW_COLOR of type G_TYPE_STRING), and one for the boolean flag of the property (e.g. a column COL_ROW_COLOR_SET of type G_TYPE_BOOLEAN). You would then connect these columns with the "foreground" and "foreground-set" properties of each renderer. Now, whenever you set a row’s COL_ROW_COLOR field to a colour, and set that row’s COL_ROW_COLOR_SET field to TRUE, then
this column will be rendered in the colour of your choice.
<snip>

Hi Steve,

I can't see the pattern in why the colors are how they are. I think some of the trouble has to be with some 'foreground-color' set as None.

It would probably be better to not use the 'Modified' column to affect the color, and just put the color you want the row in the 'foreground-color' column (i.e. red,black or blue) and change the set-up to.

column.add_attribute(mycell, 'foreground', COLUMN_FOREGROUND)
mycell.set_property('foreground-set', True)

<snip>
Regards Neil.
Hi Neil,

Thanks for the reply.

I'm not sure whats happening, but it's not to do with 'foreground-color' set as None. ... I did a lot of testing before I started to introduce None for the color.
(According to pygtk reference None is the default value of that property)

I do have a system thats working for me now, .. but I suspect it only working because of some bug somewhere.

I totally ignore the foreground-set property, I never set it now, .. it seems to do nothing - set or not set

If I want to change the cells color, I put it in 'foreground-color' property, else I leave 'foreground-color' at None.

Thats it, .. it all works nicely like that. Ya, .. I know relying on undocumented behavior is bad, .. but I needed something that works now.

Cheers
Steve

_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to