> Hello all. > > In the process of making a bunch of widgets I have stumbled upon this > issue: I need to paint various parts of my widget, but I would like to > make the color of the parts controlled by the theme. I.e. the properties I > want to deal with are extra, self-invented properties besides the usual > style properties. > > (Note: I am using PyGTK 2.12, GTK 2.10 on Arch Linux) > > I have figured out how to manually load a theme-file accompanying my > application (by setting the environment variable GTK2_RC_FILES to ./gtkrc > before initializing gtk) > However I cannot insert my own property-names in such a file. The > following gives rise to a syntax error: > > # My Properties > scalartrack_segment_handle_size = 5 > > Besides I wouldn't know how to get those properties out again so I can use > them in an expose event > > So... > I am asking for the canonical way to implement new widgets and push the > choice of color, size and pixmap-overlays to the theme-designer. The > alternative is drawing with libcairo and using hardwired style properties. > > Regards, Rene Jensen Possible solution: Use the pixmap engine. It seems to support the "detail" parameter, so I can specify many additional sections, one for each detail. Example: style "track" { engine "pixmap" { image { function = BOX recolorable = TRUE detail = "segment" file = "Extra/track-segment-type1.png" border = { 5, 5, 5, 5 } stretch = TRUE orientation = HORIZONTAL } } } .. This style will draw the image "Extra/track-segment-type1.png" when invoked with this command (in PyGTK): self.styleTrack.paint_box (self.window, gtk.STATE_NORMAL, gtk.SHADOW_IN, None, None, "segment", X,Y,W,H) But since the pixmap-engine really did turn out to be rather heavy, I will have to settle for less: HOW CAN I DRAW a theme'd box (using gtk_paint_box) in colors different from what the theme has chosen for my GtkDrawingArea? Do I have to modify_bg before each call to paint_box, and then reset it again afterwards? Regards, Rene Jensen, Denmark _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list