major overhaul of the code, fixed all known bugs (hopefully ;).
Sat Mar 21 22:54:31 1998 Tim Janik <timj@gtk.org> * gtk/gtkhandlebox.h: * gtk/gtkhandlebox.c: major overhaul of the code, fixed all known bugs (hopefully ;). Sat Mar 20 15:33:17 1998 Tim Janik <timj@gtk.org> * gtk/gtkwidget.c (gtk_widget_real_show): queue the resize for the parent. Thu Mar 19 02:00:50 1998 Tim Janik <timj@gtk.org> * gtk/gtkwidget.c (gtk_widget_unrealize): unset flags after emission, especially GTK_MAPPED, since that might not have been taken care of by an UNMAP emission.
This commit is contained in:
parent
a7960ed953
commit
995d97b001
File diff suppressed because it is too large
Load Diff
@ -47,16 +47,15 @@ struct _GtkHandleBox
|
|||||||
{
|
{
|
||||||
GtkBin bin;
|
GtkBin bin;
|
||||||
|
|
||||||
GdkWindow *steady_window; /* the window that stays in the parent container */
|
GdkWindow *bin_window; /* parent window for children */
|
||||||
GtkWidget *float_window;
|
GdkWindow *float_window;
|
||||||
GtkRequisition real_requisition;
|
guint handle_position : 2;
|
||||||
guint is_being_dragged : 1;
|
guint float_window_mapped : 1;
|
||||||
guint is_onroot : 1;
|
guint child_detached : 1;
|
||||||
guint overlap_attaches : 1;
|
guint in_drag : 1;
|
||||||
GdkCursor *fleur_cursor;
|
GdkCursor *fleur_cursor;
|
||||||
|
|
||||||
gint dragoff_x, dragoff_y; /* start drag position (wrt widget->window) */
|
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
|
struct _GtkHandleBoxClass
|
||||||
|
@ -1436,7 +1436,10 @@ gtk_widget_unrealize (GtkWidget *widget)
|
|||||||
gtk_widget_shape_combine_mask (widget, NULL, -1, -1);
|
gtk_widget_shape_combine_mask (widget, NULL, -1, -1);
|
||||||
|
|
||||||
if (GTK_WIDGET_REALIZED (widget))
|
if (GTK_WIDGET_REALIZED (widget))
|
||||||
gtk_signal_emit (GTK_OBJECT (widget), widget_signals[UNREALIZE]);
|
{
|
||||||
|
gtk_signal_emit (GTK_OBJECT (widget), widget_signals[UNREALIZE]);
|
||||||
|
GTK_WIDGET_UNSET_FLAGS (widget, GTK_REALIZED | GTK_MAPPED);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************
|
/*****************************************
|
||||||
@ -3449,7 +3452,7 @@ gtk_widget_real_show (GtkWidget *widget)
|
|||||||
|
|
||||||
if (widget->parent)
|
if (widget->parent)
|
||||||
{
|
{
|
||||||
gtk_widget_queue_resize (widget);
|
gtk_widget_queue_resize (widget->parent);
|
||||||
|
|
||||||
if (GTK_WIDGET_MAPPED (widget->parent))
|
if (GTK_WIDGET_MAPPED (widget->parent))
|
||||||
gtk_widget_map (widget);
|
gtk_widget_map (widget);
|
||||||
|
@ -1464,6 +1464,7 @@ create_handle_box ()
|
|||||||
{
|
{
|
||||||
static GtkWidget* window = NULL;
|
static GtkWidget* window = NULL;
|
||||||
GtkWidget *handle_box;
|
GtkWidget *handle_box;
|
||||||
|
GtkWidget *handle_box2;
|
||||||
GtkWidget *hbox;
|
GtkWidget *hbox;
|
||||||
GtkWidget *toolbar;
|
GtkWidget *toolbar;
|
||||||
GtkWidget *label;
|
GtkWidget *label;
|
||||||
@ -1512,8 +1513,20 @@ create_handle_box ()
|
|||||||
"detached");
|
"detached");
|
||||||
gtk_widget_show (handle_box);
|
gtk_widget_show (handle_box);
|
||||||
|
|
||||||
|
handle_box2 = gtk_handle_box_new ();
|
||||||
|
gtk_container_add (GTK_CONTAINER (handle_box), handle_box2);
|
||||||
|
gtk_signal_connect (GTK_OBJECT (handle_box2),
|
||||||
|
"child_attached",
|
||||||
|
GTK_SIGNAL_FUNC (handle_box_child_signal),
|
||||||
|
"attached");
|
||||||
|
gtk_signal_connect (GTK_OBJECT (handle_box2),
|
||||||
|
"child_detached",
|
||||||
|
GTK_SIGNAL_FUNC (handle_box_child_signal),
|
||||||
|
"detached");
|
||||||
|
gtk_widget_show (handle_box2);
|
||||||
|
|
||||||
label = gtk_label_new ("Fooo!");
|
label = gtk_label_new ("Fooo!");
|
||||||
gtk_container_add (GTK_CONTAINER (handle_box), label);
|
gtk_container_add (GTK_CONTAINER (handle_box2), label);
|
||||||
gtk_widget_show (label);
|
gtk_widget_show (label);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1464,6 +1464,7 @@ create_handle_box ()
|
|||||||
{
|
{
|
||||||
static GtkWidget* window = NULL;
|
static GtkWidget* window = NULL;
|
||||||
GtkWidget *handle_box;
|
GtkWidget *handle_box;
|
||||||
|
GtkWidget *handle_box2;
|
||||||
GtkWidget *hbox;
|
GtkWidget *hbox;
|
||||||
GtkWidget *toolbar;
|
GtkWidget *toolbar;
|
||||||
GtkWidget *label;
|
GtkWidget *label;
|
||||||
@ -1512,8 +1513,20 @@ create_handle_box ()
|
|||||||
"detached");
|
"detached");
|
||||||
gtk_widget_show (handle_box);
|
gtk_widget_show (handle_box);
|
||||||
|
|
||||||
|
handle_box2 = gtk_handle_box_new ();
|
||||||
|
gtk_container_add (GTK_CONTAINER (handle_box), handle_box2);
|
||||||
|
gtk_signal_connect (GTK_OBJECT (handle_box2),
|
||||||
|
"child_attached",
|
||||||
|
GTK_SIGNAL_FUNC (handle_box_child_signal),
|
||||||
|
"attached");
|
||||||
|
gtk_signal_connect (GTK_OBJECT (handle_box2),
|
||||||
|
"child_detached",
|
||||||
|
GTK_SIGNAL_FUNC (handle_box_child_signal),
|
||||||
|
"detached");
|
||||||
|
gtk_widget_show (handle_box2);
|
||||||
|
|
||||||
label = gtk_label_new ("Fooo!");
|
label = gtk_label_new ("Fooo!");
|
||||||
gtk_container_add (GTK_CONTAINER (handle_box), label);
|
gtk_container_add (GTK_CONTAINER (handle_box2), label);
|
||||||
gtk_widget_show (label);
|
gtk_widget_show (label);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user