Package ch.bailu.gtk.gtk
Class Scrollable
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gobject.Object
ch.bailu.gtk.type.Interface
ch.bailu.gtk.gtk.Scrollable
- All Implemented Interfaces:
PointerInterface
`GtkScrollable` is an interface for widgets with native scrolling ability.
To implement this interface you should override the
[property@Gtk.Scrollable:hadjustment] and
[property@Gtk.Scrollable: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 connect to the [signal@Gtk.Adjustment::value-changed]
signal. The child widget should then populate the adjustments’ properties
as soon as possible, which usually means queueing an allocation right away
and populating the properties in the [vfunc@Gtk.Widget.size_allocate]
implementation.
- 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
[vfunc@Gtk.Widget.size_allocate] implementation.
- When the parent allocates space to the scrollable child widget,
the widget must ensure the adjustments’ property values are correct and up
to date, for example using [method@Gtk.Adjustment.configure].
- When any of the adjustments emits the [signal@Gtk.Adjustment::value-changed]
signal, the scrollable widget should scroll its contents.
To implement this interface you should override the
[property@Gtk.Scrollable:hadjustment] and
[property@Gtk.Scrollable: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 connect to the [signal@Gtk.Adjustment::value-changed]
signal. The child widget should then populate the adjustments’ properties
as soon as possible, which usually means queueing an allocation right away
and populating the properties in the [vfunc@Gtk.Widget.size_allocate]
implementation.
- 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
[vfunc@Gtk.Widget.size_allocate] implementation.
- When the parent allocates space to the scrollable child widget,
the widget must ensure the adjustments’ property values are correct and up
to date, for example using [method@Gtk.Adjustment.configure].
- When any of the adjustments emits the [signal@Gtk.Adjustment::value-changed]
signal, the scrollable widget should scroll its contents.
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.bailu.gtk.gobject.Object
Object.OnBindingTransformFunc, Object.OnDestroyNotify, Object.OnDuplicateFunc, Object.OnNotify, Object.OnToggleNotify, Object.OnWeakNotify
-
Field Summary
Fields inherited from class ch.bailu.gtk.gobject.Object
SIGNAL_ON_NOTIFY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns the size of a non-scrolling border around the
outside of the scrollable.static ClassHandler
Retrieves the `GtkAdjustment` used for horizontal scrolling.int
Gets the horizontal `GtkScrollablePolicy`.static int
static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
Retrieves the `GtkAdjustment` used for vertical scrolling.int
Gets the vertical `GtkScrollablePolicy`.void
setHadjustment
(Adjustment hadjustment) Sets the horizontal adjustment of the `GtkScrollable`.void
setHscrollPolicy
(int policy) Sets the `GtkScrollablePolicy`.void
setVadjustment
(Adjustment vadjustment) Sets the vertical adjustment of the `GtkScrollable`.void
setVscrollPolicy
(int policy) Sets the `GtkScrollablePolicy`.Methods inherited from class ch.bailu.gtk.gobject.Object
addToggleRef, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, disconnect, disconnect, dupData, dupData, dupQdata, forceFloating, freezeNotify, get, get, getData, getData, getProperty, getProperty, getQdata, interfaceFindProperty, interfaceInstallProperty, isFloating, notify, notify, notifyByPspec, onNotify, ref, refSink, removeToggleRef, replaceData, replaceData, replaceQdata, runDispose, set, set, setData, setData, setDataFull, setDataFull, setProperty, setProperty, setQdata, setQdataFull, stealData, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref
Methods inherited from class ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Methods inherited from class ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Constructor Details
-
Scrollable
-
-
Method Details
-
getClassHandler
-
getBorder
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.- Parameters:
border
- return location for the results- Returns:
- %TRUE if @border has been set
-
getHadjustment
Retrieves the `GtkAdjustment` used for horizontal scrolling.- Returns:
- horizontal `GtkAdjustment`.
-
getHscrollPolicy
public int getHscrollPolicy()Gets the horizontal `GtkScrollablePolicy`.- Returns:
- The horizontal `GtkScrollablePolicy`.
-
getVadjustment
Retrieves the `GtkAdjustment` used for vertical scrolling.- Returns:
- vertical `GtkAdjustment`.
-
getVscrollPolicy
public int getVscrollPolicy()Gets the vertical `GtkScrollablePolicy`.- Returns:
- The vertical `GtkScrollablePolicy`.
-
setHadjustment
Sets the horizontal adjustment of the `GtkScrollable`.- Parameters:
hadjustment
- a `GtkAdjustment`
-
setHscrollPolicy
public void setHscrollPolicy(int policy) Sets the `GtkScrollablePolicy`.
The policy determines whether horizontal scrolling should start
below the minimum width or below the natural width.- Parameters:
policy
- the horizontal `GtkScrollablePolicy`
-
setVadjustment
Sets the vertical adjustment of the `GtkScrollable`.- Parameters:
vadjustment
- a `GtkAdjustment`
-
setVscrollPolicy
public void setVscrollPolicy(int policy) Sets the `GtkScrollablePolicy`.
The policy determines whether vertical scrolling should start
below the minimum height or below the natural height.- Parameters:
policy
- the vertical `GtkScrollablePolicy`
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-