# Gtk::ScrolledWindow Class Reference
[Widgets, Container Widgets]

Adds scrollbars to its child widget. More...

Inherits Gtk::Bin.

Collaboration diagram for Gtk::ScrolledWindow:
[legend]

List of all members.

## Public Member Functions

virtual | ~ScrolledWindow ()
GtkScrolledWindow* | gobj ()
| Provides access to the underlying C GtkObject.
const GtkScrolledWindow* | gobj () const
| Provides access to the underlying C GtkObject.
| ScrolledWindow ()
| ScrolledWindow (const Glib::RefPtr< Adjustment >& hadjustment, const Glib::RefPtr< Adjustment >& vadjustment)
void | set_hadjustment (const Glib::RefPtr< Adjustment >& hadjustment)
| Sets the Gtk::Adjustment for the horizontal scrollbar.
void | set_vadjustment (const Glib::RefPtr< Adjustment >& vadjustment)
| Sets the Gtk::Adjustment for the vertical scrollbar.
Glib::RefPtr< Adjustment > | get_hadjustment ()
| Returns the horizontal scrollbar's adjustment, used to connect the horizontal scrollbar to the child widget's horizontal scroll functionality.
Glib::RefPtr< const Adjustment > | get_hadjustment () const
| Returns the horizontal scrollbar's adjustment, used to connect the horizontal scrollbar to the child widget's horizontal scroll functionality.
Glib::RefPtr< Adjustment > | get_vadjustment ()
| Returns the vertical scrollbar's adjustment, used to connect the vertical scrollbar to the child widget's vertical scroll functionality.
Glib::RefPtr< const Adjustment > | get_vadjustment () const
| Returns the vertical scrollbar's adjustment, used to connect the vertical scrollbar to the child widget's vertical scroll functionality.
void | set_policy (PolicyType hscrollbar_policy, PolicyType vscrollbar_policy)
| Sets the scrollbar policy for the horizontal and vertical scrollbars.
void | get_policy (PolicyType& hscrollbar_policy, PolicyType& vscrollbar_policy) const
| Retrieves the current policy values for the horizontal and vertical scrollbars.
void | set_placement (CornerType window_placement)
| Sets the placement of the contents with respect to the scrollbars for the scrolled window.
void | unset_placement ()
| Unsets the placement of the contents with respect to the scrollbars for the scrolled window.
CornerType | get_placement () const
| Gets the placement of the contents with respect to the scrollbars for the scrolled window.
void | set_shadow_type (ShadowType type)
| Changes the type of shadow drawn around the contents of scrolled_window.
ShadowType | get_shadow_type () const
| Gets the shadow type of the scrolled window.
virtual void | add (Gtk::Widget& widget)
| Puts the child inside a Gtk::Viewport if it doesn't have native scrolling capability.
VScrollbar* | get_vscrollbar ()
| Returns the vertical scrollbar of scrolled_window.
const VScrollbar* | get_vscrollbar () const
| Returns the vertical scrollbar of scrolled_window.
HScrollbar* | get_hscrollbar ()
| Returns the horizontal scrollbar of scrolled_window.
const HScrollbar* | get_hscrollbar () const
| Returns the horizontal scrollbar of scrolled_window.
Glib::PropertyProxy < Glib::RefPtr< Adjustment > > | property_hadjustment ()
| The GtkAdjustment for the horizontal position.
Glib::PropertyProxy_ReadOnly < Glib::RefPtr< Adjustment > > | property_hadjustment () const
| The GtkAdjustment for the horizontal position.
Glib::PropertyProxy < Glib::RefPtr< Adjustment > > | property_vadjustment ()
| The GtkAdjustment for the vertical position.
Glib::PropertyProxy_ReadOnly < Glib::RefPtr< Adjustment > > | property_vadjustment () const
| The GtkAdjustment for the vertical position.
Glib::PropertyProxy< PolicyType > | property_hscrollbar_policy ()
| When the horizontal scrollbar is displayed.
Glib::PropertyProxy_ReadOnly < PolicyType > | property_hscrollbar_policy () const
| When the horizontal scrollbar is displayed.
Glib::PropertyProxy< PolicyType > | property_vscrollbar_policy ()
| When the vertical scrollbar is displayed.
Glib::PropertyProxy_ReadOnly < PolicyType > | property_vscrollbar_policy () const
| When the vertical scrollbar is displayed.
Glib::PropertyProxy< CornerType > | property_window_placement ()
| Where the contents are located with respect to the scrollbars.
Glib::PropertyProxy_ReadOnly < CornerType > | property_window_placement () const
| Where the contents are located with respect to the scrollbars.
Glib::PropertyProxy< bool > | property_window_placement_set ()
| Whether 'window-placement' should be used to determine the location of the contents with respect to the scrollbars.
Glib::PropertyProxy_ReadOnly < bool > | property_window_placement_set () const
| Whether 'window-placement' should be used to determine the location of the contents with respect to the scrollbars.
Glib::PropertyProxy< ShadowType > | property_shadow_type ()
| Style of bevel around the contents.
Glib::PropertyProxy_ReadOnly < ShadowType > | property_shadow_type () const
| Style of bevel around the contents.

## Related Functions

(Note that these are not member functions.)
Gtk::ScrolledWindow* | wrap (GtkScrolledWindow* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

Adds scrollbars to its child widget.

This container accepts a single child widget. It adds scrollbars to the child widget and optionally draws a beveled frame around the child widget. The scrolled window can work in two ways: 1) Some widgets have native scrolling support; these widgets handle certain Gtk::Adjustment signals. Widgets with native scroll support include Gtk::TreeView, Gtk::TextView, and Gtk::Layout. 2) For widgets that lack native scrolling support, such as Gtk::Table, Gtk::Box, and so on, the widget will be placed inside a Gtk::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::ScrolledWindow, 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::ScrolledWindow 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.

## Constructor & Destructor Documentation

virtual Gtk::ScrolledWindow::~ScrolledWindow | ( |  | ) | `[virtual]`

Gtk::ScrolledWindow::ScrolledWindow | ( |  | ) |

Gtk::ScrolledWindow::ScrolledWindow | ( | const Glib::RefPtr< Adjustment >& | hadjustment,
|  | const Glib::RefPtr< Adjustment >& | vadjustment |
| ) |  |  | `[explicit]`

## Member Function Documentation

virtual void Gtk::ScrolledWindow::add | ( | Gtk::Widget& | widget | ) | `[virtual]`

Puts the child inside a Gtk::Viewport if it doesn't have native scrolling capability.

Reimplemented from Gtk::Container.

Glib::RefPtr<const Adjustment> Gtk::ScrolledWindow::get_hadjustment | ( |  | ) | const

Returns the horizontal scrollbar's adjustment, used to connect the horizontal scrollbar to the child widget's horizontal scroll functionality.

Returns:
  The horizontal Gtk::Adjustment.

Glib::RefPtr<Adjustment> Gtk::ScrolledWindow::get_hadjustment | ( |  | ) |

Returns the horizontal scrollbar's adjustment, used to connect the horizontal scrollbar to the child widget's horizontal scroll functionality.

Returns:
  The horizontal Gtk::Adjustment.

const HScrollbar* Gtk::ScrolledWindow::get_hscrollbar | ( |  | ) | const

Returns the horizontal scrollbar of scrolled_window.

Since gtkmm 2.8:

Returns:
  The horizontal scrollbar of the scrolled window, or `0` if it does not have one.

HScrollbar* Gtk::ScrolledWindow::get_hscrollbar | ( |  | ) |

Returns the horizontal scrollbar of scrolled_window.

Since gtkmm 2.8:

Returns:
  The horizontal scrollbar of the scrolled window, or `0` if it does not have one.

CornerType Gtk::ScrolledWindow::get_placement | ( |  | ) | const

Gets the placement of the contents with respect to the scrollbars for the scrolled window.

See set_placement().

Returns:
  The current placement value.

See also set_placement() and unset_placement().

void Gtk::ScrolledWindow::get_policy | ( | PolicyType& | hscrollbar_policy,
|  | PolicyType& | vscrollbar_policy |
| ) |  |  | const

Retrieves the current policy values for the horizontal and vertical scrollbars.

See set_policy().

Parameters:

  | hscrollbar_policy | Location to store the policy for the horizontal scrollbar, or `0`.
  | vscrollbar_policy | Location to store the policy for the vertical scrollbar, or `0`.

ShadowType Gtk::ScrolledWindow::get_shadow_type | ( |  | ) | const

Gets the shadow type of the scrolled window.

See set_shadow_type().

Returns:
  The current shadow type.

Glib::RefPtr<const Adjustment> Gtk::ScrolledWindow::get_vadjustment | ( |  | ) | const

Returns the vertical scrollbar's adjustment, used to connect the vertical scrollbar to the child widget's vertical scroll functionality.

Returns:
  The vertical Gtk::Adjustment.

Glib::RefPtr<Adjustment> Gtk::ScrolledWindow::get_vadjustment | ( |  | ) |

Returns the vertical scrollbar's adjustment, used to connect the vertical scrollbar to the child widget's vertical scroll functionality.

Returns:
  The vertical Gtk::Adjustment.

const VScrollbar* Gtk::ScrolledWindow::get_vscrollbar | ( |  | ) | const

Returns the vertical scrollbar of scrolled_window.

Since gtkmm 2.8:

Returns:
  The vertical scrollbar of the scrolled window, or `0` if it does not have one.

VScrollbar* Gtk::ScrolledWindow::get_vscrollbar | ( |  | ) |

Returns the vertical scrollbar of scrolled_window.

Since gtkmm 2.8:

Returns:
  The vertical scrollbar of the scrolled window, or `0` if it does not have one.

const GtkScrolledWindow* Gtk::ScrolledWindow::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Bin.

GtkScrolledWindow* Gtk::ScrolledWindow::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Bin.

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Adjustment> > Gtk::ScrolledWindow::property_hadjustment | ( |  | ) | const

The GtkAdjustment for the horizontal position.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy< Glib::RefPtr<Adjustment> > Gtk::ScrolledWindow::property_hadjustment | ( |  | ) |

The GtkAdjustment for the horizontal position.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<PolicyType> Gtk::ScrolledWindow::property_hscrollbar_policy | ( |  | ) | const

When the horizontal scrollbar is displayed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<PolicyType> Gtk::ScrolledWindow::property_hscrollbar_policy | ( |  | ) |

When the horizontal scrollbar is displayed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<ShadowType> Gtk::ScrolledWindow::property_shadow_type | ( |  | ) | const

Style of bevel around the contents.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<ShadowType> Gtk::ScrolledWindow::property_shadow_type | ( |  | ) |

Style of bevel around the contents.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Adjustment> > Gtk::ScrolledWindow::property_vadjustment | ( |  | ) | const

The GtkAdjustment for the vertical position.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy< Glib::RefPtr<Adjustment> > Gtk::ScrolledWindow::property_vadjustment | ( |  | ) |

The GtkAdjustment for the vertical position.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<PolicyType> Gtk::ScrolledWindow::property_vscrollbar_policy | ( |  | ) | const

When the vertical scrollbar is displayed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<PolicyType> Gtk::ScrolledWindow::property_vscrollbar_policy | ( |  | ) |

When the vertical scrollbar is displayed.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<CornerType> Gtk::ScrolledWindow::property_window_placement | ( |  | ) | const

Where the contents are located with respect to the scrollbars.

This property only takes effect if 'window-placement-set' is TRUE.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<CornerType> Gtk::ScrolledWindow::property_window_placement | ( |  | ) |

Where the contents are located with respect to the scrollbars.

This property only takes effect if 'window-placement-set' is TRUE.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::ScrolledWindow::property_window_placement_set | ( |  | ) | const

Whether 'window-placement' should be used to determine the location of the contents with respect to the scrollbars.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gtk::ScrolledWindow::property_window_placement_set | ( |  | ) |

Whether 'window-placement' should be used to determine the location of the contents with respect to the scrollbars.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

void Gtk::ScrolledWindow::set_hadjustment | ( | const Glib::RefPtr< Adjustment >& | hadjustment | ) |

Sets the Gtk::Adjustment for the horizontal scrollbar.

Parameters:

  | hadjustment | Horizontal scroll adjustment.

void Gtk::ScrolledWindow::set_placement | ( | CornerType | window_placement | ) |

Sets the placement of the contents with respect to the scrollbars for the scrolled window.

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::CornerType are Gtk::CORNER_TOP_RIGHT, Gtk::CORNER_BOTTOM_LEFT, and Gtk::CORNER_BOTTOM_RIGHT.

See also get_placement() and unset_placement().

Parameters:

  | window_placement | Position of the child window.

void Gtk::ScrolledWindow::set_policy | ( | PolicyType | hscrollbar_policy,
|  | PolicyType | vscrollbar_policy |
| ) |  |  |

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::PolicyType 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).

Parameters:

  | hscrollbar_policy | Policy for horizontal bar.
  | vscrollbar_policy | Policy for vertical bar.

void Gtk::ScrolledWindow::set_shadow_type | ( | ShadowType | type | ) |

Changes the type of shadow drawn around the contents of scrolled_window.

Parameters:

  | type | Kind of shadow to draw around scrolled window contents.

void Gtk::ScrolledWindow::set_vadjustment | ( | const Glib::RefPtr< Adjustment >& | vadjustment | ) |

Sets the Gtk::Adjustment for the vertical scrollbar.

Parameters:

  | vadjustment | Vertical scroll adjustment.

void Gtk::ScrolledWindow::unset_placement | ( |  | ) |

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 set_placement() and get_placement().

Since gtkmm 2.10:

## Friends And Related Function Documentation

Gtk::ScrolledWindow* wrap | ( | GtkScrolledWindow * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gtkmm/scrolledwindow.h