Re: Which signal just before a window is hidden?
- From: Werner Lehmann <wl bwl uni-kiel de>
- To: Wolfgang Sourdeau <wolfgang iNsu com>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: Which signal just before a window is hidden?
- Date: Fri, 06 Oct 2000 17:56:35 +0200
Wolfgang Sourdeau wrote:
(BTW, what is the difference between map and realize?)
An X Window is mapped when it's displayed on screen.
A GTK widget is realized when it's structured is fully "instanciated",
that is, when the widgets properties are set and useable. Normally a
widget is realized just before it's shown.
Ok, thanks for the explanation.
I don't understand why "unmap" signal does not work then here (I mean in
the signal func the window is already unmapped). Because the source of
gtk_window_hide looks like this:
static void
gtk_window_hide (GtkWidget *widget)
{
  GtkWindow *window;
  g_return_if_fail (widget != NULL);
  g_return_if_fail (GTK_IS_WINDOW (widget));
  window = GTK_WINDOW (widget);
  GTK_WIDGET_UNSET_FLAGS (widget, GTK_VISIBLE);
  gtk_widget_unmap (widget);
  if (window->modal)
    gtk_grab_remove (widget);
}
Obviously its main work is to call gtk_widget_unmap (widget); which looks
like this:
void
gtk_widget_unmap (GtkWidget *widget)
{
  g_return_if_fail (widget != NULL);
  g_return_if_fail (GTK_IS_WIDGET (widget));
  
  if (GTK_WIDGET_MAPPED (widget))
    {
      if (GTK_WIDGET_NO_WINDOW (widget))
        gtk_widget_queue_clear_child (widget);
      gtk_signal_emit (GTK_OBJECT (widget), widget_signals[UNMAP]);
    }
}
So where is the window really unmapped? It seems not before the gtk_signal_emit
and thus my gdk_window_get_root_origin (...) should be ok.
Now I must put my own function around each and every gtk_window_hide () call
all over all source files :(
Regards,
WL
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]