]> Pileus Git - ~andy/gtk/commitdiff
reserve the space for child_attach/child_detach signals.
authorTim Janik <timj@src.gnome.org>
Sat, 28 Feb 1998 02:24:38 +0000 (02:24 +0000)
committerTim Janik <timj@src.gnome.org>
Sat, 28 Feb 1998 02:24:38 +0000 (02:24 +0000)
TODO
gtk/gtkhandlebox.c
gtk/gtkhandlebox.h

diff --git a/TODO b/TODO
index 81d7cb4ed3fe79fccddc4029013daeb4b9a6158e..4c8ba6740ec37eceff4614b8c65c7f084663a73f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -18,8 +18,6 @@ Bugs:
    facilities, omit the background pixmap for now.
 
  * Widget redrawing when the window resizes sometimes messes up.
-   GtkWindows allow_shrink is buggy since we let all kinds of configure events
-   pass from Gdk to Gtk.
    GtkLabels sometimes redraw without clearing up the underlying background on
    window resizes.
  
index f7aa5d4e94e8a6e6d656c9447c26b88508e0f6e6..fd08f39b8664de36900a6594f28a8a50b1df0e8e 100644 (file)
 #define GHOST_HEIGHT 3
 #define SNAP_TOLERANCE 10
 
+enum
+{
+  SIGNAL_CHILD_ATTACHED,
+  SIGNAL_CHILD_DETACHED,
+  SIGNAL_LAST
+};
+
+typedef void    (*SignalChildAttached)          (GtkObject      *object,
+                                                GtkWidget      *widget,
+                                                gpointer        func_data);
 
 static void gtk_handle_box_class_init     (GtkHandleBoxClass *klass);
 static void gtk_handle_box_init           (GtkHandleBox      *handle_box);
@@ -111,6 +121,9 @@ gtk_handle_box_class_init (GtkHandleBoxClass *class)
   widget_class->button_press_event = gtk_handle_box_button_changed;
   widget_class->button_release_event = gtk_handle_box_button_changed;
   widget_class->motion_notify_event = gtk_handle_box_motion;
+
+  class->child_attached = NULL;
+  class->child_detached = NULL;
 }
 
 static void
@@ -123,6 +136,7 @@ gtk_handle_box_init (GtkHandleBox *handle_box)
   handle_box->float_window = NULL;
   handle_box->is_being_dragged = FALSE;
   handle_box->is_onroot = FALSE;
+  handle_box->overlap_attaches = FALSE;
   handle_box->fleur_cursor = gdk_cursor_new (GDK_FLEUR);
   handle_box->dragoff_x = 0;
   handle_box->dragoff_y = 0;
index 8c3ad7593cd66d3ab085c16fa42fe8fbd50ac42f..224f977d678371ae3164d35bccc0aeed66d0250a 100644 (file)
@@ -50,8 +50,9 @@ struct _GtkHandleBox
   GdkWindow      *steady_window; /* the window that stays in the parent container */
   GtkWidget      *float_window;
   GtkRequisition  real_requisition;
-  gboolean        is_being_dragged;
-  gboolean        is_onroot;
+  gint           is_being_dragged : 1;
+  gint           is_onroot : 1;
+  gint           overlap_attaches : 1;
   GdkCursor      *fleur_cursor;
 
   gint dragoff_x, dragoff_y; /* start drag position (wrt widget->window) */
@@ -61,6 +62,11 @@ struct _GtkHandleBox
 struct _GtkHandleBoxClass
 {
   GtkBinClass parent_class;
+
+  void (*child_attached)       (GtkHandleBox   *handle_box,
+                                GtkWidget      *child);
+  void (*child_detached)       (GtkHandleBox   *handle_box,
+                                GtkWidget      *child);
 };