GtkScrollable
GtkScrollable — An interface for scrollable widgets
Functions
Properties
GtkAdjustment * | hadjustment | Read / Write / Construct |
GtkScrollablePolicy | hscroll-policy | Read / Write |
GtkAdjustment * | vadjustment | Read / Write / Construct |
GtkScrollablePolicy | vscroll-policy | Read / Write |
Types and Values
Object Hierarchy
GInterface ╰── GtkScrollable
Prerequisites
GtkScrollable requires GObject.
Known Implementations
GtkScrollable is implemented by GtkIconView, GtkLayout, GtkTextView, GtkToolPalette, GtkTreeView and GtkViewport.
Includes
#include <gtk/gtk.h>
Description
GtkScrollable is an interface that is implemented by widgets with native scrolling ability.
To implement this interface you should override the “hadjustment” and “vadjustment” properties.
Creating a scrollable widget
All scrollable widgets should do the following.
When a parent widget sets the scrollable child widget’s adjustments, the widget should populate the adjustments’ “lower”, “upper”, “step-increment”, “page-increment” and “page-size” properties and connect to the “value-changed” signal.
Because its preferred size is the size for a fully expanded widget, the scrollable widget must be able to cope with underallocations. This means that it must accept any value passed to its
GtkWidgetClass.size_allocate()
function.When the parent allocates space to the scrollable child widget, the widget should update the adjustments’ properties with new values.
When any of the adjustments emits the “value-changed” signal, the scrollable widget should scroll its contents.
Functions
gtk_scrollable_get_hadjustment ()
GtkAdjustment *
gtk_scrollable_get_hadjustment (GtkScrollable *scrollable
);
Retrieves the GtkAdjustment used for horizontal scrolling.
Parameters
scrollable |
Since: 3.0
gtk_scrollable_set_hadjustment ()
void gtk_scrollable_set_hadjustment (GtkScrollable *scrollable
,GtkAdjustment *hadjustment
);
Sets the horizontal adjustment of the GtkScrollable.
Parameters
scrollable | ||
hadjustment | [allow-none] |
Since: 3.0
gtk_scrollable_get_vadjustment ()
GtkAdjustment *
gtk_scrollable_get_vadjustment (GtkScrollable *scrollable
);
Retrieves the GtkAdjustment used for vertical scrolling.
Parameters
scrollable |
Since: 3.0
gtk_scrollable_set_vadjustment ()
void gtk_scrollable_set_vadjustment (GtkScrollable *scrollable
,GtkAdjustment *vadjustment
);
Sets the vertical adjustment of the GtkScrollable.
Parameters
scrollable | ||
vadjustment | [allow-none] |
Since: 3.0
gtk_scrollable_get_hscroll_policy ()
GtkScrollablePolicy
gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable
);
Gets the horizontal GtkScrollablePolicy.
Parameters
scrollable |
Returns
The horizontal GtkScrollablePolicy.
Since: 3.0
gtk_scrollable_set_hscroll_policy ()
void gtk_scrollable_set_hscroll_policy (GtkScrollable *scrollable
,GtkScrollablePolicy policy
);
Sets the GtkScrollablePolicy to determine whether horizontal scrolling should start below the minimum width or below the natural width.
Parameters
scrollable | ||
policy | the horizontal GtkScrollablePolicy |
Since: 3.0
gtk_scrollable_get_vscroll_policy ()
GtkScrollablePolicy
gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable
);
Gets the vertical GtkScrollablePolicy.
Parameters
scrollable |
Returns
The vertical GtkScrollablePolicy.
Since: 3.0
gtk_scrollable_set_vscroll_policy ()
void gtk_scrollable_set_vscroll_policy (GtkScrollable *scrollable
,GtkScrollablePolicy policy
);
Sets the GtkScrollablePolicy to determine whether vertical scrolling should start below the minimum height or below the natural height.
Parameters
scrollable | ||
policy | the vertical GtkScrollablePolicy |
Since: 3.0
gtk_scrollable_get_border ()
gboolean gtk_scrollable_get_border (GtkScrollable *scrollable
,GtkBorder *border
);
Returns the size of a non-scrolling border around the outside of the scrollable. An example for this would be treeview headers. GTK+ can use this information to display overlayed graphics, like the overshoot indication, at the right position.
Parameters
scrollable | ||
border | return location for the results. | [out caller-allocates] |
Returns
TRUE
if border
has been set
Since: 3.16
Types and Values
GtkScrollable
typedef struct _GtkScrollable GtkScrollable;
enum GtkScrollablePolicy
Defines the policy to be used in a scrollable widget when updating the scrolled window adjustments in a given orientation.
Members
GTK_SCROLL_MINIMUM | Scrollable adjustments are based on the minimum size | |
GTK_SCROLL_NATURAL | Scrollable adjustments are based on the natural size |
Property Details
The “hadjustment”
property
“hadjustment” GtkAdjustment *
Horizontal GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent.
Owner: GtkScrollable
Flags: Read / Write / Construct
Since: 3.0
The “hscroll-policy”
property
“hscroll-policy” GtkScrollablePolicy
Determines whether horizontal scrolling should start once the scrollable widget is allocated less than its minimum width or less than its natural width.
Owner: GtkScrollable
Flags: Read / Write
Default value: GTK_SCROLL_MINIMUM
Since: 3.0
The “vadjustment”
property
“vadjustment” GtkAdjustment *
Verical GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent.
Owner: GtkScrollable
Flags: Read / Write / Construct
Since: 3.0
The “vscroll-policy”
property
“vscroll-policy” GtkScrollablePolicy
Determines whether vertical scrolling should start once the scrollable widget is allocated less than its minimum height or less than its natural height.
Owner: GtkScrollable
Flags: Read / Write
Default value: GTK_SCROLL_MINIMUM
Since: 3.0
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkScrollable.html