On Mon, Oct 08, 2007 at 03:53:29PM +0200, Bastiaan Veelo wrote:
> > Something like this seems to work for me:
> >
> >   button = gtk_button_new_with_label ("...");
> >   style = gtk_rc_get_style_by_paths (gtk_widget_get_settings (button),
> >                                      "*.GtkTreeView.GtkButton",
> >                                      NULL,
> >                                      G_OBJECT_TYPE (button));
> >   gtk_widget_set_style (button, style);
> >
> >   
> 
> Thank you for replying. However, for me the above has no visible effect. 
> Now I understand that a GtkStyle is just about colors and similar 
> settings, which only partly determine the looks of a widget. In my case 
> I suspect that a GtkTreeView.GtkButton has the same GtkStyle settings as 
> ordinary buttons, which is why I see no change.

By default it does have the same settings, but in multiple themes it
does not.

> I recently discovered that there is something called a theme engine, and 
> I guess I need to trick the theme engine into thinking that it is 
> drawing a GtkTreeView button. Is there a way to do that? If the method 
> would be engine-dependent, I need it to work on MS Windows.

That is exactly what the code above tries to achieve.  I briefly looked
at the Windows theme source code and figured that it does things a little
different than the theme engine I first looked at.  Does using:

  style = gtk_rc_get_style_by_paths (gtk_widget_get_settings (button),
                                     "*.GtkTreeView.GtkButton",
                                     "*.GtkTreeView.GtkButton",
                                     G_OBJECT_TYPE (button));

instead of the call to gtk_rc_get_style_by_paths() posted earlier have
any effect?


regards,

-kris.
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to