summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Janik <timj@src.gnome.org>2008-06-20 11:10:37 +0000
committerTim Janik <timj@src.gnome.org>2008-06-20 11:10:37 +0000
commitc4576c3a85edd7925737a3ade404a63e74831d41 (patch)
treef3a68934d3bd21552a009fc0074aa0edfe085937
parent016d891708aac2c3f6e135ec15e0962a7d6c6442 (diff)
downloadgtk+-c4576c3a85edd7925737a3ade404a63e74831d41.tar.gz
Add gtk_plug_get_socket_window
svn path=/trunk/; revision=20629
-rw-r--r--gtk/gtk.symbols1
-rw-r--r--gtk/gtkplug.c37
-rw-r--r--gtk/gtkplug.h2
3 files changed, 39 insertions, 1 deletions
diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols
index 3312b868bd..151fa0cabb 100644
--- a/gtk/gtk.symbols
+++ b/gtk/gtk.symbols
@@ -2502,6 +2502,7 @@ gtk_plug_construct
gtk_plug_construct_for_display
gtk_plug_get_id
gtk_plug_get_embedded
+gtk_plug_get_socket_window
gtk_plug_get_type G_GNUC_CONST
gtk_plug_new
gtk_plug_new_for_display
diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c
index 9149be74fb..ff3f9131e1 100644
--- a/gtk/gtkplug.c
+++ b/gtk/gtkplug.c
@@ -71,6 +71,7 @@ typedef struct
enum {
PROP_0,
PROP_EMBEDDED,
+ PROP_SOCKET_WINDOW
};
enum {
@@ -95,6 +96,9 @@ gtk_plug_get_property (GObject *object,
case PROP_EMBEDDED:
g_value_set_boolean (value, plug->socket_window != NULL);
break;
+ case PROP_SOCKET_WINDOW:
+ g_value_set_object (value, plug->socket_window);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -149,6 +153,21 @@ gtk_plug_class_init (GtkPlugClass *class)
GTK_PARAM_READABLE));
/**
+ * GtkPlug:socket-window:
+ *
+ * The window of the socket the plug is embedded in.
+ *
+ * Since: GSEAL-branch
+ */
+ g_object_class_install_property (gobject_class,
+ PROP_SOCKET_WINDOW,
+ g_param_spec_object ("socket window",
+ P_("Socket Window"),
+ P_("The window of the socket the plug is embedded in"),
+ GDK_TYPE_WINDOW,
+ GTK_PARAM_READABLE));
+
+ /**
* GtkPlug::embedded:
* @plug: the object on which the signal was emitted
*
@@ -249,7 +268,7 @@ gtk_plug_get_id (GtkPlug *plug)
* @plug: a #GtkPlug
*
* Determines whether the plug is embedded in a socket.
- *
+ *
* Return value: %TRUE if the plug is embedded in a socket
**/
gboolean
@@ -261,6 +280,22 @@ gtk_plug_get_embedded (GtkPlug *plug)
}
/**
+ * gtk_plug_get_socket_window:
+ * @plug: a #GtkPlug
+ *
+ * Retrieves the socket the plug is embedded in.
+ *
+ * Return value: the window of the socket, or %NULL
+ **/
+GdkWindow *
+gtk_plug_get_socket_window (GtkPlug *plug)
+{
+ g_return_val_if_fail (GTK_IS_PLUG (plug), NULL);
+
+ return plug->socket_window;
+}
+
+/**
* _gtk_plug_add_to_socket:
* @plug: a #GtkPlug
* @socket_: a #GtkSocket
diff --git a/gtk/gtkplug.h b/gtk/gtkplug.h
index e09fd92f71..cb9040aff1 100644
--- a/gtk/gtkplug.h
+++ b/gtk/gtkplug.h
@@ -94,6 +94,8 @@ GdkNativeWindow gtk_plug_get_id (GtkPlug *plug);
gboolean gtk_plug_get_embedded (GtkPlug *plug);
+GdkWindow *gtk_plug_get_socket_window (GtkPlug *plug);
+
void _gtk_plug_add_to_socket (GtkPlug *plug,
GtkSocket *socket_);
void _gtk_plug_remove_from_socket (GtkPlug *plug,