[good] Re: [Gtk-sharp-list] simple button style change ...
ted leslie
tleslie at tcn.net
Thu Aug 4 21:39:35 EDT 2005
arggh......
ok i simply ran my app on a different system
and it worked with the styles through the rcgtk and parsestring (in app)
i run a kde on suse 9.2 and determined that NO gtk based app
is doing sqwat with the style specs. (or themes for that matter)
yet i put a gnome on another X screen and run the
gtk#/mono apps all if fine,
on a redhat installed machine i got it to run on gnome and kde desktops just fine,
i have a stock 9.2 suse, i dunno why its doing this, but screw it,
i will upgrade to suse 9.3 with full installed components for both desktops
(maybe even give gnome a try) and hopefully this issue will be
behind me.
I will give an update as to whether i can change styles
on widgets other then rc or parsestring methods,
to concur if in fact there is a bug with the direct widget manipulation
of styles.
-tl
On Thu, Aug 04, 2005 at 04:28:59PM +0200, Anset wrote:
>
> Hi,
>
> On both os you can find examples of resource files. do a search for
> gtkrc files and you should find a few. On windows you will find them
> under the directory where you installed GTK.
>
> The best documentation is to be found on the gnome developer website.
> look at the api documentation.
>
> of course it is all C code, but you should get the point.
> The only problem is that the RC class is not fully ported yet.
> (depending on your version of gtk#, your success wil vary).
>
> So if things do not seem to work for you, take a look at the custom
> files on svn.myrealbox.org to see what has been "ported".
>
> Below are the examples you asked for. MAKE SURE TO GIVE YOUR WIDGET A
> NAME! that is how the styles are matched.
>
> Here is a part of a resource file:
>
> ############
> # Defaults #
> ############
>
> style "Default_Style"
> {
> font_name = "Times new Roman 10"
> fg[NORMAL] = "#000000"
>
> bg_pixmap[NORMAL] = "ice.png"
> bg_pixmap[ACTIVE] = "cork.png"
> bg_pixmap[PRELIGHT] = "camouflage.png"
> bg_pixmap[INSENSITIVE] = "purple_marble.png"
>
> engine "pixmap"
> {
> }
>
> }
>
> class "GtkWidget" style "Default_Style"
>
> #widget "*" style "Default_Style"
> #widget "DDD_Main_Window" style "Default_Style"
> #widget "DDD_Main_Window.*" style "Default_Style"
>
> ##################
> # Startup Dialog #
> ##################
>
> style "Startup_Dialog_Title_Style"
> {
> font_name = "Times new Roman Bold 12"
> fg[NORMAL] = "#000000"
>
> }
> widget "*.Startup_Dialog_Title" style "Startup_Dialog_Title_Style"
>
>
>
> Here is an example parsing a string in your program:
> Basically you just put the text you would put in the resource file in a
> string and then parse it. It's a lot less clear, but this way you can
> "hide" style settings.
>
> Gtk.Rc.ParseString( "pixmap_path \"images\"\n"+
> "style \"Startup_Dialog_Style\" {\n"+
> "bg_pixmap[NORMAL] = \"startup.png\"\"\n"+
> "}\n"+
> "widget \"*Startup_Dialog\" style \"Startup_Dialog_Style\"");
>
>
> ted leslie wrote:
> >do you have any examples of this,
> >i see some for GTKmm but thats not quite the same.
> >
> >any code snipets, file?
> >
> >-tl
> >
> >On Thu, Aug 04, 2005 at 03:37:56PM +0200, Anset wrote:
> >
> >>Hi,
> >>
> >>The only way I found that works is using a resource file, or building a
> >>resource string and then parse it using the RC class.
> >>
> >>Afaik, rcstyle in gtk# is broken.
> >>
> >>Anset
> >>
> >>ted leslie wrote:
> >>
> >>>i am just trying to get the color of a button to change, i think i
> >>>exhausted
> >>>ever color type in the widget below, but none take effect,
> >>>Relief takes effect when i change it from one type to another, but
> >>>nothing else,
> >>>What am i doing wrong,
> >>>I use the GTKmm pages for documentation because i havnt found much
> >>>on GTK# anywhere, is there some ..
> >>>No one seems to do this on any of the GTK# applications in the mono site
> >>>so i am baffed..
> >>>
> >>> Gtk.RcStyle rc_style;
> >>> rc_style= new Gtk.RcStyle();
> >>>
> >>> Gdk.Color color;
> >>>
> >>> color.Red = 65535;
> >>> color.Green = 0;
> >>> color.Blue = 0;
> >>> color.Pixel = 65535; // whats this?
> >>>
> >>> btn3.Style=null;
> >>> btn3.ModifyStyle(rc_style);
> >>> btn3.Relief=Gtk.ReliefStyle.Half; // this works and we see impact!!!
> >>>btn3.ModifyBg(Gtk.StateType.Selected, color);
> >>>btn3.ModifyFg(Gtk.StateType.Selected, color);
> >>>btn3.ModifyBase(Gtk.StateType.Selected, color);
> >>>Console.WriteLine(btn3.Style.BaseColors[1]);
> >>>Console.WriteLine(btn3.Style.Foregrounds[0]);
> >>>
> >>>btn3.Style.DarkColors[0]=color;
> >>>btn3.Style.DarkColors[1]=color;
> >>>btn3.Style.DarkColors[2]=color;
> >>>btn3.Style.DarkColors[3]=color;
> >>>btn3.Style.DarkColors[4]=color;
> >>>btn3.Style.LightColors[0]=color;
> >>>btn3.Style.LightColors[1]=color;
> >>>btn3.Style.LightColors[2]=color;
> >>>btn3.Style.LightColors[3]=color;
> >>>btn3.Style.LightColors[4]=color;
> >>>btn3.Style.BaseColors[1]=color;
> >>>btn3.Style.BaseColors[0]=color;
> >>>btn3.Style.BaseColors[2]=color;
> >>>btn3.Style.BaseColors[3]=color;
> >>>btn3.Style.BaseColors[4]=color;
> >>>btn3.Style.Foregrounds[0]=color;
> >>>btn3.Style.Foregrounds[1]=color;
> >>>btn3.Style.Foregrounds[2]=color;
> >>>btn3.Style.Foregrounds[3]=color;
> >>>btn3.Style.Foregrounds[4]=color;
> >>>
> >>>..... assign widget into another container ....
> >>>_______________________________________________
> >>>Gtk-sharp-list maillist - Gtk-sharp-list at lists.ximian.com
> >>>http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
> >>
> >>
>
>
More information about the Gtk-sharp-list
mailing list