From f40470a3620094e38e131156a3f13ab8e676519a Mon Sep 17 00:00:00 2001 From: Tim Janik Date: Fri, 20 Jun 2008 11:08:13 +0000 Subject: [PATCH] Seal GtkSocket svn path=/trunk/; revision=20604 --- gtk/gtk.symbols | 1 + gtk/gtksocket.c | 19 +++++++++++++++++++ gtk/gtksocket.h | 31 ++++++++++++++++--------------- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index df3deaadf7..288a6d187e 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3450,6 +3450,7 @@ gtk_show_uri #if IN_FILE(__GTK_SOCKET_C__) gtk_socket_add_id gtk_socket_get_id +gtk_socket_get_plug_window gtk_socket_get_type G_GNUC_CONST gtk_socket_new #ifndef GTK_DISABLE_DEPRECATED diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index 25a96690de..ab0f620d07 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -300,6 +300,25 @@ gtk_socket_get_id (GtkSocket *socket) return _gtk_socket_windowing_get_id (socket); } +/** + * gtk_socket_get_plug_window: + * @socket_: a #GtkSocket. + * + * Retrieves the window of the plug. Use this to check if the plug has + * been created inside of the socket. + * + * Return value: the window of the plug if available, or %NULL + * + * Since: GSEAL-branch + **/ +GdkWindow* +gtk_socket_get_plug_window (GtkSocket *socket) +{ + g_return_val_if_fail (GTK_IS_SOCKET (socket), NULL); + + return socket->plug_window; +} + static void gtk_socket_realize (GtkWidget *widget) { diff --git a/gtk/gtksocket.h b/gtk/gtksocket.h index 6e6e2aa66e..ecb7cd6083 100644 --- a/gtk/gtksocket.h +++ b/gtk/gtksocket.h @@ -49,24 +49,24 @@ struct _GtkSocket { GtkContainer container; - guint16 request_width; - guint16 request_height; - guint16 current_width; - guint16 current_height; + guint16 GSEAL (request_width); + guint16 GSEAL (request_height); + guint16 GSEAL (current_width); + guint16 GSEAL (current_height); - GdkWindow *plug_window; - GtkWidget *plug_widget; + GdkWindow *GSEAL (plug_window); + GtkWidget *GSEAL (plug_widget); - gshort xembed_version; /* -1 == not xembed */ - guint same_app : 1; - guint focus_in : 1; - guint have_size : 1; - guint need_map : 1; - guint is_mapped : 1; - guint active : 1; + gshort GSEAL (xembed_version); /* -1 == not xembed */ + guint GSEAL (same_app : 1); + guint GSEAL (focus_in : 1); + guint GSEAL (have_size : 1); + guint GSEAL (need_map : 1); + guint GSEAL (is_mapped : 1); + guint GSEAL (active : 1); - GtkAccelGroup *accel_group; - GtkWidget *toplevel; + GtkAccelGroup *GSEAL (accel_group); + GtkWidget *GSEAL (toplevel); }; struct _GtkSocketClass @@ -90,6 +90,7 @@ GtkWidget* gtk_socket_new (void); void gtk_socket_add_id (GtkSocket *socket_, GdkNativeWindow window_id); GdkNativeWindow gtk_socket_get_id (GtkSocket *socket_); +GdkWindow* gtk_socket_get_plug_window (GtkSocket *socket_); #ifndef GTK_DISABLE_DEPRECATED void gtk_socket_steal (GtkSocket *socket_,