GtkScrollable — An interface for scrollable widgets
GtkAdjustment * | hadjustment | Read / Write / Construct |
GtkScrollablePolicy | hscroll-policy | Read / Write |
GtkAdjustment * | vadjustment | Read / Write / Construct |
GtkScrollablePolicy | vscroll-policy | Read / Write |
GInterface ╰── GtkScrollable
GtkScrollable requires GObject.
GtkScrollable is implemented by GtkColumnView, GtkGridView, GtkIconView, GtkListView, GtkTextView, GtkTreeView and GtkViewport.
#include <gtk/gtk.h>
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.
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.
GtkAdjustment *
gtk_scrollable_get_hadjustment (GtkScrollable *scrollable
);
Retrieves the GtkAdjustment used for horizontal scrolling.
scrollable |
void gtk_scrollable_set_hadjustment (GtkScrollable *scrollable
,GtkAdjustment *hadjustment
);
Sets the horizontal adjustment of the GtkScrollable.
scrollable | ||
hadjustment | [allow-none] |
GtkAdjustment *
gtk_scrollable_get_vadjustment (GtkScrollable *scrollable
);
Retrieves the GtkAdjustment used for vertical scrolling.
scrollable |
void gtk_scrollable_set_vadjustment (GtkScrollable *scrollable
,GtkAdjustment *vadjustment
);
Sets the vertical adjustment of the GtkScrollable.
scrollable | ||
vadjustment | [allow-none] |
GtkScrollablePolicy
gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable
);
Gets the horizontal GtkScrollablePolicy.
scrollable |
The horizontal GtkScrollablePolicy.
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.
scrollable | ||
policy | the horizontal GtkScrollablePolicy |
GtkScrollablePolicy
gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable
);
Gets the vertical GtkScrollablePolicy.
scrollable |
The vertical GtkScrollablePolicy.
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.
scrollable | ||
policy | the vertical GtkScrollablePolicy |
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 overlaid graphics, like the overshoot indication, at the right position.
scrollable | ||
border | return location for the results. | [out caller-allocates] |
TRUE
if border
has been set
typedef struct _GtkScrollable GtkScrollable;
Defines the policy to be used in a scrollable widget when updating the scrolled window adjustments in a given orientation.
GTK_SCROLL_MINIMUM | Scrollable adjustments are based on the minimum size | |
GTK_SCROLL_NATURAL | Scrollable adjustments are based on the natural size |
“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
“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
“vadjustment”
property“vadjustment” GtkAdjustment *
Vertical GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent.
Owner: GtkScrollable
Flags: Read / Write / Construct
“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
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk4/4.0/GtkScrollable.html