Adds scrollbars to its child widget
<gtk-scrolled-window>
is a <gtk-bin>
subclass: it's a container
the accepts a single child widget. <gtk-scrolled-window>
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 <gtk-adjustment>
objects. Widgets
with native scroll support include <gtk-tree-view>
,
<gtk-text-view>
, and <gtk-layout>
.
The scrolled window installs <gtk-adjustment>
objects in the child
window's slots using the set_scroll_adjustments_signal, found in
<gtk-widget-class>
. (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 <gtk-widget-class>
. The
GTK+ 2.0 object system would allow a clean implementation, but it wasn't worth
breaking the API.)
For widgets that lack native scrolling support, the <gtk-viewport>
widget
acts as an adaptor class, implementing scrollability for child widgets that lack
their own scrolling capabilities. Use <gtk-viewport>
to scroll child
widgets such as <gtk-table>
, <gtk-box>
, and so on.
If a widget has native scrolling abilities, it can be added to the
<gtk-scrolled-window>
with gtk-container-add
. If a widget does
not, you must first add the widget to a <gtk-viewport>
, then add the
<gtk-viewport>
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
<gtk-adjustment>
for the fields in an adjustment - for
<gtk-scrollbar>
, used by <gtk-scrolled-window>
, 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 <gtk-scrolled-window>
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 <gtk-scrollbar>
and for example a <gtk-table>
.
Derives from
<gtk-bin>
.This class defines the following slots:
hadjustment
- The GtkAdjustment for the horizontal position
vadjustment
- The GtkAdjustment for the vertical position
hscrollbar-policy
- When the horizontal scrollbar is displayed
vscrollbar-policy
- When the vertical scrollbar is displayed
window-placement
- Where the contents are located with respect to the scrollbars. This property only takes effect if "window-placement-set" is TRUE.
window-placement-set
- Whether "window-placement" should be used to determine the location of the contents with respect to the scrollbars.
shadow-type
- Style of bevel around the contents
<gtk-scroll-type>
) (arg1 <gboolean>
) ⇒ <gboolean>
<gtk-adjustment>
) (vadjustment <gtk-adjustment>
) ⇒ (ret <gtk-widget>
)Creates a new scrolled window. The two arguments are the scrolled window's adjustments; these will be shared with the scrollbars and the child widget to keep the bars in sync with the child. Usually you want to pass ‘
#f
’ for the adjustments, which will cause the scrolled window to create them for you.
- hadjustment
- Horizontal adjustment.
- vadjustment
- Vertical adjustment.
- ret
- New scrolled window.
<gtk-scrolled-window>
) ⇒ (ret <gtk-adjustment>
)Returns the horizontal scrollbar's adjustment, used to connect the horizontal scrollbar to the child widget's horizontal scroll functionality.
- scrolled-window
- A
<gtk-scrolled-window>
.- ret
- The horizontal
<gtk-adjustment>
.
<gtk-scrolled-window>
) ⇒ (ret <gtk-adjustment>
)Returns the vertical scrollbar's adjustment, used to connect the vertical scrollbar to the child widget's vertical scroll functionality.
- scrolled-window
- A
<gtk-scrolled-window>
.- ret
- The vertical
<gtk-adjustment>
.
<gtk-scrolled-window>
) ⇒ (ret <gtk-widget>
)Returns the horizontal scrollbar of scrolled-window.
- scrolled-window
- a
<gtk-scrolled-window>
- ret
- the horizontal scrollbar of the scrolled window, or ‘
#f
’ if it does not have one.Since 2.8
<gtk-scrolled-window>
) ⇒ (ret <gtk-widget>
)Returns the vertical scrollbar of scrolled-window.
- scrolled-window
- a
<gtk-scrolled-window>
- ret
- the vertical scrollbar of the scrolled window, or ‘
#f
’ if it does not have one.Since 2.8
<gtk-scrolled-window>
) (hscrollbar_policy <gtk-policy-type>
) (vscrollbar_policy <gtk-policy-type>
)Sets the scrollbar policy for the horizontal and vertical scrollbars. The policy determines when the scrollbar should appear; it is a value from the
<gtk-policy-type>
enumeration. If ‘GTK_POLICY_ALWAYS’, the scrollbar is always present; if ‘GTK_POLICY_NEVER’, the scrollbar is never present; if ‘GTK_POLICY_AUTOMATIC’, the scrollbar is present only if needed (that is, if the slider part of the bar would be smaller than the trough - the display is larger than the page size).
- scrolled-window
- A
<gtk-scrolled-window>
.- hscrollbar-policy
- Policy for horizontal bar.
- vscrollbar-policy
- Policy for vertical bar.
<gtk-scrolled-window>
) (window_placement <gtk-corner-type>
)Sets the placement of the contents with respect to the scrollbars for the scrolled window.
See also
gtk-scrolled-window-get-placement
andgtk-scrolled-window-unset-placement
.Determines the location of the child widget with respect to the scrollbars. The default is ‘GTK_CORNER_TOP_LEFT’, meaning the child is in the top left, with the scrollbars underneath and to the right. Other values in
<gtk-corner-type>
are ‘GTK_CORNER_TOP_RIGHT’, ‘GTK_CORNER_BOTTOM_LEFT’, and ‘GTK_CORNER_BOTTOM_RIGHT’.
- scrolled-window
- a
<gtk-scrolled-window>
- window-placement
- Position of the child window.
<gtk-scrolled-window>
)Unsets the placement of the contents with respect to the scrollbars for the scrolled window. If no window placement is set for a scrolled window, it obeys the "gtk-scrolled-window-placement" XSETTING.
See also
gtk-scrolled-window-set-placement
andgtk-scrolled-window-get-placement
.
- scrolled-window
- a
<gtk-scrolled-window>
Since 2.10
<gtk-scrolled-window>
) (type <gtk-shadow-type>
)Changes the type of shadow drawn around the contents of scrolled-window.
- scrolled-window
- a
<gtk-scrolled-window>
- type
- kind of shadow to draw around scrolled window contents
<gtk-scrolled-window>
) (hadjustment <gtk-adjustment>
)Sets the
<gtk-adjustment>
for the horizontal scrollbar.
- scrolled-window
- A
<gtk-scrolled-window>
.- hadjustment
- Horizontal scroll adjustment.
<gtk-scrolled-window>
) (vadjustment <gtk-adjustment>
)Sets the
<gtk-adjustment>
for the vertical scrollbar.
- scrolled-window
- A
<gtk-scrolled-window>
.- vadjustment
- Vertical scroll adjustment.
<gtk-scrolled-window>
) ⇒ (ret <gtk-corner-type>
)Gets the placement of the contents with respect to the scrollbars for the scrolled window. See
gtk-scrolled-window-set-placement
.
- scrolled-window
- a
<gtk-scrolled-window>
- ret
- the current placement value. See also
gtk-scrolled-window-set-placement
andgtk-scrolled-window-unset-placement
.