FALSE,
GTK_PARAM_READABLE));
+ /**
+ * GtkPlug::embedded:
+ * @plug: the object on which the signal was emitted
+ *
+ * Gets emitted when the plug becomes embedded in a socket
+ * and when the embedding ends.
+ */
plug_signals[EMBEDDED] =
g_signal_new (I_("embedded"),
G_OBJECT_CLASS_TYPE (class),
}
}
- if (plug->socket_window)
+ if (plug->socket_window) {
g_signal_emit (plug, plug_signals[EMBEDDED], 0);
+
+ g_object_notify (G_OBJECT (plug), "embedded");
+ }
}
}
static void
gtk_plug_unrealize (GtkWidget *widget)
{
- GtkPlug *plug;
-
- g_return_if_fail (GTK_IS_PLUG (widget));
-
- plug = GTK_PLUG (widget);
+ GtkPlug *plug = GTK_PLUG (widget);
if (plug->socket_window != NULL)
{
gdk_window_set_user_data (plug->socket_window, NULL);
g_object_unref (plug->socket_window);
plug->socket_window = NULL;
+
+ g_object_notify (G_OBJECT (widget), "embedded");
}
if (!plug->same_app)
static void
gtk_plug_realize (GtkWidget *widget)
{
- GtkWindow *window;
- GtkPlug *plug;
+ GtkWindow *window = GTK_WINDOW (widget);
+ GtkPlug *plug = GTK_PLUG (widget);
GdkWindowAttr attributes;
gint attributes_mask;
- g_return_if_fail (GTK_IS_PLUG (widget));
-
GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
- window = GTK_WINDOW (widget);
- plug = GTK_PLUG (widget);
attributes.window_type = GDK_WINDOW_CHILD; /* XXX GDK_WINDOW_PLUG ? */
attributes.title = window->title;