Tadej Borovšak wrote:
> Hello.
> 
>> When the button or expander is clicked with the mouse the callbacks work
>> fine.  The problem is from the menu the "activate" signal has GtkAction
>> as the first parameter of the callback and I don't think that can be
>> cast to a GtkButton or GtkExpander.  I want to call the button and
>> expander callbacks as if they were clicked with the mouse.
> 
> You can get hold of the proxy widget of the action by calling
> gtk_action_get_proxies(). After you obtain the needed widget, you cna
> call callback function like it would be called by GTK+ itself.
> 
> Tadej
> 

I tried gtk_action_get_proxies() which works, but it looks like it
returns the menu item.  I'm still not sure how everything ties together.
 For example why is the function called gtk_action_get_proxies() it
seems to just return the menu item.  Anyway the way I got it to work,
which doesn't seem unreasonable, was to traverse the GtkWindow down
until I found the GtkExpander in that I was looking for and then I
emitted a signal.  I think this is what you were getting at.  So now my
callback for the action handler is a wrapper around
g_signal_emit_by_name(G_OBJECT(xpndr), "activate").  It finds the
expander and emits the signal.

Any idea how I can connect an accelerator to the Tab key?  In the
gtk_accelerator_name() function in the gtkaccelgroup.c file there isn't
a "<Tab>" in the list of accelerator name; however, I think there's a
way to add one, possibly with gtk_accel_group_connect(), but I'm not sure.


Thanks,
dhk


_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to