summaryrefslogtreecommitdiffstats
path: root/src/libgdl/gdl-dock-master.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libgdl/gdl-dock-master.c')
-rw-r--r--src/libgdl/gdl-dock-master.c41
1 files changed, 28 insertions, 13 deletions
diff --git a/src/libgdl/gdl-dock-master.c b/src/libgdl/gdl-dock-master.c
index 1c362ed16..2bbb8eb3b 100644
--- a/src/libgdl/gdl-dock-master.c
+++ b/src/libgdl/gdl-dock-master.c
@@ -27,10 +27,11 @@
#include "gdl-i18n.h"
-#include "gdl-tools.h"
#include "gdl-dock-master.h"
#include "gdl-dock.h"
#include "gdl-dock-item.h"
+#include "gdl-dock-notebook.h"
+#include "gdl-switcher.h"
#include "libgdlmarshal.h"
#include "libgdltypebuiltins.h"
#ifdef WIN32
@@ -40,7 +41,6 @@
/* ----- Private prototypes ----- */
static void gdl_dock_master_class_init (GdlDockMasterClass *klass);
-static void gdl_dock_master_instance_init (GdlDockMaster *master);
static void gdl_dock_master_dispose (GObject *g_object);
static void gdl_dock_master_set_property (GObject *object,
@@ -126,7 +126,7 @@ static guint master_signals [LAST_SIGNAL] = { 0 };
/* ----- Private interface ----- */
-GDL_CLASS_BOILERPLATE (GdlDockMaster, gdl_dock_master, GObject, G_TYPE_OBJECT);
+G_DEFINE_TYPE (GdlDockMaster, gdl_dock_master, G_TYPE_OBJECT);
static void
gdl_dock_master_class_init (GdlDockMasterClass *klass)
@@ -187,7 +187,7 @@ gdl_dock_master_class_init (GdlDockMasterClass *klass)
}
static void
-gdl_dock_master_instance_init (GdlDockMaster *master)
+gdl_dock_master_init (GdlDockMaster *master)
{
master->dock_objects = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, NULL);
@@ -262,6 +262,7 @@ ht_foreach_build_slist (gpointer key,
gpointer value,
GSList **slist)
{
+ (void)key;
*slist = g_slist_prepend (*slist, value);
}
@@ -320,7 +321,7 @@ gdl_dock_master_dispose (GObject *g_object)
master->_priv = NULL;
}
- GDL_CALL_PARENT (G_OBJECT_CLASS, dispose, (g_object));
+ G_OBJECT_CLASS (gdl_dock_master_parent_class)->dispose (g_object);
}
static void
@@ -481,6 +482,7 @@ gdl_dock_master_drag_motion (GdlDockItem *item,
GdlDockMaster *master;
GdlDockRequest my_request, *request;
GdkWindow *window;
+ GdkWindow *widget_window;
gint win_x, win_y;
gint x, y;
GdlDock *dock = NULL;
@@ -505,15 +507,17 @@ gdl_dock_master_drag_motion (GdlDockItem *item,
if (GTK_IS_WIDGET (widget)) {
while (widget && (!GDL_IS_DOCK (widget) ||
GDL_DOCK_OBJECT_GET_MASTER (widget) != master))
- widget = widget->parent;
+ widget = gtk_widget_get_parent (widget);
if (widget) {
gint win_w, win_h;
+ widget_window = gtk_widget_get_window (widget);
+
/* verify that the pointer is still in that dock
(the user could have moved it) */
- gdk_window_get_geometry (widget->window,
+ gdk_window_get_geometry (widget_window,
NULL, NULL, &win_w, &win_h, NULL);
- gdk_window_get_origin (widget->window, &win_x, &win_y);
+ gdk_window_get_origin (widget_window, &win_x, &win_y);
if (root_x >= win_x && root_x < win_x + win_w &&
root_y >= win_y && root_y < win_y + win_h)
dock = GDL_DOCK (widget);
@@ -522,9 +526,11 @@ gdl_dock_master_drag_motion (GdlDockItem *item,
}
if (dock) {
+ GdkWindow *dock_window = gtk_widget_get_window (GTK_WIDGET (dock));
+
/* translate root coordinates into dock object coordinates
(i.e. widget coordinates) */
- gdk_window_get_origin (GTK_WIDGET (dock)->window, &win_x, &win_y);
+ gdk_window_get_origin (dock_window, &win_x, &win_y);
x = root_x - win_x;
y = root_y - win_y;
may_dock = gdl_dock_object_dock_request (GDL_DOCK_OBJECT (dock),
@@ -535,10 +541,12 @@ gdl_dock_master_drag_motion (GdlDockItem *item,
/* try to dock the item in all the docks in the ring in turn */
for (l = master->toplevel_docks; l; l = l->next) {
+ GdkWindow *dock_window;
dock = GDL_DOCK (l->data);
+ dock_window = gtk_widget_get_window (GTK_WIDGET (dock));
/* translate root coordinates into dock object coordinates
(i.e. widget coordinates) */
- gdk_window_get_origin (GTK_WIDGET (dock)->window, &win_x, &win_y);
+ gdk_window_get_origin (dock_window, &win_x, &win_y);
x = root_x - win_x;
y = root_y - win_y;
may_dock = gdl_dock_object_dock_request (GDL_DOCK_OBJECT (dock),
@@ -718,7 +726,11 @@ item_dock_cb (GdlDockObject *object,
gpointer user_data)
{
GdlDockMaster *master = user_data;
-
+
+ (void)object;
+ (void)position;
+ (void)other_data;
+
g_return_if_fail (requestor && GDL_IS_DOCK_OBJECT (requestor));
g_return_if_fail (master && GDL_IS_DOCK_MASTER (master));
@@ -740,6 +752,8 @@ item_detach_cb (GdlDockObject *object,
{
GdlDockMaster *master = user_data;
+ (void)recursive;
+
g_return_if_fail (object && GDL_IS_DOCK_OBJECT (object));
g_return_if_fail (master && GDL_IS_DOCK_MASTER (master));
@@ -760,6 +774,8 @@ item_notify_cb (GdlDockObject *object,
gint locked = COMPUTE_LOCKED (master);
gboolean item_locked;
+ (void)pspec;
+
g_object_get (object, "locked", &item_locked, NULL);
if (item_locked) {
@@ -798,8 +814,7 @@ gdl_dock_master_add (GdlDockMaster *master,
master, object, object->name, found_object);
}
else {
- g_object_ref (object);
- gtk_object_sink (GTK_OBJECT (object));
+ g_object_ref_sink (object);
g_hash_table_insert (master->dock_objects, g_strdup (object->name), object);
}
}