Commit ee58c6c3 authored by Javier Jardón's avatar Javier Jardón

docs: Move documentation to inline comments: GtkScrolledWindow

parent 90096832
......@@ -34,6 +34,7 @@ gtkrecentchooserwidget.sgml
gtkrecentmanager.sgml
gtkscale.sgml
gtkscalebutton.sgml
gtkscrolledwindow.sgml
gtkseparator.sgml
gtkseparatormenuitem.sgml
gtkseparatortoolitem.sgml
......
<!-- ##### SECTION Title ##### -->
GtkScrolledWindow
<!-- ##### SECTION Short_Description ##### -->
Adds scrollbars to its child widget
<!-- ##### SECTION Long_Description ##### -->
<para>
#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.
</para>
<para>
The scrolled window can work in two ways. Some widgets have native
scrolling support; these widgets have "slots" for #GtkAdjustment
objects.
<footnote><para>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.)</para></footnote>
Widgets with native scroll support include #GtkTreeView, #GtkTextView,
and #GtkLayout.
</para>
<para>
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.
</para>
<para>
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.
</para>
<para>
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).
</para>
<para>
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.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GtkViewport, #GtkAdjustment, #GtkWidgetClass
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkScrolledWindow ##### -->
<para>
There are no public fields in the #GtkScrolledWindow struct; it should
only be accessed using the functions below.
</para>
<!-- ##### SIGNAL GtkScrolledWindow::move-focus-out ##### -->
<para>
</para>
@scrolledwindow:
@arg1:
<!-- ##### SIGNAL GtkScrolledWindow::scroll-child ##### -->
<para>
</para>
@scrolledwindow:
@arg1:
@arg2:
@Returns:
<!-- ##### ARG GtkScrolledWindow:hadjustment ##### -->
<para>
</para>
<!-- ##### ARG GtkScrolledWindow:hscrollbar-policy ##### -->
<para>
</para>
<!-- ##### ARG GtkScrolledWindow:shadow-type ##### -->
<para>
</para>
<!-- ##### ARG GtkScrolledWindow:vadjustment ##### -->
<para>
</para>
<!-- ##### ARG GtkScrolledWindow:vscrollbar-policy ##### -->
<para>
</para>
<!-- ##### ARG GtkScrolledWindow:window-placement ##### -->
<para>
</para>
<!-- ##### ARG GtkScrolledWindow:window-placement-set ##### -->
<para>
</para>
<!-- ##### ARG GtkScrolledWindow:scrollbar-spacing ##### -->
<para>
</para>
<!-- ##### ARG GtkScrolledWindow:scrollbars-within-bevel ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_scrolled_window_new ##### -->
<para>
</para>
@hadjustment:
@vadjustment:
@Returns:
<!-- ##### FUNCTION gtk_scrolled_window_get_hadjustment ##### -->
<para>
</para>
@scrolled_window:
@Returns:
<!-- ##### FUNCTION gtk_scrolled_window_get_vadjustment ##### -->
<para>
</para>
@scrolled_window:
@Returns:
<!-- ##### FUNCTION gtk_scrolled_window_get_hscrollbar ##### -->
<para>
</para>
@scrolled_window:
@Returns:
<!-- ##### FUNCTION gtk_scrolled_window_get_vscrollbar ##### -->
<para>
</para>
@scrolled_window:
@Returns:
<!-- ##### FUNCTION gtk_scrolled_window_set_policy ##### -->
<para>
</para>
@scrolled_window:
@hscrollbar_policy:
@vscrollbar_policy:
<!-- ##### FUNCTION gtk_scrolled_window_add_with_viewport ##### -->
<para>
</para>
@scrolled_window:
@child:
<!-- ##### FUNCTION gtk_scrolled_window_set_placement ##### -->
<para>
</para>
@scrolled_window:
@window_placement:
<!-- ##### FUNCTION gtk_scrolled_window_unset_placement ##### -->
<para>
</para>
@scrolled_window:
<!-- ##### FUNCTION gtk_scrolled_window_set_shadow_type ##### -->
<para>
</para>
@scrolled_window:
@type:
<!-- ##### FUNCTION gtk_scrolled_window_set_hadjustment ##### -->
<para>
</para>
@scrolled_window:
@hadjustment:
<!-- ##### FUNCTION gtk_scrolled_window_set_vadjustment ##### -->
<para>
</para>
@scrolled_window:
@vadjustment:
<!-- ##### FUNCTION gtk_scrolled_window_get_placement ##### -->
<para>
</para>
@scrolled_window:
@Returns:
<!-- ##### FUNCTION gtk_scrolled_window_get_policy ##### -->
<para>
</para>
@scrolled_window:
@hscrollbar_policy:
@vscrollbar_policy:
<!-- ##### FUNCTION gtk_scrolled_window_get_shadow_type ##### -->
<para>
</para>
@scrolled_window:
@Returns:
......@@ -35,6 +35,60 @@
#include "gtkprivate.h"
#include "gtkintl.h"
/**
* SECTION:gtkscrolledwindow
* @Short_description: Adds scrollbars to its child widget
* @Title: GtkScrolledWindow
* @See_also: #GtkViewport, #GtkAdjustment, #GtkWidgetClass
*
* #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.
* <footnote><para>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.)</para></footnote>
* 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.
*/
/* scrolled window policy and size requisition handling:
*
* gtk size requisition works as follows:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment