Class ClampLayout
- All Implemented Interfaces:
Orientable, Proxy
A layout manager constraining its children to a given size.
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.
See also: Clamp, ClampScrollable.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classClampLayout.Builder<B extends ClampLayout.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static classNested classes/interfaces inherited from class LayoutManager
LayoutManager.LayoutManager$Impl, LayoutManager.LayoutManagerClassNested classes/interfaces inherited from class GObject
GObject.NotifyCallback, GObject.ObjectClassNested classes/interfaces inherited from interface Orientable
Orientable.Orientable$Impl, Orientable.OrientableIface -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new ClampLayout.ClampLayout(MemorySegment address) Create a ClampLayout instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected ClampLayoutasParent()Return this instance as if it were its parent type.static ClampLayout.Builder<? extends ClampLayout.Builder> builder()AClampLayout.Builderobject constructs aClampLayoutwith the specified properties.intGets the maximum size allocated to the children.static MemoryLayoutThe memory layout of the native struct.intGets the size above which the children are clamped.static @Nullable TypegetType()Get the GType of the ClampLayout class.getUnit()Gets the length unit for maximum size and tightening threshold.voidsetMaximumSize(int maximumSize) Sets the maximum size allocated to the children.voidsetTighteningThreshold(int tighteningThreshold) Sets the size above which the children are clamped.voidsetUnit(LengthUnit unit) Sets the length unit for maximum size and tightening threshold.Methods inherited from class LayoutManager
allocate, createLayoutChild, getLayoutChild, getRequestMode, getRequestMode, getWidget, layoutChanged, measure, root, unrootMethods inherited from class 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, 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, withPropertiesMethods inherited from class TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class ProxyInstance
equals, handle, hashCodeMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Orientable
getOrientation, setOrientation
-
Constructor Details
-
ClampLayout
Create a ClampLayout instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
ClampLayout
public ClampLayout()Create a new ClampLayout.
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Return this instance as if it were its parent type. Comparable to the Javasuperkeyword, but ensures the parent typeclass is also used in native code.- Overrides:
asParentin classLayoutManager- Returns:
- the instance as if it were its parent type
-
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
- Since:
- 1.4
-
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- Since:
- 1.4
-
builder
AClampLayout.Builderobject constructs aClampLayoutwith the specified properties. Use the variousset...()methods to set properties, and finish construction withClampLayout.Builder.build().- Returns:
- the builder object
-