Class ClampLayout
- All Implemented Interfaces:
Proxy
,Orientable
AdwClampLayout
constraints the size of the widgets it contains to a given
maximum size. It will constrain the width if it is horizontal, or the height
if it is vertical. The expansion of the children from their minimum to their
maximum size is eased out for a smooth transition.
If a child requires more than the requested maximum size, it will be allocated the minimum size it can fit in instead.
AdwClampLayout
can scale with the text scale factor, use the
ClampLayout:unit
property to enable that behavior.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
ClampLayout.Builder<B extends ClampLayout.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static class
Nested classes/interfaces inherited from class org.gnome.gtk.LayoutManager
LayoutManager.LayoutManagerClass, LayoutManager.LayoutManagerImpl
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gtk.Orientable
Orientable.OrientableIface, Orientable.OrientableImpl
-
Constructor Summary
ConstructorDescriptionCreates a newAdwClampLayout
.ClampLayout
(MemorySegment address) Create a ClampLayout proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected ClampLayout
asParent()
Returns this instance as if it were its parent type.static ClampLayout.Builder
<? extends ClampLayout.Builder> builder()
AClampLayout.Builder
object constructs aClampLayout
with the specified properties.int
Gets the maximum size allocated to the children.int
Gets the size above which the children are clamped.static Type
getType()
Get the GType of the ClampLayout classgetUnit()
Gets the length unit for maximum size and tightening threshold.void
setMaximumSize
(int maximumSize) Sets the maximum size allocated to the children.void
setTighteningThreshold
(int tighteningThreshold) Sets the size above which the children are clamped.void
setUnit
(LengthUnit unit) Sets the length unit for maximum size and tightening threshold.Methods inherited from class org.gnome.gtk.LayoutManager
allocate, createLayoutChild, getLayoutChild, getMemoryLayout, getRequestMode, getRequestMode, getWidget, layoutChanged, measure, root, unroot
Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.gnome.gtk.Orientable
getOrientation, setOrientation
-
Constructor Details
-
ClampLayout
Create a ClampLayout proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
ClampLayout
public ClampLayout()Creates a newAdwClampLayout
.
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type.- Overrides:
asParent
in classLayoutManager
-
getMaximumSize
public int getMaximumSize()Gets the maximum size allocated to the children.- Returns:
- the maximum size to allocate to the children
-
getTighteningThreshold
public int getTighteningThreshold()Gets the size above which the children are clamped.- Returns:
- the size above which the children are clamped
-
getUnit
Gets the length unit for maximum size and tightening threshold.- Returns:
- the length unit
-
setMaximumSize
public void setMaximumSize(int maximumSize) Sets the maximum size allocated to the children.It is the width if the layout is horizontal, or the height if it is vertical.
- Parameters:
maximumSize
- the maximum size
-
setTighteningThreshold
public void setTighteningThreshold(int tighteningThreshold) Sets the size above which the children are clamped.Starting from this size, the layout will tighten its grip on the children, slowly allocating less and less of the available size up to the maximum allocated size. Below that threshold and below the maximum size, the children will be allocated all the available size.
If the threshold is greater than the maximum size to allocate to the children, they will be allocated the whole size up to the maximum. If the threshold is lower than the minimum size to allocate to the children, that size will be used as the tightening threshold.
Effectively, tightening the grip on a child before it reaches its maximum size makes transitions to and from the maximum size smoother when resizing.
- Parameters:
tighteningThreshold
- the tightening threshold
-
setUnit
Sets the length unit for maximum size and tightening threshold.Allows the sizes to vary depending on the text scale factor.
- Parameters:
unit
- the length unit
-
builder
AClampLayout.Builder
object constructs aClampLayout
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withClampLayout.Builder.build()
.
-