I tried putting the commands in the callback signal_realize
signal_realize().connect (sigc::mem_fun (*this,
&ExampleWindow::onWindowRealize));
void ExampleWindow::onWindowRealize()
{
Glib::RefPtr<Gdk::Window> win = get_window();
Glib::RefPtr<Gdk::GC> some_gc = Gdk::GC::create(win);
Glib::RefPtr<Gdk::Colormap> some_colormap = get_default_colormap();
my_gray.set_red(0xc900);
my_gray.set_green(0xca00);
my_gray.set_blue(0xc800);
some_colormap->alloc_color(my_gray);
my_blue.set_red(0x0000);
my_blue.set_green(0x7200);
my_blue.set_blue(0xc800);
some_colormap->alloc_color(my_blue);
some_gc->set_foreground(my_gray);
some_gc->set_background(my_blue);
}
The program console showed:
(Hello:2839): Gdk-CRITICAL **: gdk_gc_new: assertion `drawable != NULL' failed
(Hello:2839): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT
(object)' failed
But the background and foreground were unchanged.
I also tried using:
Glib::RefPtr<Gdk::Window> win = get_window();
gtk_widget_modify_bg( GtkWidget(win), (GtkStateType)Gtk::STATE_NORMAL,
(GdkColor*)&my_blue );
gtk_widget_modify_fg( GtkWidget(win), (GtkStateType)Gtk::STATE_NORMAL,
(GdkColor*)&my_gray );
It won’t compile because it does not like the reference pointer to widget
conversion.
Any other ideas ??
Randy Seedle
PS: This solution needs to work with “Gtkmm”.
From: José Alburquerque [mailto:[email protected]]
Sent: Tuesday, January 11, 2011 12:51 PM
To: [email protected]
Cc: <[email protected]>
Subject: Re: settting the background and foreground
El Jan 10, 2011, a las 4:32 PM, "Charles Seedle" <[email protected]>
escribió:
I am tring to set the background and foreground of my main window. Is there a
good example of how to do this out there ?
I keep getting the messeges:
(Hello:22855): Gdk-CRITICAL **: gdk_gc_new: assertion `drawable != NULL' failed
(Hello:22855): Gdk-CRITICAL **: gdk_gc_set_foreground: assertion `GDK_IS_GC
(gc)' failed
(Hello:22855): Gdk-CRITICAL **: gdk_gc_set_background: assertion `GDK_IS_GC
(gc)' failed
(Hello:22855): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT
(object)' failed
>From this code:
Glib::RefPtr<Gdk::Window> win = get_window();
Glib::RefPtr<Gdk::GC> some_gc = Gdk::GC::create(win);
Glib::RefPtr<Gdk::Colormap> some_colormap = get_default_colormap();
set_decorated(false);
my_gray.set_red(0xc900);
my_gray.set_green(0xca00);
my_gray.set_blue(0xc800);
some_colormap->alloc_color(my_gray);
some_gc->set_foreground(my_gray);
my_blue.set_red(0x0000);
my_blue.set_green(0x7200);
my_blue.set_blue(0xc800);
some_colormap->alloc_color(my_blue);
some_gc->set_background(my_blue);
When getting the window of a widget, you have to be sure it is realized first.
See Gtk::Widget::signal_realize(). Or maybe use one of the
Gtk::Widget::modify_* methods.
Randy
_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list
_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list