Re: Dumb question
- From: Mark Leisher <mleisher crl nmsu edu>
- To: Chris Moller <cmoller redhat com>
- Cc: gtk-list gnome org
- Subject: Re: Dumb question
- Date: Tue, 07 Mar 2006 09:44:36 -0700
Mark Leisher wrote:
Chris Moller wrote:
I'm writing a roll-your-own widget that uses, among other things, a 
few buttons (via gtk_button_new()) and spin_buttons 
(gtk_spin_button_new()).  In my widget _init() fcn, I create all the 
buttons, pack them into an hbox, and pack the hbox and some other 
stuff into a vbox.  When the app the uses the new widget runs, the 
spin buttons show up but the regular buttons don't.  They're there--if 
you click on the empty space where they ought to be, the callback gets 
invoked, but the buttons aren't visible.  This happens regardless of 
whether I use gtk_button_new_with_label ("whatever"), or just 
gtk_button_new() and gtk_container_add() various things (labels, 
labels in boxes, etc) to the button later.
Anyone have a clue what's happening?
Not so dumb. I struggled with this one for a couple months.
I discovered with GTK+ 2.7 and later that when creating subclasses of 
GtkContainer, you *have* to implement the add, remove, and forall class 
functions of the GtkContainerClass.
The add and remove functions don't need to do anything, but the forall 
function should apply the passed callback to all the children you've 
created.
Without all three functions implemented, some of the child widgets show 
up and some don't.
Almost forgot. I can't remember which version of GTK+ I was using, but 
in one case, a NULL callback was passed to the forall GtkContainerClass 
function. Check the callback before calling.
--
---------------------------------------------------------------------------
Mark Leisher
Computing Research Lab                   In the republic of mediocrity,
New Mexico State University                genius is dangerous.
Box 30001, MSC 3CRL                        -- Robert G. Ingersoll 
(1833-1899)
Las Cruces, NM  88003
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]