From 00fbbe68b035f9e2888b0005e30370cb6913be39 Mon Sep 17 00:00:00 2001 From: Lars Hamann Date: Thu, 5 Nov 1998 15:44:22 +0000 Subject: removed vscrollbar, hscrollbar, vscrollbar_policy, hscrollbar_policy. Thu Nov 5 16:00:32 1998 Lars Hamann * gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar, vscrollbar_policy, hscrollbar_policy. added h/vadjustment. * gtk/gtkclist.c (gtk_clist_class_init): added new args types "hadjustment" & "vadjustment" (gtk_clist_set_arg) (gtk_clist_get_arg): new object class set/get_arg functions (gtk_clist_construct): don't create/adjust scrollbars. (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions to set h/vadjustments (gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions to query h/vadjustments (create_scrollbars): removed. (create_adjustments): replacement for create_scrollbars (gtk_clist_new): call gtk_clist_new_with_titles (gtk_clist_new_with_titles): don't warn on titles == NULL (move_horizontal): use CLAMP instead (gtk_clist_set_policy): deprecated method. use gtk_scrolled_window_set_policy instead. (vadjustment_value_changed): use clist->vadj. (adjust_scrollbars): renamed to adjust_adjustments (adjust_adjustments): former adjust_scrollbars (gtk_clist_destroy): unref adjustments (gtk_clist_size_allocate) (gtk_clist_map) (title_focus) (gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus) (gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars (gtk_clist_thaw) (real_insert_row) (real_remove_row) (gtk_clist_set_row_height) (real_resize_column): call adjust_adjustments (gtk_clist_moveto): return if clist has no adjustments yet. (gtk_clist_parent_set): new GtkWidget::parent_set function. Autogenerate h/vadjustments if needed. (move_horizontal) (move_vertical): some cleanups * gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new): call only gtk_viewport_set_h/vadjustment and let these functions do the work. (gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment): generate a new adjustment if needed * gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow): use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): queue_resize if visibility of scrollbars changes (gtk_scrolled_window_remove): only call container_remove with scrolled_window->viewport automatically if viewport was autogenerated (gtk_scrolled_window_add): add widget as scrolled_window->viewport. auto create a viewport only if widget does not take h/vadjustments. (gtk_scrolled_window_construct): don't generate a viewport automatically. (gtk_scrolled_window_forall): call callback with viewport in any case (gtk_scrolled_window_set_arg): call gtk_container_add in case of ARG_VIEWPORT (gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request) (gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check viewport != NULL * gtk/testgtk.c (create_ctree) (export_ctree) (create_clist): use a scrolled_window in conjunction with clists/ctrees * gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window in conjunction with clists * gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window in conjunction with clists --- gtk/gtkviewport.c | 54 ++++++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) (limited to 'gtk/gtkviewport.c') diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c index bc9f9460e7..1baf3a8874 100644 --- a/gtk/gtkviewport.c +++ b/gtk/gtkviewport.c @@ -140,17 +140,11 @@ gtk_viewport_set_arg (GtkObject *object, GtkAdjustment *adjustment; case ARG_HADJUSTMENT: - g_return_if_fail (viewport->hadjustment == NULL); adjustment = GTK_VALUE_POINTER (*arg); - if (!adjustment) - adjustment = (GtkAdjustment*) gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); gtk_viewport_set_hadjustment (viewport, adjustment); break; case ARG_VADJUSTMENT: - g_return_if_fail (viewport->vadjustment == NULL); adjustment = GTK_VALUE_POINTER (*arg); - if (!adjustment) - adjustment = (GtkAdjustment*) gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); gtk_viewport_set_vadjustment (viewport, adjustment); break; case ARG_SHADOW_TYPE: @@ -210,12 +204,6 @@ gtk_viewport_new (GtkAdjustment *hadjustment, viewport = gtk_type_new (gtk_viewport_get_type ()); - if (!hadjustment) - hadjustment = (GtkAdjustment*) gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); - - if (!vadjustment) - vadjustment = (GtkAdjustment*) gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); - gtk_viewport_set_hadjustment (viewport, hadjustment); gtk_viewport_set_vadjustment (viewport, vadjustment); @@ -257,17 +245,22 @@ gtk_viewport_set_hadjustment (GtkViewport *viewport, { g_return_if_fail (viewport != NULL); g_return_if_fail (GTK_IS_VIEWPORT (viewport)); - g_return_if_fail (adjustment != NULL); + if (adjustment) + g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - if (viewport->hadjustment != adjustment) + if (viewport->hadjustment && viewport->hadjustment != adjustment) { - if (viewport->hadjustment) - { - gtk_signal_disconnect_by_data (GTK_OBJECT (viewport->hadjustment), - (gpointer) viewport); - gtk_object_unref (GTK_OBJECT (viewport->hadjustment)); - } + gtk_signal_disconnect_by_data (GTK_OBJECT (viewport->hadjustment), + (gpointer) viewport); + gtk_object_unref (GTK_OBJECT (viewport->hadjustment)); + } + if (!adjustment) + adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, 0.0, + 0.0, 0.0, 0.0)); + + if (viewport->hadjustment != adjustment) + { viewport->hadjustment = adjustment; gtk_object_ref (GTK_OBJECT (viewport->hadjustment)); gtk_object_sink (GTK_OBJECT (viewport->hadjustment)); @@ -289,17 +282,22 @@ gtk_viewport_set_vadjustment (GtkViewport *viewport, { g_return_if_fail (viewport != NULL); g_return_if_fail (GTK_IS_VIEWPORT (viewport)); - g_return_if_fail (adjustment != NULL); + if (adjustment) + g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - if (viewport->vadjustment != adjustment) + if (viewport->vadjustment && viewport->vadjustment != adjustment) { - if (viewport->vadjustment) - { - gtk_signal_disconnect_by_data (GTK_OBJECT (viewport->vadjustment), - (gpointer) viewport); - gtk_object_unref (GTK_OBJECT (viewport->vadjustment)); - } + gtk_signal_disconnect_by_data (GTK_OBJECT (viewport->vadjustment), + (gpointer) viewport); + gtk_object_unref (GTK_OBJECT (viewport->vadjustment)); + } + + if (!adjustment) + adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, 0.0, + 0.0, 0.0, 0.0)); + if (viewport->vadjustment != adjustment) + { viewport->vadjustment = adjustment; gtk_object_ref (GTK_OBJECT (viewport->vadjustment)); gtk_object_sink (GTK_OBJECT (viewport->vadjustment)); -- cgit v1.2.1