GtkScrolledWindow Adds scrollbars to its child widget #GtkScrolledWindow is a #GtkBin subclass: it's a container the accepts a single child widget. #GtkScrolledWindow adds scrollbars to the child widget and optionally draws a beveled frame around the child widget. The scrolled window can work in two ways. Some widgets have native scrolling support; these widgets have "slots" for #GtkAdjustment objects. The scrolled window installs #GtkAdjustment objects in the child window's slots using the set_scroll_adjustments_signal, found in #GtkWidgetClass. (Conceptually, these widgets implement a "Scrollable" interface; because GTK+ 1.2 lacked interface support in the object system, this interface is hackily implemented as a signal in #GtkWidgetClass. The GTK+ 2.0 object system would allow a clean implementation, but it wasn't worth breaking the API.) Widgets with native scroll support include #GtkTreeView, #GtkTextView, and #GtkLayout. For widgets that lack native scrolling support, the #GtkViewport widget acts as an adaptor class, implementing scrollability for child widgets that lack their own scrolling capabilities. Use #GtkViewport to scroll child widgets such as #GtkTable, #GtkBox, and so on. If a widget has native scrolling abilities, it can be added to the #GtkScrolledWindow with gtk_container_add(). If a widget does not, you must first add the widget to a #GtkViewport, then add the #GtkViewport to the scrolled window. The convenience function gtk_scrolled_window_add_with_viewport() does exactly this, so you can ignore the presence of the viewport. The position of the scrollbars is controlled by the scroll adjustments. See #GtkAdjustment for the fields in an adjustment - for #GtkScrollbar, used by #GtkScrolledWindow, the "value" field represents the position of the scrollbar, which must be between the "lower" field and "upper - page_size." The "page_size" field represents the size of the visible scrollable area. The "step_increment" and "page_increment" fields are used when the user asks to step down (using the small stepper arrows) or page down (using for example the PageDown key). If a #GtkScrolledWindow doesn't behave quite as you would like, or doesn't have exactly the right layout, it's very possible to set up your own scrolling with #GtkScrollbar and for example a #GtkTable. #GtkViewport, #GtkAdjustment, #GtkWidgetClass There are no public fields in the #GtkScrolledWindow struct; it should only be accessed using the functions below. @scrolledwindow: @arg1: @scrolledwindow: @arg1: @arg2: @Returns: @hadjustment: @vadjustment: @Returns: @scrolled_window: @Returns: @scrolled_window: @Returns: @scrolled_window: @Returns: @scrolled_window: @Returns: @scrolled_window: @hscrollbar_policy: @vscrollbar_policy: @scrolled_window: @child: @scrolled_window: @window_placement: @scrolled_window: @scrolled_window: @type: @scrolled_window: @hadjustment: @scrolled_window: @vadjustment: @scrolled_window: @Returns: @scrolled_window: @hscrollbar_policy: @vscrollbar_policy: @scrolled_window: @Returns: