gtkmm  3.4.0
Public Member Functions | Related Functions
Gtk::ScrolledWindow Class Reference

Adds scrollbars to its child widget. More...

Inheritance diagram for Gtk::ScrolledWindow:
Inheritance graph
[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< Adjustmentget_hadjustment ()
 Returns the horizontal scrollbar's adjustment, used to connect the horizontal scrollbar to the child widget's horizontal scroll functionality.
Glib::RefPtr< const Adjustmentget_hadjustment () const
 Returns the horizontal scrollbar's adjustment, used to connect the horizontal scrollbar to the child widget's horizontal scroll functionality.
Glib::RefPtr< Adjustmentget_vadjustment ()
 Returns the vertical scrollbar's adjustment, used to connect the vertical scrollbar to the child widget's vertical scroll functionality.
Glib::RefPtr< const Adjustmentget_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.
Scrollbarget_vscrollbar ()
 Returns the vertical scrollbar of scrolled_window.
const Scrollbarget_vscrollbar () const
 Returns the vertical scrollbar of scrolled_window.
Scrollbarget_hscrollbar ()
 Returns the horizontal scrollbar of scrolled_window.
const Scrollbarget_hscrollbar () const
 Returns the horizontal scrollbar of scrolled_window.
int get_min_content_width () const
 Gets the minimum content width of scrolled_window, or -1 if not set.
void set_min_content_width (int width)
 Sets the minimum width that scrolled_window should keep visible.
int get_min_content_height () const
 Gets the minimal content height of scrolled_window, or -1 if not set.
void set_min_content_height (int height)
 Sets the minimum height that scrolled_window should keep visible.
void set_kinetic_scrolling (bool kinetic_scrolling=true)
 Turns kinetic scrolling on or off.
bool get_kinetic_scrolling () const
 Returns the specified kinetic scrolling behavior.
void set_capture_button_press (bool capture_button_press)
 Changes the behaviour of scrolled_window wrt.
bool get_capture_button_press () const
 Return whether button presses are captured during kinetic scrolling.
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< PolicyTypeproperty_hscrollbar_policy ()
 When the horizontal scrollbar is displayed.
Glib::PropertyProxy_ReadOnly
< PolicyType
property_hscrollbar_policy () const
 When the horizontal scrollbar is displayed.
Glib::PropertyProxy< PolicyTypeproperty_vscrollbar_policy ()
 When the vertical scrollbar is displayed.
Glib::PropertyProxy_ReadOnly
< PolicyType
property_vscrollbar_policy () const
 When the vertical scrollbar is displayed.
Glib::PropertyProxy< CornerTypeproperty_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< ShadowTypeproperty_shadow_type ()
 Style of bevel around the contents.
Glib::PropertyProxy_ReadOnly
< ShadowType
property_shadow_type () const
 Style of bevel around the contents.
Glib::PropertyProxy< int > property_min_content_width ()
 The minimum width that the scrolled window will allocate to its content.
Glib::PropertyProxy_ReadOnly< int > property_min_content_width () const
 The minimum width that the scrolled window will allocate to its content.
Glib::PropertyProxy< int > property_min_content_height ()
 The minimum height that the scrolled window will allocate to its content.
Glib::PropertyProxy_ReadOnly< int > property_min_content_height () const
 The minimum height that the scrolled window will allocate to its content.
Glib::PropertyProxy< bool > property_kinetic_scrolling ()
 Kinetic scrolling mode.
Glib::PropertyProxy_ReadOnly
< bool > 
property_kinetic_scrolling () const
 Kinetic scrolling mode.

Related Functions

(Note that these are not member functions.)

Gtk::ScrolledWindowwrap (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 ( 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.

Return whether button presses are captured during kinetic scrolling.

See set_capture_button_press().

Since gtkmm 3.4:
Returns:
true if button presses are captured during kinetic scrolling.

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.

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.

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.

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.

Returns the specified kinetic scrolling behavior.

Since gtkmm 3.4:
Returns:
The scrolling behavior flags.

Gets the minimal content height of scrolled_window, or -1 if not set.

Since gtkmm 3.0:
Returns:
The minimal content height.

Gets the minimum content width of scrolled_window, or -1 if not set.

Since gtkmm 3.0:
Returns:
The minimum content width.

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_policyLocation to store the policy for the horizontal scrollbar, or 0.
vscrollbar_policyLocation to store the policy for the vertical scrollbar, or 0.

Gets the shadow type of the scrolled window.

See set_shadow_type().

Returns:
The current shadow type.

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.

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.

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.

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.
GtkScrolledWindow* Gtk::ScrolledWindow::gobj ( ) [inline]

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Bin.

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

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Bin.

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.

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.

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.

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.

Kinetic scrolling mode.

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.

Kinetic scrolling mode.

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.

The minimum height that the scrolled window will allocate to its content.

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.

The minimum height that the scrolled window will allocate to its content.

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.

The minimum width that the scrolled window will allocate to its content.

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.

The minimum width that the scrolled window will allocate to its content.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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_capture_button_press ( bool  capture_button_press)

Changes the behaviour of scrolled_window wrt.

to the initial event that possibly starts kinetic scrolling. When capture_button_press is set to true, the event is captured by the scrolled window, and then later replayed if it is meant to go to the child widget.

This should be enabled if any child widgets perform non-reversible actions on Gtk::Widget::signal_button_press_event(). If they don't, and handle additionally handle Gtk::Widget::signal_grab_broken_event(), it might be better to set capture_button_press to false.

This setting only has an effect if kinetic scrolling is enabled.

Since gtkmm 3.4:
Parameters:
capture_button_presstrue to capture button presses.

Sets the Gtk::Adjustment for the horizontal scrollbar.

Parameters:
hadjustmentHorizontal scroll adjustment.
void Gtk::ScrolledWindow::set_kinetic_scrolling ( bool  kinetic_scrolling = true)

Turns kinetic scrolling on or off.

Kinetic scrolling only applies to devices with source Gdk::SOURCE_TOUCHSCREEN.

Since gtkmm 3.4:
Parameters:
kinetic_scrollingtrue to enable kinetic scrolling.

Sets the minimum height that scrolled_window should keep visible.

Note that this can and (usually will) be smaller than the minimum size of the content.

Since gtkmm 3.0:
Parameters:
heightThe minimal content height.

Sets the minimum width that scrolled_window should keep visible.

Note that this can and (usually will) be smaller than the minimum size of the content.

Since gtkmm 3.0:
Parameters:
widthThe minimal content width.
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_placementPosition 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_policyPolicy for horizontal bar.
vscrollbar_policyPolicy for vertical bar.

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

Parameters:
typeKind of shadow to draw around scrolled window contents.

Sets the Gtk::Adjustment for the vertical scrollbar.

Parameters:
vadjustmentVertical scroll adjustment.

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:
objectThe C instance.
take_copyFalse 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: