summaryrefslogtreecommitdiff
path: root/gtk/gtkhandlebox.h
diff options
context:
space:
mode:
authorFederico Mena <federico@bananoid.nuclecu.unam.mx>1998-01-16 19:01:56 +0000
committerArturo Espinosa <unammx@src.gnome.org>1998-01-16 19:01:56 +0000
commit582a3f433c7b1fd1940cb273b522da39931fb9a8 (patch)
tree0905509128f54c8ea60bb781a60a33656bb81f77 /gtk/gtkhandlebox.h
parent97f11c694c2f9e43a26dc733c18a19a3c12173fa (diff)
downloadgtk+-582a3f433c7b1fd1940cb273b522da39931fb9a8.tar.gz
Lots of changes all over the place. Now the widget has two windows. The
Fri Jan 16 00:36:31 1998 Federico Mena <federico@bananoid.nuclecu.unam.mx> * gtk/gtkhandlebox.c: Lots of changes all over the place. Now the widget has two windows. The steady_window stays put in the parent container, and the widget->window is the one that gets reparented. Now that window is transient, in compliance with the ICCCM, instead of an OverrideRedirect window. We have two windows so that we can properly receive Expose events for the thin 3D line that marks the place where the handlebox is docked. * gtk/gtkhandlebox.h (struct _GtkHandleBox): Added fields for dragging (mouse position information). Added fleur_cursor so that we look pretty. Added steady_window field; it is the window that actually stays on the parent (widget->window is the one that gets reparented). Owen, this is the version with the two X calls in gtkhandlebox.c. I'll do as you say; either we can add new calls to Gdk, or I can modify the handle box code to use a separate GtkWindow and reparent the child into that. - Federico
Diffstat (limited to 'gtk/gtkhandlebox.h')
-rw-r--r--gtk/gtkhandlebox.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/gtk/gtkhandlebox.h b/gtk/gtkhandlebox.h
index 10c98f7ab5..ac20a08222 100644
--- a/gtk/gtkhandlebox.h
+++ b/gtk/gtkhandlebox.h
@@ -27,7 +27,7 @@
#include <gdk/gdk.h>
-#include <gtk/gtkeventbox.h>
+#include <gtk/gtkbin.h>
#ifdef __cplusplus
@@ -45,27 +45,27 @@ typedef struct _GtkHandleBoxClass GtkHandleBoxClass;
struct _GtkHandleBox
{
- GtkEventBox event_box;
+ GtkBin bin;
+
GtkWidget *real_parent;
+ GdkWindow *steady_window; /* the window that stays in the parent container */
GtkRequisition real_requisition;
gboolean is_being_dragged;
gboolean is_onroot;
+ GdkCursor *fleur_cursor;
+
+ gint dragoff_x, dragoff_y; /* start drag position (wrt widget->window) */
+ gint steady_x, steady_y; /* origin of stedy_window (wrt the root window) */
};
struct _GtkHandleBoxClass
{
- GtkEventBoxClass parent_class;
+ GtkBinClass parent_class;
};
guint gtk_handle_box_get_type (void);
GtkWidget* gtk_handle_box_new (void);
-/* the x and y coordinates (relative to root window, of course)
- are only needed if you pass in_root = TRUE */
-void gtk_handle_box_set_location (GtkWidget *widget,
- gboolean in_root,
- gint x,
- gint y);
#ifdef __cplusplus