GtkScrollable
GtkScrollable — An interface for scrollable widgets
|
|
Prerequisites
GtkScrollable requires
GObject.
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_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.
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.
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.
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.
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