Setting Color of submenu Widgets
you can set the FG and BG color of any widget using style object
GtkStyle *style0;GtkStyle *style0;
style0 = gtk_style_new ();
gdk_color_parse ("orange", &(style0->bg[GTK_STATE_NORMAL]));
gtk_widget_set_style (menubar1, style0);
or for sub menus ..
GtkStyle *style0;GtkStyle *style1;
style1 = gtk_style_new ();
gdk_color_parse ("green", &(style1->bg[GTK_STATE_NORMAL]));
gtk_widget_set_style (menu2, style0);
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
#include "callbacks.h"
#include "interface.h"
#include "support.h"
#define GLADE_HOOKUP_OBJECT(component,widget,name) \
g_object_set_data_full (G_OBJECT (component), name, \
gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
g_object_set_data (G_OBJECT (component), name, widget)
GtkWidget*
create_window1 (void)
{
GtkWidget *window1;
GtkWidget *fixed1;
GtkWidget *menubar1;
GtkWidget *menuitem4;
GtkWidget *menu4;
GtkWidget *new1;
GtkWidget *open1;
GtkWidget *save1;
GtkWidget *save_as1;
GtkWidget *separatormenuitem1;
GtkWidget *quit1;
GtkWidget *menuitem5;
GtkWidget *menu5;
GtkWidget *cut1;
GtkWidget *copy1;
GtkWidget *paste1;
GtkWidget *delete1;
GtkWidget *menuitem6;
GtkWidget *menu6;
GtkWidget *menuitem7;
GtkWidget *menu7;
GtkWidget *about1;
GtkAccelGroup *accel_group;
GtkStyle *style0;
GtkStyle *style1;
GtkStyle *style2;
GtkStyle *style3;
GtkStyle *style4;
style0 = gtk_style_new ();
style1 = gtk_style_new ();
style2 = gtk_style_new ();
style3 = gtk_style_new ();
style4 = gtk_style_new ();
accel_group = gtk_accel_group_new ();
window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window1), _("window1"));
gtk_widget_set_size_request (window1, 416, 300);
fixed1 = gtk_fixed_new ();
gtk_widget_show (fixed1);
gtk_container_add (GTK_CONTAINER (window1), fixed1);
menubar1 = gtk_menu_bar_new ();
gtk_widget_show (menubar1);
gtk_fixed_put (GTK_FIXED (fixed1), menubar1, 0, 0);
gtk_widget_set_size_request (menubar1, 416, 32);
gdk_color_parse ("orange", &(style0->bg[GTK_STATE_NORMAL]));
gtk_widget_set_style (menubar1, style0);
menuitem4 = gtk_menu_item_new_with_mnemonic (_("_File"));
gtk_widget_show (menuitem4);
gtk_container_add (GTK_CONTAINER (menubar1), menuitem4);
menu4 = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem4), menu4);
gdk_color_parse ("green", &(style1->bg[GTK_STATE_NORMAL]));
gtk_widget_set_style (menu4, style1);
new1 = gtk_image_menu_item_new_from_stock ("gtk-new", accel_group);
gtk_widget_show (new1);
gtk_container_add (GTK_CONTAINER (menu4), new1);
open1 = gtk_image_menu_item_new_from_stock ("gtk-open", accel_group);
gtk_widget_show (open1);
gtk_container_add (GTK_CONTAINER (menu4), open1);
save1 = gtk_image_menu_item_new_from_stock ("gtk-save", accel_group);
gtk_widget_show (save1);
gtk_container_add (GTK_CONTAINER (menu4), save1);
save_as1 = gtk_image_menu_item_new_from_stock ("gtk-save-as", accel_group);
gtk_widget_show (save_as1);
gtk_container_add (GTK_CONTAINER (menu4), save_as1);
separatormenuitem1 = gtk_separator_menu_item_new ();
gtk_widget_show (separatormenuitem1);
gtk_container_add (GTK_CONTAINER (menu4), separatormenuitem1);
gtk_widget_set_sensitive (separatormenuitem1, FALSE);
quit1 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group);
gtk_widget_show (quit1);
gtk_container_add (GTK_CONTAINER (menu4), quit1);
menuitem5 = gtk_menu_item_new_with_mnemonic (_("_Edit"));
gtk_widget_show (menuitem5);
gtk_container_add (GTK_CONTAINER (menubar1), menuitem5);
menu5 = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem5), menu5);
gdk_color_parse ("blue", &(style2->bg[GTK_STATE_NORMAL]));
gtk_widget_set_style (menu5, style2);
cut1 = gtk_image_menu_item_new_from_stock ("gtk-cut", accel_group);
gtk_widget_show (cut1);
gtk_container_add (GTK_CONTAINER (menu5), cut1);
copy1 = gtk_image_menu_item_new_from_stock ("gtk-copy", accel_group);
gtk_widget_show (copy1);
gtk_container_add (GTK_CONTAINER (menu5), copy1);
paste1 = gtk_image_menu_item_new_from_stock ("gtk-paste", accel_group);
gtk_widget_show (paste1);
gtk_container_add (GTK_CONTAINER (menu5), paste1);
delete1 = gtk_image_menu_item_new_from_stock ("gtk-delete", accel_group);
gtk_widget_show (delete1);
gtk_container_add (GTK_CONTAINER (menu5), delete1);
menuitem6 = gtk_menu_item_new_with_mnemonic (_("_View"));
gtk_widget_show (menuitem6);
gtk_container_add (GTK_CONTAINER (menubar1), menuitem6);
menu6 = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem6), menu6);
gdk_color_parse ("red", &(style3->bg[GTK_STATE_NORMAL]));
gtk_widget_set_style (menu6, style3);
menuitem7 = gtk_menu_item_new_with_mnemonic (_("_Help"));
gtk_widget_show (menuitem7);
gtk_container_add (GTK_CONTAINER (menubar1), menuitem7);
menu7 = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem7), menu7);
gdk_color_parse ("yellow", &(style4->bg[GTK_STATE_NORMAL]));
gtk_widget_set_style (menu7, style4);
about1 = gtk_menu_item_new_with_mnemonic (_("_About"));
gtk_widget_show (about1);
gtk_container_add (GTK_CONTAINER (menu7), about1);
g_signal_connect ((gpointer) new1, "activate",
G_CALLBACK (on_new1_activate),
NULL);
g_signal_connect ((gpointer) open1, "activate",
G_CALLBACK (on_open1_activate),
NULL);
g_signal_connect ((gpointer) save1, "activate",
G_CALLBACK (on_save1_activate),
NULL);
g_signal_connect ((gpointer) save_as1, "activate",
G_CALLBACK (on_save_as1_activate),
NULL);
g_signal_connect ((gpointer) quit1, "activate",
G_CALLBACK (on_quit1_activate),
NULL);
g_signal_connect ((gpointer) cut1, "activate",
G_CALLBACK (on_cut1_activate),
NULL);
g_signal_connect ((gpointer) copy1, "activate",
G_CALLBACK (on_copy1_activate),
NULL);
g_signal_connect ((gpointer) paste1, "activate",
G_CALLBACK (on_paste1_activate),
NULL);
g_signal_connect ((gpointer) delete1, "activate",
G_CALLBACK (on_delete1_activate),
NULL);
g_signal_connect ((gpointer) about1, "activate",
G_CALLBACK (on_about1_activate),
NULL);
/* Store pointers to all widgets, for use by lookup_widget(). */
GLADE_HOOKUP_OBJECT_NO_REF (window1, window1, "window1");
GLADE_HOOKUP_OBJECT (window1, fixed1, "fixed1");
GLADE_HOOKUP_OBJECT (window1, menubar1, "menubar1");
GLADE_HOOKUP_OBJECT (window1, menuitem4, "menuitem4");
GLADE_HOOKUP_OBJECT (window1, menu4, "menu4");
GLADE_HOOKUP_OBJECT (window1, new1, "new1");
GLADE_HOOKUP_OBJECT (window1, open1, "open1");
GLADE_HOOKUP_OBJECT (window1, save1, "save1");
GLADE_HOOKUP_OBJECT (window1, save_as1, "save_as1");
GLADE_HOOKUP_OBJECT (window1, separatormenuitem1, "separatormenuitem1");
GLADE_HOOKUP_OBJECT (window1, quit1, "quit1");
GLADE_HOOKUP_OBJECT (window1, menuitem5, "menuitem5");
GLADE_HOOKUP_OBJECT (window1, menu5, "menu5");
GLADE_HOOKUP_OBJECT (window1, cut1, "cut1");
GLADE_HOOKUP_OBJECT (window1, copy1, "copy1");
GLADE_HOOKUP_OBJECT (window1, paste1, "paste1");
GLADE_HOOKUP_OBJECT (window1, delete1, "delete1");
GLADE_HOOKUP_OBJECT (window1, menuitem6, "menuitem6");
GLADE_HOOKUP_OBJECT (window1, menu6, "menu6");
GLADE_HOOKUP_OBJECT (window1, menuitem7, "menuitem7");
GLADE_HOOKUP_OBJECT (window1, menu7, "menu7");
GLADE_HOOKUP_OBJECT (window1, about1, "about1");
gtk_window_add_accel_group (GTK_WINDOW (window1), accel_group);
return window1;
}
- Anil Kumar's blog
- Login or register to post comments









Recent blog posts
- Nirmitsu Technologies Launches NU2000, NU2100 and NU4000
- Gtk and Embedded Devices - part 1
- gtk extra plot...
- GtkSheet with freeze panes
- Fake a signal
- Query::Setting Color of submenu Widgets
- how to color the combo box entry
- Multiline Text Editing Widget
- Setting Color of submenu Widgets
- GtkFB (Gtk+) for the Linux Framebuffer