Re: Gtk2::Assistant: Access to Buttons
- From: muppet <scott asofyet org>
- To: Peter Daum <gator_ml yahoo de>
- Cc: gtk-devel-list gnome org, gtk-perl-list gnome org
- Subject: Re: Gtk2::Assistant: Access to Buttons
- Date: Sun, 8 Jul 2007 11:04:59 -0400
gtk-devel-list readers: are the button pointers in struct
_GtkAssistant something that should be accessible to a language
binding? Would a gtk_assistant_set_default_response() be useful?
On Jul 5, 2007, at 9:48 AM, Peter Daum wrote:
The first thing to come to mind is to be sure to set activates-
default on the Entries you add to your Assistant (it appears from
your code snippet that you did that already), and then set the
Forward button to be the default.
... Gtk2::Dialog has a similar structure and offers
for such cases; it would be a pretty normal assuption, that there
somthing similar in Gtk2::Assistant, too (I originally had thought,
there might be just something missing in the documentation).
GtkAssistant inherits directly from GtkWindow, not from GtkDialog, so
the response stuff is not available.
But, there's no way to get to the Forward button without either
widget tree [...]
How could I do that? I played around with $assistant->get_children
(), but this
returns only the children, that I myself put into the window, not
that holds the buttons.
Walking the widget tree is a last-resort option, because it means
your code will be fragile. And even then, if the widget of interest
is not reachable by normal methods, you're screwed. It looks like
GtkAssistant places the buttons into an "action_area" box, but
manages the position and size of that box by hand in size_allocate()
rather than using built-in mechanisms. The action_area is reachable
via gtk_container_forall(), which, interestingly, is not bound in
gtk2-perl (likely because of the bit in the documentation that says
"most applications should not use this").
So, it looks like the best approach is to bind these structure
members in gtk2-perl, provided they are something that is not
considered private. I think they are legal, but i'd like an okay
from the gtk+ guys to be sure...
If the monkey could type one keystroke every nanosecond, the expected
waiting time until the monkey types out Hamlet is so long that the
estimated age of the universe is insignificant by comparison ... this
is not a practical method for writing plays.
-- Gian-Carlo Rota
] [Thread Prev