Class Box
- All Implemented Interfaces:
Proxy
,Accessible
,Buildable
,ConstraintTarget
,Orientable
- Direct Known Subclasses:
ShortcutsGroup
,ShortcutsSection
GtkBox
widget arranges child widgets into a single row or column.
Whether it is a row or column depends on the value of its
Gtk.Orientable:orientation
property. Within the other
dimension, all children are allocated the same size. Of course, the
Gtk.Widget:halign
and Gtk.Widget:valign
properties
can be used on the children to influence their allocation.
Use repeated calls to append(org.gnome.gtk.Widget)
to pack widgets into a
GtkBox
from start to end. Use remove(org.gnome.gtk.Widget)
to remove widgets
from the GtkBox
. insertChildAfter(org.gnome.gtk.Widget, org.gnome.gtk.Widget)
can be used to add
a child at a particular position.
Use setHomogeneous(boolean)
to specify whether or not all children
of the GtkBox
are forced to get the same amount of space.
Use setSpacing(int)
to determine how much space will be minimally
placed between all children in the GtkBox
. Note that spacing is added between the children.
Use reorderChildAfter(org.gnome.gtk.Widget, org.gnome.gtk.Widget)
to move a child to a different
place in the box.
CSS nodes
GtkBox
uses a single CSS node with name box.
Accessibility
Until GTK 4.10, GtkBox
used the GTK_ACCESSIBLE_ROLE_GROUP
role.
Starting from GTK 4.12, GtkBox
uses the GTK_ACCESSIBLE_ROLE_GENERIC
role.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
Box.Builder<B extends Box.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.Nested classes/interfaces inherited from class org.gnome.gtk.Widget
Widget.DestroyCallback, Widget.DirectionChangedCallback, Widget.HideCallback, Widget.KeynavFailedCallback, Widget.MapCallback, Widget.MnemonicActivateCallback, Widget.MoveFocusCallback, Widget.QueryTooltipCallback, Widget.RealizeCallback, Widget.ShowCallback, Widget.StateFlagsChangedCallback, Widget.UnmapCallback, Widget.UnrealizeCallback, Widget.WidgetClass, Widget.WidgetImpl
Nested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gtk.Accessible
Accessible.AccessibleImpl, Accessible.AccessibleInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Buildable
Buildable.BuildableIface, Buildable.BuildableImpl
Nested classes/interfaces inherited from interface org.gnome.gtk.ConstraintTarget
ConstraintTarget.ConstraintTargetImpl, ConstraintTarget.ConstraintTargetInterface
Nested classes/interfaces inherited from interface org.gnome.gtk.Orientable
Orientable.OrientableIface, Orientable.OrientableImpl
-
Constructor Summary
ConstructorDescriptionBox
(MemorySegment address) Create a Box proxy instance for the provided memory address.Box
(Orientation orientation, int spacing) Creates a newGtkBox
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Addschild
as the last child to this Box.protected Box
asParent()
Returns this instance as if it were its parent type.static Box.Builder
<? extends Box.Builder> builder()
ABox.Builder
object constructs aBox
with the specified properties.int
Gets the value set by gtk_box_set_baseline_child().Gets the value set by gtk_box_set_baseline_position().boolean
Returns whether the box is homogeneous (all children are the same size).static MemoryLayout
The memory layout of the native struct.int
Gets the value set by gtk_box_set_spacing().static Type
getType()
Get the GType of the Box classvoid
insertChildAfter
(Widget child, @Nullable Widget sibling) Insertschild
in the position aftersibling
in the list of this Box children.void
Addschild
as the first child to this Box.void
Removes a child widget from this Box.void
reorderChildAfter
(Widget child, @Nullable Widget sibling) Moveschild
to the position aftersibling
in the list of this Box children.void
setBaselineChild
(int child) Sets the baseline child of a box.void
setBaselinePosition
(BaselinePosition position) Sets the baseline position of a box.void
setHomogeneous
(boolean homogeneous) Sets whether or not all children of this Box are given equal space in the box.void
setSpacing
(int spacing) Sets the number of pixels to place between children of this Box.Methods inherited from class org.gnome.gtk.Widget
actionSetEnabled, activateActionIfExists, activateDefault, activateWidget, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, childFocus, computeBounds, computeExpand, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, cssChanged, directionChanged, disposeTemplate, dragCheckThreshold, emitDestroy, emitDirectionChanged, emitHide, emitKeynavFailed, emitMap, emitMnemonicActivate, emitMoveFocus, emitQueryTooltip, emitRealize, emitShow, emitStateFlagsChanged, emitUnmap, emitUnrealize, errorBell, focus, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getBaseline, getCanFocus, getCanTarget, getChildVisible, getClipboard, getColor, getCssClasses, getCssName, getCursor, getDefaultDirection, getDirection, getDisplay, getFirstChild, getFocusable, getFocusChild, getFocusOnClick, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, moveFocus, observeChildren, observeControllers, onDestroy, onDirectionChanged, onHide, onKeynavFailed, onMap, onMnemonicActivate, onMoveFocus, onQueryTooltip, onRealize, onShow, onStateFlagsChanged, onUnmap, onUnrealize, pick, pick, queryTooltip, queueAllocate, queueDraw, queueResize, realize, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, root, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setDefaultDirection, setDirection, setFocusable, setFocusChild, setFocusOnClick, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOverflow, setParent, setReceivesDefault, setSensitive, setSizeRequest, setStateFlags, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible, shouldLayout, show, sizeAllocate, sizeAllocate, snapshot, snapshotChild, stateFlagsChanged, systemSettingChanged, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unroot, unsetStateFlags, unsetStateFlags
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.Accessible
announce, getAccessibleParent, getAccessibleRole, getAtContext, getBounds, getFirstAccessibleChild, getNextAccessibleSibling, getPlatformState, resetProperty, resetRelation, resetState, setAccessibleParent, updateNextAccessibleSibling, updateProperty, updateRelation, updateState
Methods inherited from interface org.gnome.gtk.Buildable
getBuildableId
Methods inherited from interface org.gnome.gtk.Orientable
getOrientation, setOrientation
-
Constructor Details
-
Box
Create a Box proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
Box
Creates a newGtkBox
.- Parameters:
orientation
- the box’s orientationspacing
- the number of pixels to place by default between children
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
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. -
append
Addschild
as the last child to this Box.- Parameters:
child
- theGtkWidget
to append
-
getBaselineChild
public int getBaselineChild()Gets the value set by gtk_box_set_baseline_child().- Returns:
- the baseline child
-
getBaselinePosition
Gets the value set by gtk_box_set_baseline_position().- Returns:
- the baseline position
-
getHomogeneous
public boolean getHomogeneous()Returns whether the box is homogeneous (all children are the same size).- Returns:
true
if the box is homogeneous.
-
getSpacing
public int getSpacing()Gets the value set by gtk_box_set_spacing().- Returns:
- spacing between children
-
insertChildAfter
Insertschild
in the position aftersibling
in the list of this Box children.If
sibling
isnull
, insertchild
at the first position.- Parameters:
child
- theGtkWidget
to insertsibling
- the sibling after which to insertchild
-
prepend
Addschild
as the first child to this Box.- Parameters:
child
- theGtkWidget
to prepend
-
remove
Removes a child widget from this Box.The child must have been added before with
append(org.gnome.gtk.Widget)
,prepend(org.gnome.gtk.Widget)
, orinsertChildAfter(org.gnome.gtk.Widget, org.gnome.gtk.Widget)
.- Parameters:
child
- the child to remove
-
reorderChildAfter
Moveschild
to the position aftersibling
in the list of this Box children.If
sibling
isnull
, movechild
to the first position.- Parameters:
child
- theGtkWidget
to move, must be a child of this Boxsibling
- the sibling to movechild
after
-
setBaselineChild
public void setBaselineChild(int child) Sets the baseline child of a box.This affects only vertical boxes.
- Parameters:
child
- a child, or -1
-
setBaselinePosition
Sets the baseline position of a box.This affects only horizontal boxes with at least one baseline aligned child. If there is more vertical space available than requested, and the baseline is not allocated by the parent then
position
is used to allocate the baseline with respect to the extra space available.- Parameters:
position
- aGtkBaselinePosition
-
setHomogeneous
public void setHomogeneous(boolean homogeneous) Sets whether or not all children of this Box are given equal space in the box.- Parameters:
homogeneous
- a boolean value,true
to create equal allotments,false
for variable allotments
-
setSpacing
public void setSpacing(int spacing) Sets the number of pixels to place between children of this Box.- Parameters:
spacing
- the number of pixels to put between children
-
builder
ABox.Builder
object constructs aBox
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withBox.Builder.build()
.
-