summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO4
-rw-r--r--gtk/gtkhandlebox.c85
-rw-r--r--gtk/gtktree.c2
-rw-r--r--gtk/testgtk.c4
-rw-r--r--tests/testgtk.c4
5 files changed, 37 insertions, 62 deletions
diff --git a/TODO b/TODO
index a1a3e93383..20df3096f1 100644
--- a/TODO
+++ b/TODO
@@ -10,7 +10,7 @@ BUGS
* Lists should scroll to center the recently selected item if it isn't
visible.
- * Notbook: there are a few cosmetic problems left
+ * Notebook: there are a few cosmetic problems left
* Verticle scrollbar: the expose event looks hosed and is causing
quite a bit of flickering
@@ -70,6 +70,4 @@ Other stuff todo, as of yet not categorized into the above:
code. Maybe GtkStyle's should have 'draw_push_button', 'draw_check_button',
etc, functions to draw the various widgets.
--OffiX drag and drop support
-
-Make all widget attributes configurable after the widget is created.
diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c
index 0a1317e0ea..50ade03b5b 100644
--- a/gtk/gtkhandlebox.c
+++ b/gtk/gtkhandlebox.c
@@ -26,9 +26,9 @@ static void gtk_handle_box_class_init (GtkHandleBoxClass *klass);
static void gtk_handle_box_init (GtkHandleBox *handle_box);
static void gtk_handle_box_realize (GtkWidget *widget);
static void gtk_handle_box_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
+ GtkRequisition *requisition);
static void gtk_handle_box_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
+ GtkAllocation *allocation);
static void gtk_handle_box_paint (GtkWidget *widget,
GdkRectangle *area);
static void gtk_handle_box_draw (GtkWidget *widget,
@@ -146,8 +146,8 @@ gtk_handle_box_size_request (GtkWidget *widget,
bin = GTK_BIN (widget);
hb = GTK_HANDLE_BOX(widget);
- requisition->width = DRAG_HANDLE_SIZE + BORDER_SIZE * 2 + GTK_CONTAINER(widget)->border_width * 2;
- requisition->height = BORDER_SIZE + GTK_CONTAINER(widget)->border_width * 2;
+ requisition->width = DRAG_HANDLE_SIZE + GTK_CONTAINER(widget)->border_width * 2;
+ requisition->height = GTK_CONTAINER(widget)->border_width * 2;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
{
@@ -157,14 +157,9 @@ gtk_handle_box_size_request (GtkWidget *widget,
requisition->height += bin->child->requisition.height;
}
- g_print("New size request is %d x %d\n",
- requisition->width, requisition->height);
-
-#if 0
hb->real_requisition = *requisition;
if(hb->is_onroot)
- requisition->height = 3;
-#endif
+ requisition->height = 3;
}
static void
@@ -183,13 +178,19 @@ gtk_handle_box_size_allocate (GtkWidget *widget,
bin = GTK_BIN (widget);
hb = GTK_HANDLE_BOX(widget);
- g_print("Our allocation is (%d, %d) - %d x %d\n",
- allocation->x, allocation->y,
- allocation->width, allocation->height);
- child_allocation.x = DRAG_HANDLE_SIZE + BORDER_SIZE;
- child_allocation.y = BORDER_SIZE;
- child_allocation.width = allocation->width - DRAG_HANDLE_SIZE - GTK_CONTAINER(widget)->border_width * 2 - BORDER_SIZE * 2;
- child_allocation.height = allocation->height - GTK_CONTAINER(widget)->border_width * 2 - BORDER_SIZE * 2;
+ child_allocation.x = DRAG_HANDLE_SIZE;
+ child_allocation.y = 0;
+
+ if(hb->is_onroot)
+ {
+ child_allocation.width = bin->child->requisition.width;
+ child_allocation.height = bin->child->requisition.height;
+ }
+ else
+ {
+ child_allocation.width = allocation->width - DRAG_HANDLE_SIZE - GTK_CONTAINER(widget)->border_width;
+ child_allocation.height = allocation->height - GTK_CONTAINER(widget)->border_width;
+ }
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
{
@@ -198,25 +199,14 @@ gtk_handle_box_size_allocate (GtkWidget *widget,
if (GTK_WIDGET_REALIZED (widget))
{
- if(hb->is_onroot)
- gdk_window_resize (widget->window,
- child_allocation.width
- + GTK_CONTAINER(widget)->border_width
- + BORDER_SIZE,
- child_allocation.height
- + GTK_CONTAINER(widget)->border_width
- + BORDER_SIZE);
- else
- gdk_window_move_resize (widget->window,
- allocation->x + GTK_CONTAINER(widget)->border_width + BORDER_SIZE,
- allocation->y + GTK_CONTAINER(widget)->border_width + BORDER_SIZE,
- child_allocation.width + GTK_CONTAINER(widget)->border_width + BORDER_SIZE,
- child_allocation.height + GTK_CONTAINER(widget)->border_width + BORDER_SIZE);
+ gdk_window_resize (widget->window,
+ child_allocation.width + DRAG_HANDLE_SIZE,
+ child_allocation.height);
+ if(!hb->is_onroot)
+ gdk_window_move (widget->window,
+ allocation->x + GTK_CONTAINER(widget)->border_width,
+ allocation->y + GTK_CONTAINER(widget)->border_width);
}
-
- g_print("New child allocation is (%d, %d) - %d x %d\n",
- child_allocation.x, child_allocation.y,
- child_allocation.width, child_allocation.height);
}
static void gtk_handle_box_paint(GtkWidget *widget,
@@ -242,19 +232,21 @@ static void gtk_handle_box_paint(GtkWidget *widget,
area->y, line_y2,
x);
- gtk_draw_shadow(widget->style,
- widget->window,
- GTK_WIDGET_STATE(widget),
- GTK_SHADOW_OUT,
- 0, 0,
- widget->allocation.width - 1,
- widget->allocation.height);
+ if(GTK_BIN(widget)->child)
+ gtk_draw_shadow(widget->style,
+ widget->window,
+ GTK_WIDGET_STATE(widget),
+ GTK_SHADOW_OUT,
+ 0, 0,
+ GTK_BIN(widget)->child->requisition.width + DRAG_HANDLE_SIZE,
+ GTK_BIN(widget)->child->requisition.height);
+
if(hb->is_onroot)
gtk_draw_hline(widget->style,
widget->parent->window,
GTK_WIDGET_STATE(widget),
widget->allocation.x,
- widget->allocation.width - widget->allocation.x,
+ widget->allocation.width + widget->allocation.x,
widget->allocation.y);
}
@@ -318,7 +310,6 @@ gtk_handle_box_get_parent_position(GtkWidget *widget,
gdk_window_get_origin(widget->parent->window, x, y);
*x += widget->allocation.x;
*y += widget->allocation.y;
- g_print("Position is %d x %d\n", *x, *y);
}
static gint
@@ -342,7 +333,6 @@ gtk_handle_box_button_changed(GtkWidget *widget,
&parentx,
&parenty);
hb->is_being_dragged = TRUE;
- g_print("Grabbing\n");
gdk_pointer_grab(widget->window,
TRUE,
GDK_POINTER_MOTION_MASK
@@ -353,7 +343,6 @@ gtk_handle_box_button_changed(GtkWidget *widget,
}
else if(event->type == GDK_BUTTON_RELEASE)
{
- g_print("Ungrabbing\n");
gdk_pointer_ungrab(GDK_CURRENT_TIME);
hb->is_being_dragged = FALSE;
}
@@ -372,15 +361,12 @@ gtk_handle_box_reparent (GtkWidget *widget,
if(in_root)
{
GTK_HANDLE_BOX(widget)->is_onroot = TRUE;
- g_print("Reparenting to root\n");
gdk_window_set_override_redirect(widget->window, TRUE);
gdk_window_reparent(widget->window, GDK_ROOT_PARENT(),
parentx,
parenty);
gdk_window_raise(widget->window);
-#if 0
widget->requisition = hb->real_requisition;
-#endif
gtk_widget_queue_resize(widget->parent);
gdk_pointer_ungrab(GDK_CURRENT_TIME);
gdk_pointer_grab(widget->window,
@@ -394,7 +380,6 @@ gtk_handle_box_reparent (GtkWidget *widget,
else
{
GTK_HANDLE_BOX(widget)->is_onroot = FALSE;
- g_print("Reparenting to parent %#x\n", (gint)(widget->parent->window));
gdk_window_reparent(widget->window, widget->parent->window,
widget->allocation.x, widget->allocation.y);
widget->requisition.height = 3;
diff --git a/gtk/gtktree.c b/gtk/gtktree.c
index 42dd07fde9..512d4a491e 100644
--- a/gtk/gtktree.c
+++ b/gtk/gtktree.c
@@ -270,7 +270,7 @@ gtk_tree_add (GtkContainer *container,
tree->children = g_list_append (tree->children, widget);
-#ifdef 0
+#if 0
if (!tree->selection && (tree->selection_mode == GTK_SELECTION_BROWSE))
{
gtk_tree_select_child (tree, widget);
diff --git a/gtk/testgtk.c b/gtk/testgtk.c
index 15d5d52fdc..5aaaa0293f 100644
--- a/gtk/testgtk.c
+++ b/gtk/testgtk.c
@@ -805,12 +805,8 @@ create_handle_box ()
gtk_container_border_width (GTK_CONTAINER (window), 20);
- /*
- *these 15 lines are a nice and easy example for GtkHButtonBox
- */
hbox = gtk_handle_box_new ();
gtk_container_add (GTK_CONTAINER (window), hbox);
- gtk_widget_set_usize(hbox, 300, 40);
gtk_widget_show (hbox);
#if 0
#if 0
diff --git a/tests/testgtk.c b/tests/testgtk.c
index 15d5d52fdc..5aaaa0293f 100644
--- a/tests/testgtk.c
+++ b/tests/testgtk.c
@@ -805,12 +805,8 @@ create_handle_box ()
gtk_container_border_width (GTK_CONTAINER (window), 20);
- /*
- *these 15 lines are a nice and easy example for GtkHButtonBox
- */
hbox = gtk_handle_box_new ();
gtk_container_add (GTK_CONTAINER (window), hbox);
- gtk_widget_set_usize(hbox, 300, 40);
gtk_widget_show (hbox);
#if 0
#if 0