Re: GTK Signal Definitions



"configure-event" partially works.  Basically, I am trying to maintain the width of a pane in a GtkHPaned after the user resizes or maximizes the window.

When I stretch the edges in 90 degree angles (stretch the right edge right, top edge up, etc..) it works fine.  However, when I stretch diagonally or maximize, it does not work.  In my callback for "configure-event" I tried to returning TRUE to stifle the signal propagation.  As expected, my pane was being correctly sized, but not propagating the signal had adverse effects elsewhere--as you can imagine.  Below is my implementation.

g_signal_connect(dialog,"configure-event",
    G_CALLBACK(resize_setup_menu),(gpointer)hpane);

g_signal_connect(dialog,"window-state-event",
    G_CALLBACK(resize_setup_menu),(gpointer)hpane);

gboolean resize_setup_menu(GtkWidget *widget,
    GdkEventConfigure *event,gpointer anything)
{
    gtk_paned_set_position(GTK_PANED(anything),128);
}



On Fri, 2004-07-16 at 17:42, John Cupitt wrote:
bryan christ wrote:
> Does anyone know what signal I should be connecting to when I 
> want to take action when a window is resized?

You need "configure_event". In my experience it's rare to want to
listen to this signal, usually it's simpler to subclass one of the
existing widgets and have a configure_event method.

> As an aside, is there a list of signal definitions?  The GTK API 
> documentation seems pretty hit-and-miss.  As an example, 
> GtkButton explains "activate" but GtkWindow has nothing to 
> describe the signal "frame-event".

I think frame_event is private. 

John


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]