summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog53
-rw-r--r--ChangeLog.pre-2-053
-rw-r--r--ChangeLog.pre-2-1053
-rw-r--r--ChangeLog.pre-2-253
-rw-r--r--ChangeLog.pre-2-453
-rw-r--r--ChangeLog.pre-2-653
-rw-r--r--ChangeLog.pre-2-853
-rw-r--r--configure.in4
-rw-r--r--gtk/gtkclist.c28
-rw-r--r--gtk/gtkclist.h6
-rw-r--r--gtk/gtklayout.c11
-rw-r--r--gtk/gtklayout.h6
-rw-r--r--gtk/gtknotebook.c6
-rw-r--r--gtk/gtknotebook.h6
-rw-r--r--gtk/gtkobject.c2
-rw-r--r--gtk/gtkscrolledwindow.c104
-rw-r--r--gtk/gtktext.c8
-rw-r--r--gtk/gtktext.h6
-rw-r--r--gtk/gtkviewport.c22
-rw-r--r--gtk/gtkviewport.h6
-rw-r--r--gtk/gtkwidget.c12
-rw-r--r--gtk/gtkwidget.h14
-rw-r--r--gtk/gtkwindow.c19
23 files changed, 539 insertions, 92 deletions
diff --git a/ChangeLog b/ChangeLog
index 3b9ae736ca..addd605590 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,56 @@
+Wed Dec 2 01:39:02 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtknotebook.h:
+ * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
+
+ * incremented version number to 1.1.6 and made Gtk
+ dependant on GLib 1.1.6.
+
+ * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
+ from guint16 to gint16, since sizes bigger than 32767 are not supported
+ anyways, and aritmethics with intermediate negative values are possible
+ now.
+
+Tue Dec 1 00:00:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkscrolledwindow.c:
+ implementation of GTK_POLICY_NEVER functionality, added rationales
+ on the policy and size requisition handling at the top.
+ (gtk_scrolled_window_size_request):
+ we assume a default minimum for our child's width and height
+ if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
+ specified the dimension explicitely.
+ (gtk_scrolled_window_size_allocate):
+ do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
+
+ * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
+ size we require (including the child).
+
+ * gtk/gtkclist.c:
+ (gtk_clist_size_request): report the real size required.
+
+ * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
+
+ * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
+ need to be a static variable.
+
+Mon Nov 30 22:41:25 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkclist.h:
+ * gtk/gtkclist.c:
+ * gtk/gtkviewport.h:
+ * gtk/gtkviewport.c:
+ * gtk/gtktext.h:
+ * gtk/gtktext.c:
+ * gtk/gtklayout.h:
+ * gtk/gtklayout.c:
+ * gtk/gtkwidget.h:
+ * gtk/gtkwidget.c:
+ * gtk/gtkscrolledwindow.h:
+ * gtk/gtkscrolledwindow.c:
+ s/scroll_adjustements/scroll_adjustments/
+ s/scroll_adjustments/set_scroll_adjustments/g
+
Tue Dec 1 22:45:58 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 3b9ae736ca..addd605590 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,56 @@
+Wed Dec 2 01:39:02 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtknotebook.h:
+ * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
+
+ * incremented version number to 1.1.6 and made Gtk
+ dependant on GLib 1.1.6.
+
+ * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
+ from guint16 to gint16, since sizes bigger than 32767 are not supported
+ anyways, and aritmethics with intermediate negative values are possible
+ now.
+
+Tue Dec 1 00:00:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkscrolledwindow.c:
+ implementation of GTK_POLICY_NEVER functionality, added rationales
+ on the policy and size requisition handling at the top.
+ (gtk_scrolled_window_size_request):
+ we assume a default minimum for our child's width and height
+ if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
+ specified the dimension explicitely.
+ (gtk_scrolled_window_size_allocate):
+ do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
+
+ * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
+ size we require (including the child).
+
+ * gtk/gtkclist.c:
+ (gtk_clist_size_request): report the real size required.
+
+ * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
+
+ * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
+ need to be a static variable.
+
+Mon Nov 30 22:41:25 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkclist.h:
+ * gtk/gtkclist.c:
+ * gtk/gtkviewport.h:
+ * gtk/gtkviewport.c:
+ * gtk/gtktext.h:
+ * gtk/gtktext.c:
+ * gtk/gtklayout.h:
+ * gtk/gtklayout.c:
+ * gtk/gtkwidget.h:
+ * gtk/gtkwidget.c:
+ * gtk/gtkscrolledwindow.h:
+ * gtk/gtkscrolledwindow.c:
+ s/scroll_adjustements/scroll_adjustments/
+ s/scroll_adjustments/set_scroll_adjustments/g
+
Tue Dec 1 22:45:58 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 3b9ae736ca..addd605590 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,56 @@
+Wed Dec 2 01:39:02 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtknotebook.h:
+ * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
+
+ * incremented version number to 1.1.6 and made Gtk
+ dependant on GLib 1.1.6.
+
+ * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
+ from guint16 to gint16, since sizes bigger than 32767 are not supported
+ anyways, and aritmethics with intermediate negative values are possible
+ now.
+
+Tue Dec 1 00:00:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkscrolledwindow.c:
+ implementation of GTK_POLICY_NEVER functionality, added rationales
+ on the policy and size requisition handling at the top.
+ (gtk_scrolled_window_size_request):
+ we assume a default minimum for our child's width and height
+ if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
+ specified the dimension explicitely.
+ (gtk_scrolled_window_size_allocate):
+ do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
+
+ * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
+ size we require (including the child).
+
+ * gtk/gtkclist.c:
+ (gtk_clist_size_request): report the real size required.
+
+ * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
+
+ * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
+ need to be a static variable.
+
+Mon Nov 30 22:41:25 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkclist.h:
+ * gtk/gtkclist.c:
+ * gtk/gtkviewport.h:
+ * gtk/gtkviewport.c:
+ * gtk/gtktext.h:
+ * gtk/gtktext.c:
+ * gtk/gtklayout.h:
+ * gtk/gtklayout.c:
+ * gtk/gtkwidget.h:
+ * gtk/gtkwidget.c:
+ * gtk/gtkscrolledwindow.h:
+ * gtk/gtkscrolledwindow.c:
+ s/scroll_adjustements/scroll_adjustments/
+ s/scroll_adjustments/set_scroll_adjustments/g
+
Tue Dec 1 22:45:58 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 3b9ae736ca..addd605590 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,56 @@
+Wed Dec 2 01:39:02 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtknotebook.h:
+ * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
+
+ * incremented version number to 1.1.6 and made Gtk
+ dependant on GLib 1.1.6.
+
+ * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
+ from guint16 to gint16, since sizes bigger than 32767 are not supported
+ anyways, and aritmethics with intermediate negative values are possible
+ now.
+
+Tue Dec 1 00:00:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkscrolledwindow.c:
+ implementation of GTK_POLICY_NEVER functionality, added rationales
+ on the policy and size requisition handling at the top.
+ (gtk_scrolled_window_size_request):
+ we assume a default minimum for our child's width and height
+ if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
+ specified the dimension explicitely.
+ (gtk_scrolled_window_size_allocate):
+ do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
+
+ * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
+ size we require (including the child).
+
+ * gtk/gtkclist.c:
+ (gtk_clist_size_request): report the real size required.
+
+ * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
+
+ * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
+ need to be a static variable.
+
+Mon Nov 30 22:41:25 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkclist.h:
+ * gtk/gtkclist.c:
+ * gtk/gtkviewport.h:
+ * gtk/gtkviewport.c:
+ * gtk/gtktext.h:
+ * gtk/gtktext.c:
+ * gtk/gtklayout.h:
+ * gtk/gtklayout.c:
+ * gtk/gtkwidget.h:
+ * gtk/gtkwidget.c:
+ * gtk/gtkscrolledwindow.h:
+ * gtk/gtkscrolledwindow.c:
+ s/scroll_adjustements/scroll_adjustments/
+ s/scroll_adjustments/set_scroll_adjustments/g
+
Tue Dec 1 22:45:58 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 3b9ae736ca..addd605590 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,56 @@
+Wed Dec 2 01:39:02 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtknotebook.h:
+ * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
+
+ * incremented version number to 1.1.6 and made Gtk
+ dependant on GLib 1.1.6.
+
+ * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
+ from guint16 to gint16, since sizes bigger than 32767 are not supported
+ anyways, and aritmethics with intermediate negative values are possible
+ now.
+
+Tue Dec 1 00:00:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkscrolledwindow.c:
+ implementation of GTK_POLICY_NEVER functionality, added rationales
+ on the policy and size requisition handling at the top.
+ (gtk_scrolled_window_size_request):
+ we assume a default minimum for our child's width and height
+ if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
+ specified the dimension explicitely.
+ (gtk_scrolled_window_size_allocate):
+ do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
+
+ * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
+ size we require (including the child).
+
+ * gtk/gtkclist.c:
+ (gtk_clist_size_request): report the real size required.
+
+ * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
+
+ * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
+ need to be a static variable.
+
+Mon Nov 30 22:41:25 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkclist.h:
+ * gtk/gtkclist.c:
+ * gtk/gtkviewport.h:
+ * gtk/gtkviewport.c:
+ * gtk/gtktext.h:
+ * gtk/gtktext.c:
+ * gtk/gtklayout.h:
+ * gtk/gtklayout.c:
+ * gtk/gtkwidget.h:
+ * gtk/gtkwidget.c:
+ * gtk/gtkscrolledwindow.h:
+ * gtk/gtkscrolledwindow.c:
+ s/scroll_adjustements/scroll_adjustments/
+ s/scroll_adjustments/set_scroll_adjustments/g
+
Tue Dec 1 22:45:58 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 3b9ae736ca..addd605590 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,56 @@
+Wed Dec 2 01:39:02 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtknotebook.h:
+ * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
+
+ * incremented version number to 1.1.6 and made Gtk
+ dependant on GLib 1.1.6.
+
+ * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
+ from guint16 to gint16, since sizes bigger than 32767 are not supported
+ anyways, and aritmethics with intermediate negative values are possible
+ now.
+
+Tue Dec 1 00:00:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkscrolledwindow.c:
+ implementation of GTK_POLICY_NEVER functionality, added rationales
+ on the policy and size requisition handling at the top.
+ (gtk_scrolled_window_size_request):
+ we assume a default minimum for our child's width and height
+ if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
+ specified the dimension explicitely.
+ (gtk_scrolled_window_size_allocate):
+ do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
+
+ * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
+ size we require (including the child).
+
+ * gtk/gtkclist.c:
+ (gtk_clist_size_request): report the real size required.
+
+ * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
+
+ * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
+ need to be a static variable.
+
+Mon Nov 30 22:41:25 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkclist.h:
+ * gtk/gtkclist.c:
+ * gtk/gtkviewport.h:
+ * gtk/gtkviewport.c:
+ * gtk/gtktext.h:
+ * gtk/gtktext.c:
+ * gtk/gtklayout.h:
+ * gtk/gtklayout.c:
+ * gtk/gtkwidget.h:
+ * gtk/gtkwidget.c:
+ * gtk/gtkscrolledwindow.h:
+ * gtk/gtkscrolledwindow.c:
+ s/scroll_adjustements/scroll_adjustments/
+ s/scroll_adjustments/set_scroll_adjustments/g
+
Tue Dec 1 22:45:58 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 3b9ae736ca..addd605590 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,56 @@
+Wed Dec 2 01:39:02 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtknotebook.h:
+ * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
+
+ * incremented version number to 1.1.6 and made Gtk
+ dependant on GLib 1.1.6.
+
+ * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
+ from guint16 to gint16, since sizes bigger than 32767 are not supported
+ anyways, and aritmethics with intermediate negative values are possible
+ now.
+
+Tue Dec 1 00:00:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkscrolledwindow.c:
+ implementation of GTK_POLICY_NEVER functionality, added rationales
+ on the policy and size requisition handling at the top.
+ (gtk_scrolled_window_size_request):
+ we assume a default minimum for our child's width and height
+ if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
+ specified the dimension explicitely.
+ (gtk_scrolled_window_size_allocate):
+ do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
+
+ * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
+ size we require (including the child).
+
+ * gtk/gtkclist.c:
+ (gtk_clist_size_request): report the real size required.
+
+ * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
+
+ * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
+ need to be a static variable.
+
+Mon Nov 30 22:41:25 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkclist.h:
+ * gtk/gtkclist.c:
+ * gtk/gtkviewport.h:
+ * gtk/gtkviewport.c:
+ * gtk/gtktext.h:
+ * gtk/gtktext.c:
+ * gtk/gtklayout.h:
+ * gtk/gtklayout.c:
+ * gtk/gtkwidget.h:
+ * gtk/gtkwidget.c:
+ * gtk/gtkscrolledwindow.h:
+ * gtk/gtkscrolledwindow.c:
+ s/scroll_adjustements/scroll_adjustments/
+ s/scroll_adjustments/set_scroll_adjustments/g
+
Tue Dec 1 22:45:58 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
diff --git a/configure.in b/configure.in
index 3d01e851d3..a2870a575f 100644
--- a/configure.in
+++ b/configure.in
@@ -14,7 +14,7 @@ cflags_set=${CFLAGS+set}
#
GTK_MAJOR_VERSION=1
GTK_MINOR_VERSION=1
-GTK_MICRO_VERSION=5
+GTK_MICRO_VERSION=6
GTK_INTERFACE_AGE=0
GTK_BINARY_AGE=0
GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
@@ -175,7 +175,7 @@ fi
if test x$with_glib = x ; then
# Look for separately installed glib
- AM_PATH_GLIB(1.1.5,,
+ AM_PATH_GLIB(1.1.6,,
AC_MSG_ERROR([
*** GLIB 1.1.5 or better is required. The latest version of GLIB
*** is always available from ftp://ftp.gtk.org.]),
diff --git a/gtk/gtkclist.c b/gtk/gtkclist.c
index ae6a924b0d..a463ab3b84 100644
--- a/gtk/gtkclist.c
+++ b/gtk/gtkclist.c
@@ -171,9 +171,9 @@ static void gtk_clist_get_arg (GtkObject *object,
guint arg_id);
/* GtkWidget Methods */
-static void gtk_clist_scroll_adjustments (GtkCList *clist,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment);
+static void gtk_clist_set_scroll_adjustments (GtkCList *clist,
+ GtkAdjustment *hadjustment,
+ GtkAdjustment *vadjustment);
static void gtk_clist_realize (GtkWidget *widget);
static void gtk_clist_unrealize (GtkWidget *widget);
static void gtk_clist_map (GtkWidget *widget);
@@ -450,11 +450,11 @@ gtk_clist_class_init (GtkCListClass *klass)
object_class->finalize = gtk_clist_finalize;
- widget_class->scroll_adjustments_signal =
- gtk_signal_new ("scroll_adjustments",
+ widget_class->set_scroll_adjustments_signal =
+ gtk_signal_new ("set_scroll_adjustments",
GTK_RUN_LAST,
object_class->type,
- GTK_SIGNAL_OFFSET (GtkCListClass, scroll_adjustments),
+ GTK_SIGNAL_OFFSET (GtkCListClass, set_scroll_adjustments),
gtk_marshal_NONE__POINTER_POINTER,
GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
@@ -602,7 +602,7 @@ gtk_clist_class_init (GtkCListClass *klass)
container_class->focus = gtk_clist_focus;
container_class->set_focus_child = gtk_clist_set_focus_child;
- klass->scroll_adjustments = gtk_clist_scroll_adjustments;
+ klass->set_scroll_adjustments = gtk_clist_set_scroll_adjustments;
klass->refresh = clist_refresh;
klass->select_row = real_select_row;
klass->unselect_row = real_unselect_row;
@@ -1138,9 +1138,9 @@ gtk_clist_get_vadjustment (GtkCList *clist)
}
static void
-gtk_clist_scroll_adjustments (GtkCList *clist,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment)
+gtk_clist_set_scroll_adjustments (GtkCList *clist,
+ GtkAdjustment *hadjustment,
+ GtkAdjustment *vadjustment)
{
if (clist->hadjustment != hadjustment)
gtk_clist_set_hadjustment (clist, hadjustment);
@@ -5271,10 +5271,10 @@ gtk_clist_size_request (GtkWidget *widget,
(widget->style->klass->ythickness +
GTK_CONTAINER (widget)->border_width) * 2);
- if (!clist->hadjustment)
- requisition->width += list_requisition_width (clist);
- if (!clist->vadjustment)
- requisition->height += LIST_HEIGHT (clist);
+ /* if (!clist->hadjustment) */
+ requisition->width += list_requisition_width (clist);
+ /* if (!clist->vadjustment) */
+ requisition->height += LIST_HEIGHT (clist);
}
static void
diff --git a/gtk/gtkclist.h b/gtk/gtkclist.h
index fb79d82fc7..548f591f0f 100644
--- a/gtk/gtkclist.h
+++ b/gtk/gtkclist.h
@@ -189,9 +189,9 @@ struct _GtkCListClass
{
GtkContainerClass parent_class;
- void (*scroll_adjustments) (GtkCList *clist,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment);
+ void (*set_scroll_adjustments) (GtkCList *clist,
+ GtkAdjustment *hadjustment,
+ GtkAdjustment *vadjustment);
void (*refresh) (GtkCList *clist);
void (*select_row) (GtkCList *clist,
gint row,
diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c
index 4702f9b33f..c19adfdef1 100644
--- a/gtk/gtklayout.c
+++ b/gtk/gtklayout.c
@@ -343,11 +343,11 @@ gtk_layout_class_init (GtkLayoutClass *class)
widget_class->draw = gtk_layout_draw;
widget_class->expose_event = gtk_layout_expose;
- widget_class->scroll_adjustments_signal =
- gtk_signal_new ("scroll_adjustments",
+ widget_class->set_scroll_adjustments_signal =
+ gtk_signal_new ("set_scroll_adjustments",
GTK_RUN_LAST,
object_class->type,
- GTK_SIGNAL_OFFSET (GtkLayoutClass, scroll_adjustments),
+ GTK_SIGNAL_OFFSET (GtkLayoutClass, set_scroll_adjustments),
gtk_marshal_NONE__POINTER_POINTER,
GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
@@ -356,7 +356,7 @@ gtk_layout_class_init (GtkLayoutClass *class)
container_class->remove = gtk_layout_remove;
container_class->forall = gtk_layout_forall;
- class->scroll_adjustments = gtk_layout_set_adjustments;
+ class->set_scroll_adjustments = gtk_layout_set_adjustments;
}
static void
@@ -532,6 +532,9 @@ gtk_layout_size_request (GtkWidget *widget,
layout = GTK_LAYOUT (widget);
+ requisition->width = 0;
+ requisition->height = 0;
+
tmp_list = layout->children;
while (tmp_list)
diff --git a/gtk/gtklayout.h b/gtk/gtklayout.h
index 9ec2812fa3..c7ca1d5ff0 100644
--- a/gtk/gtklayout.h
+++ b/gtk/gtklayout.h
@@ -77,9 +77,9 @@ struct _GtkLayout {
struct _GtkLayoutClass {
GtkContainerClass parent_class;
- void (*scroll_adjustments) (GtkLayout *text,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment);
+ void (*set_scroll_adjustments) (GtkLayout *layout,
+ GtkAdjustment *hadjustment,
+ GtkAdjustment *vadjustment);
};
GtkType gtk_layout_get_type (void);
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index dd861291c8..1ab5da6f28 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -3565,9 +3565,9 @@ gtk_notebook_get_current_page (GtkNotebook *notebook)
return g_list_index (notebook->children, notebook->cur_page);
}
-GtkWidget *
-gtk_notebook_nth_page (GtkNotebook *notebook,
- gint page_num)
+GtkWidget*
+gtk_notebook_get_nth_page (GtkNotebook *notebook,
+ gint page_num)
{
GtkNotebookPage *page;
diff --git a/gtk/gtknotebook.h b/gtk/gtknotebook.h
index 9bc478c02a..c502a50e6a 100644
--- a/gtk/gtknotebook.h
+++ b/gtk/gtknotebook.h
@@ -132,9 +132,9 @@ void gtk_notebook_remove_page (GtkNotebook *notebook,
* query, set current NoteebookPage *
***********************************************************/
-gint gtk_notebook_get_current_page (GtkNotebook *notebook);
-GtkWidget * gtk_notebook_nth_page (GtkNotebook *notebook,
- gint page_num);
+gint gtk_notebook_get_current_page (GtkNotebook *notebook);
+GtkWidget* gtk_notebook_get_nth_page (GtkNotebook *notebook,
+ gint page_num);
gint gtk_notebook_page_num (GtkNotebook *notebook,
GtkWidget *child);
void gtk_notebook_set_page (GtkNotebook *notebook,
diff --git a/gtk/gtkobject.c b/gtk/gtkobject.c
index aacdbfd12b..dfa8f0c29c 100644
--- a/gtk/gtkobject.c
+++ b/gtk/gtkobject.c
@@ -96,7 +96,6 @@ gtk_object_debug (void)
void
gtk_object_init_type (void)
{
- static GtkType object_type = 0;
static const GtkTypeInfo object_info =
{
"GtkObject",
@@ -108,6 +107,7 @@ gtk_object_init_type (void)
/* reserved_2 */ NULL,
(GtkClassInitFunc) gtk_object_base_class_init,
};
+ GtkType object_type;
object_type = gtk_type_unique (0, &object_info);
g_assert (object_type == GTK_TYPE_OBJECT);
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index c447aaa9f7..760964c520 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -20,6 +20,41 @@
#include "gtksignal.h"
+/* scrolled window policy and size requisition handling:
+ *
+ * gtk size requisition works as follows:
+ * a widget upon size-request reports the width and height that it finds
+ * to be best suited to display its contents, including children.
+ * the width and/or height reported from a widget upon size requisition
+ * may be overidden by the user by specifying a width and/or height
+ * other than 0 through gtk_widget_set_usize().
+ *
+ * a scrolled window needs (for imlementing all three policy types) to
+ * request its width and height based on two different rationales.
+ * 1) the user wants the scrolled window to just fit into the space
+ * that it gets allocated for a specifc dimension.
+ * 1.1) this does not apply if the user specified a concrete value
+ * value for that specific dimension by either specifying usize for the
+ * scrolled window or for its child.
+ * 2) the user wants the scrolled window to take as much space up as
+ * is desired by the child for a specifc dimension (i.e. POLICY_NEVER).
+ *
+ * also, kinda obvious:
+ * 3) a user would certainly not have choosen a scrolled window as a container
+ * for the child, if the resulting allocation takes up more space than the
+ * child would have allocated without the scrolled window.
+ *
+ * conclusions:
+ * A) from 1) follows: the scrolled window shouldn't request more space for a
+ * specifc dimension than is required at minimum.
+ * B) from 1.1) follows: the requisition may be overidden by usize of the scrolled
+ * window (done automatically) or by usize of the child (needs to be checked).
+ * C) from 2) follows: for POLICY_NEVER, the scrolled window simply reports the
+ * child's dimension.
+ * D) from 3) follows: the scrolled window child's minimum width and minimum height
+ * under A) at least correspond to the space taken up by its scrollbars.
+ */
+
#define SCROLLBAR_SPACING(w) (GTK_SCROLLED_WINDOW_CLASS (GTK_OBJECT (w)->klass)->scrollbar_spacing)
enum {
@@ -306,9 +341,9 @@ gtk_scrolled_window_set_hadjustment (GtkScrolledWindow *scrolled_window,
gtk_scrolled_window_adjustment_changed (hadjustment, scrolled_window);
if (bin->child)
- gtk_widget_scroll_adjustements (bin->child,
- gtk_range_get_adjustment (GTK_RANGE (scrolled_window->hscrollbar)),
- gtk_range_get_adjustment (GTK_RANGE (scrolled_window->vscrollbar)));
+ gtk_widget_set_scroll_adjustments (bin->child,
+ gtk_range_get_adjustment (GTK_RANGE (scrolled_window->hscrollbar)),
+ gtk_range_get_adjustment (GTK_RANGE (scrolled_window->vscrollbar)));
}
void
@@ -359,9 +394,9 @@ gtk_scrolled_window_set_vadjustment (GtkScrolledWindow *scrolled_window,
gtk_scrolled_window_adjustment_changed (vadjustment, scrolled_window);
if (bin->child)
- gtk_widget_scroll_adjustements (bin->child,
- gtk_range_get_adjustment (GTK_RANGE (scrolled_window->hscrollbar)),
- gtk_range_get_adjustment (GTK_RANGE (scrolled_window->vscrollbar)));
+ gtk_widget_set_scroll_adjustments (bin->child,
+ gtk_range_get_adjustment (GTK_RANGE (scrolled_window->hscrollbar)),
+ gtk_range_get_adjustment (GTK_RANGE (scrolled_window->vscrollbar)));
}
GtkAdjustment*
@@ -565,13 +600,46 @@ gtk_scrolled_window_size_request (GtkWidget *widget,
requisition->width = 0;
requisition->height = 0;
-
+
+ gtk_widget_size_request (scrolled_window->hscrollbar,
+ &scrolled_window->hscrollbar->requisition);
+ gtk_widget_size_request (scrolled_window->vscrollbar,
+ &scrolled_window->vscrollbar->requisition);
+
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
{
+ static guint quark_aux_info = 0;
+
+ if (!quark_aux_info)
+ quark_aux_info = g_quark_from_static_string ("gtk-aux-info");
+
gtk_widget_size_request (bin->child, &bin->child->requisition);
- requisition->width += bin->child->requisition.width;
- requisition->height += bin->child->requisition.height;
+ if (scrolled_window->hscrollbar_policy == GTK_POLICY_NEVER)
+ requisition->width += bin->child->requisition.width;
+ else
+ {
+ GtkWidgetAuxInfo *aux_info;
+
+ aux_info = gtk_object_get_data_by_id (GTK_OBJECT (bin->child), quark_aux_info);
+ if (aux_info && aux_info->width > 0)
+ requisition->width += aux_info->width;
+ else
+ requisition->width += scrolled_window->vscrollbar->requisition.width;
+ }
+
+ if (scrolled_window->vscrollbar_policy == GTK_POLICY_NEVER)
+ requisition->height += bin->child->requisition.height;
+ else
+ {
+ GtkWidgetAuxInfo *aux_info;
+
+ aux_info = gtk_object_get_data_by_id (GTK_OBJECT (bin->child), quark_aux_info);
+ if (aux_info && aux_info->height > 0)
+ requisition->height += aux_info->height;
+ else
+ requisition->height += scrolled_window->hscrollbar->requisition.height;
+ }
}
extra_width = 0;
@@ -580,9 +648,6 @@ gtk_scrolled_window_size_request (GtkWidget *widget,
if ((scrolled_window->hscrollbar_policy == GTK_POLICY_AUTOMATIC) ||
GTK_WIDGET_VISIBLE (scrolled_window->hscrollbar))
{
- gtk_widget_size_request (scrolled_window->hscrollbar,
- &scrolled_window->hscrollbar->requisition);
-
requisition->width = MAX (requisition->width, scrolled_window->hscrollbar->requisition.width);
extra_height = SCROLLBAR_SPACING (scrolled_window) + scrolled_window->hscrollbar->requisition.height;
}
@@ -590,9 +655,6 @@ gtk_scrolled_window_size_request (GtkWidget *widget,
if ((scrolled_window->vscrollbar_policy == GTK_POLICY_AUTOMATIC) ||
GTK_WIDGET_VISIBLE (scrolled_window->vscrollbar))
{
- gtk_widget_size_request (scrolled_window->vscrollbar,
- &scrolled_window->vscrollbar->requisition);
-
requisition->height = MAX (requisition->height, scrolled_window->vscrollbar->requisition.height);
extra_width = SCROLLBAR_SPACING (scrolled_window) + scrolled_window->vscrollbar->requisition.width;
}
@@ -661,8 +723,12 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget,
if (scrolled_window->hscrollbar_policy == GTK_POLICY_ALWAYS)
scrolled_window->hscrollbar_visible = TRUE;
+ else if (scrolled_window->hscrollbar_policy == GTK_POLICY_NEVER)
+ scrolled_window->hscrollbar_visible = FALSE;
if (scrolled_window->vscrollbar_policy == GTK_POLICY_ALWAYS)
scrolled_window->vscrollbar_visible = TRUE;
+ else if (scrolled_window->vscrollbar_policy == GTK_POLICY_NEVER)
+ scrolled_window->vscrollbar_visible = FALSE;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
{
@@ -813,9 +879,9 @@ gtk_scrolled_window_add (GtkContainer *container,
bin->child = child;
/* this is a temporary message */
- if (!gtk_widget_scroll_adjustements (child,
- gtk_range_get_adjustment (GTK_RANGE (scrolled_window->hscrollbar)),
- gtk_range_get_adjustment (GTK_RANGE (scrolled_window->vscrollbar))))
+ if (!gtk_widget_set_scroll_adjustments (child,
+ gtk_range_get_adjustment (GTK_RANGE (scrolled_window->hscrollbar)),
+ gtk_range_get_adjustment (GTK_RANGE (scrolled_window->vscrollbar))))
g_message ("gtk_scrolled_window_add(): cannot add non scrollable widget "
"use gtk_scrolled_window_add_with_viewport() instead");
@@ -843,7 +909,7 @@ gtk_scrolled_window_remove (GtkContainer *container,
g_return_if_fail (child != NULL);
g_return_if_fail (GTK_BIN (container)->child == child);
- gtk_widget_scroll_adjustements (child, NULL, NULL);
+ gtk_widget_set_scroll_adjustments (child, NULL, NULL);
/* chain parent class handler to remove child */
GTK_CONTAINER_CLASS (parent_class)->remove (container, child);
diff --git a/gtk/gtktext.c b/gtk/gtktext.c
index ee6833dcaf..18281ccd18 100644
--- a/gtk/gtktext.c
+++ b/gtk/gtktext.c
@@ -571,11 +571,11 @@ gtk_text_class_init (GtkTextClass *class)
widget_class->focus_in_event = gtk_text_focus_in;
widget_class->focus_out_event = gtk_text_focus_out;
- widget_class->scroll_adjustments_signal =
- gtk_signal_new ("scroll_adjustments",
+ widget_class->set_scroll_adjustments_signal =
+ gtk_signal_new ("set_scroll_adjustments",
GTK_RUN_LAST,
object_class->type,
- GTK_SIGNAL_OFFSET (GtkTextClass, scroll_adjustments),
+ GTK_SIGNAL_OFFSET (GtkTextClass, set_scroll_adjustments),
gtk_marshal_NONE__POINTER_POINTER,
GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
@@ -598,7 +598,7 @@ gtk_text_class_init (GtkTextClass *class)
editable_class->set_selection = gtk_text_set_selection;
editable_class->set_position = gtk_text_set_position;
- class->scroll_adjustments = gtk_text_set_adjustments;
+ class->set_scroll_adjustments = gtk_text_set_adjustments;
}
static void
diff --git a/gtk/gtktext.h b/gtk/gtktext.h
index 5b576fc981..4ba138614b 100644
--- a/gtk/gtktext.h
+++ b/gtk/gtktext.h
@@ -157,9 +157,9 @@ struct _GtkTextClass
{
GtkEditableClass parent_class;
- void (*scroll_adjustments) (GtkText *text,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment);
+ void (*set_scroll_adjustments) (GtkText *text,
+ GtkAdjustment *hadjustment,
+ GtkAdjustment *vadjustment);
};
diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c
index 504b8f092f..80e7e6383d 100644
--- a/gtk/gtkviewport.c
+++ b/gtk/gtkviewport.c
@@ -37,7 +37,7 @@ static void gtk_viewport_set_arg (GtkObject *object,
static void gtk_viewport_get_arg (GtkObject *object,
GtkArg *arg,
guint arg_id);
-static void gtk_viewport_scroll_adjustments (GtkViewport *viewport,
+static void gtk_viewport_set_scroll_adjustments (GtkViewport *viewport,
GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment);
static void gtk_viewport_map (GtkWidget *widget);
@@ -130,17 +130,17 @@ gtk_viewport_class_init (GtkViewportClass *class)
widget_class->size_allocate = gtk_viewport_size_allocate;
widget_class->style_set = gtk_viewport_style_set;
- widget_class->scroll_adjustments_signal =
- gtk_signal_new ("scroll_adjustments",
+ widget_class->set_scroll_adjustments_signal =
+ gtk_signal_new ("set_scroll_adjustments",
GTK_RUN_LAST,
object_class->type,
- GTK_SIGNAL_OFFSET (GtkViewportClass, scroll_adjustments),
+ GTK_SIGNAL_OFFSET (GtkViewportClass, set_scroll_adjustments),
gtk_marshal_NONE__POINTER_POINTER,
GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
container_class->add = gtk_viewport_add;
- class->scroll_adjustments = gtk_viewport_scroll_adjustments;
+ class->set_scroll_adjustments = gtk_viewport_set_scroll_adjustments;
}
static void
@@ -341,9 +341,9 @@ gtk_viewport_set_vadjustment (GtkViewport *viewport,
}
static void
-gtk_viewport_scroll_adjustments (GtkViewport *viewport,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment)
+gtk_viewport_set_scroll_adjustments (GtkViewport *viewport,
+ GtkAdjustment *hadjustment,
+ GtkAdjustment *vadjustment)
{
if (viewport->hadjustment != hadjustment)
gtk_viewport_set_hadjustment (viewport, hadjustment);
@@ -636,7 +636,11 @@ gtk_viewport_size_request (GtkWidget *widget,
GTK_WIDGET (widget)->style->klass->ythickness) * 2 + 5;
if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
- gtk_widget_size_request (bin->child, &bin->child->requisition);
+ {
+ gtk_widget_size_request (bin->child, &bin->child->requisition);
+ requisition->width += bin->child->requisition.width;
+ requisition->height += bin->child->requisition.height;
+ }
}
static void
diff --git a/gtk/gtkviewport.h b/gtk/gtkviewport.h
index 3bd87fae3a..22d95ea429 100644
--- a/gtk/gtkviewport.h
+++ b/gtk/gtkviewport.h
@@ -55,9 +55,9 @@ struct _GtkViewportClass
{
GtkBinClass parent_class;
- void (*scroll_adjustments) (GtkViewport *viewport,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment);
+ void (*set_scroll_adjustments) (GtkViewport *viewport,
+ GtkAdjustment *hadjustment,
+ GtkAdjustment *vadjustment);
};
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 92e13f1cc1..52b4ffd0ad 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -703,7 +703,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
object_class->finalize = gtk_widget_finalize;
klass->activate_signal = 0;
- klass->scroll_adjustments_signal = 0;
+ klass->set_scroll_adjustments_signal = 0;
klass->show = gtk_widget_real_show;
klass->show_all = gtk_widget_show;
klass->hide = gtk_widget_real_hide;
@@ -2638,9 +2638,9 @@ gtk_widget_activate (GtkWidget *widget)
}
gboolean
-gtk_widget_scroll_adjustements (GtkWidget *widget,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment)
+gtk_widget_set_scroll_adjustments (GtkWidget *widget,
+ GtkAdjustment *hadjustment,
+ GtkAdjustment *vadjustment)
{
g_return_val_if_fail (widget != NULL, FALSE);
g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
@@ -2649,11 +2649,11 @@ gtk_widget_scroll_adjustements (GtkWidget *widget,
if (vadjustment)
g_return_val_if_fail (GTK_IS_ADJUSTMENT (vadjustment), FALSE);
- if (WIDGET_CLASS (widget)->scroll_adjustments_signal)
+ if (WIDGET_CLASS (widget)->set_scroll_adjustments_signal)
{
/* FIXME: we should eventually check the signals signature here */
gtk_signal_emit (GTK_OBJECT (widget),
- WIDGET_CLASS (widget)->scroll_adjustments_signal,
+ WIDGET_CLASS (widget)->set_scroll_adjustments_signal,
hadjustment, vadjustment);
return TRUE;
}
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index b2ffc0bd11..186e62c0bd 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -110,8 +110,8 @@ typedef void (*GtkCallback) (GtkWidget *widget,
*/
struct _GtkRequisition
{
- guint16 width;
- guint16 height;
+ gint16 width;
+ gint16 height;
};
/* An allocation is a size and position. Where a widget
@@ -235,7 +235,7 @@ struct _GtkWidgetClass
* handles the emission.
* Implementation of this signal is optional.
*/
- guint scroll_adjustments_signal;
+ guint set_scroll_adjustments_signal;
/* basics */
void (* show) (GtkWidget *widget);
@@ -470,10 +470,10 @@ void gtk_widget_unlock_accelerators (GtkWidget *widget);
gint gtk_widget_event (GtkWidget *widget,
GdkEvent *event);
-gboolean gtk_widget_activate (GtkWidget *widget);
-gboolean gtk_widget_scroll_adjustements (GtkWidget *widget,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment);
+gboolean gtk_widget_activate (GtkWidget *widget);
+gboolean gtk_widget_set_scroll_adjustments (GtkWidget *widget,
+ GtkAdjustment *hadjustment,
+ GtkAdjustment *vadjustment);
void gtk_widget_reparent (GtkWidget *widget,
GtkWidget *new_parent);
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 41e59e8d2e..5f74cb5fdd 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -680,22 +680,24 @@ gtk_window_size_request (GtkWidget *widget,
GtkRequisition *requisition)
{
GtkWindow *window;
+ GtkBin *bin;
g_return_if_fail (widget != NULL);
g_return_if_fail (GTK_IS_WINDOW (widget));
g_return_if_fail (requisition != NULL);
window = GTK_WINDOW (widget);
+ bin = GTK_BIN (window);
+
+ requisition->width = GTK_CONTAINER (window)->border_width * 2;
+ requisition->height = GTK_CONTAINER (window)->border_width * 2;
- if (window->bin.child)
+ if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
{
- requisition->width = GTK_CONTAINER (window)->border_width * 2;
- requisition->height = GTK_CONTAINER (window)->border_width * 2;
-
- gtk_widget_size_request (window->bin.child, &window->bin.child->requisition);
+ gtk_widget_size_request (bin->child, &bin->child->requisition);
- requisition->width += window->bin.child->requisition.width;
- requisition->height += window->bin.child->requisition.height;
+ requisition->width += bin->child->requisition.width;
+ requisition->height += bin->child->requisition.height;
}
else
{
@@ -1292,7 +1294,8 @@ gtk_window_set_hints (GtkWidget *widget,
if (!window->allow_grow)
flags |= GDK_HINT_MAX_SIZE;
- gdk_window_set_hints (widget->window, ux, uy,
+ gdk_window_set_hints (widget->window,
+ ux, uy,
requisition->width, requisition->height,
requisition->width, requisition->height,
flags);