gi-gtk-4.0.9: Gtk bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gtk.Objects.Box

Description

The GtkBox widget arranges child widgets into a single row or column.

Whether it is a row or column depends on the value of its Orientable:orientation property. Within the other dimension, all children are allocated the same size. Of course, the Widget:halign and Widget:valign properties can be used on the children to influence their allocation.

Use repeated calls to boxAppend to pack widgets into a GtkBox from start to end. Use boxRemove to remove widgets from the GtkBox. boxInsertChildAfter can be used to add a child at a particular position.

Use boxSetHomogeneous to specify whether or not all children of the GtkBox are forced to get the same amount of space.

Use boxSetSpacing to determine how much space will be minimally placed between all children in the GtkBox. Note that spacing is added *between* the children.

Use boxReorderChildAfter 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.

Synopsis

Exported types

newtype Box Source #

Memory-managed wrapper type.

Constructors

Box (ManagedPtr Box) 

Instances

Instances details
Eq Box Source # 
Instance details

Defined in GI.Gtk.Objects.Box

Methods

(==) :: Box -> Box -> Bool #

(/=) :: Box -> Box -> Bool #

GObject Box Source # 
Instance details

Defined in GI.Gtk.Objects.Box

ManagedPtrNewtype Box Source # 
Instance details

Defined in GI.Gtk.Objects.Box

Methods

toManagedPtr :: Box -> ManagedPtr Box

TypedObject Box Source # 
Instance details

Defined in GI.Gtk.Objects.Box

Methods

glibType :: IO GType

HasParentTypes Box Source # 
Instance details

Defined in GI.Gtk.Objects.Box

IsGValue (Maybe Box) Source #

Convert Box to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Gtk.Objects.Box

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe Box -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe Box)

type ParentTypes Box Source # 
Instance details

Defined in GI.Gtk.Objects.Box

type ParentTypes Box = '[Widget, Object, Accessible, Buildable, ConstraintTarget, Orientable]

class (GObject o, IsDescendantOf Box o) => IsBox o Source #

Type class for types which can be safely cast to Box, for instance with toBox.

Instances

Instances details
(GObject o, IsDescendantOf Box o) => IsBox o Source # 
Instance details

Defined in GI.Gtk.Objects.Box

toBox :: (MonadIO m, IsBox o) => o -> m Box Source #

Cast to Box, for types for which this is known to be safe. For general casts, use castTo.

Methods

Click to display all available methods, including inherited ones

Expand

Methods

actionSetEnabled, activate, activateAction, activateDefault, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, announce, append, bindProperty, bindPropertyFull, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, forceFloating, freezeNotify, getv, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, insertChildAfter, isAncestor, isDrawable, isFloating, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, notify, notifyByPspec, observeChildren, observeControllers, pick, prepend, queueAllocate, queueDraw, queueResize, realize, ref, refSink, remove, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, reorderChildAfter, resetProperty, resetRelation, resetState, runDispose, shouldLayout, show, sizeAllocate, snapshotChild, stealData, stealQdata, thawNotify, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unref, unsetStateFlags, updateNextAccessibleSibling, updateProperty, updateRelation, updateState, watchClosure.

Getters

getAccessibleParent, getAccessibleRole, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getAtContext, getBaseline, getBaselineChild, getBaselinePosition, getBounds, getBuildableId, getCanFocus, getCanTarget, getChildVisible, getClipboard, getColor, getCssClasses, getCssName, getCursor, getData, getDirection, getDisplay, getFirstAccessibleChild, getFirstChild, getFocusChild, getFocusOnClick, getFocusable, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getHomogeneous, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getName, getNative, getNextAccessibleSibling, getNextSibling, getOpacity, getOrientation, getOverflow, getPangoContext, getParent, getPlatformState, getPreferredSize, getPrevSibling, getPrimaryClipboard, getProperty, getQdata, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getSpacing, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth.

Setters

setAccessibleParent, setBaselineChild, setBaselinePosition, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setData, setDataFull, setDirection, setFocusChild, setFocusOnClick, setFocusable, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setHomogeneous, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOrientation, setOverflow, setParent, setProperty, setReceivesDefault, setSensitive, setSizeRequest, setSpacing, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible.

append

boxAppend Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a, IsWidget b) 
=> a

box: a GtkBox

-> b

child: the GtkWidget to append

-> m () 

Adds child as the last child to box.

getBaselineChild

boxGetBaselineChild Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a) 
=> a

box: a GtkBox

-> m Int32

Returns: the baseline child

Gets the value set by boxSetBaselineChild.

Since: 4.12

getBaselinePosition

boxGetBaselinePosition Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a) 
=> a

box: a GtkBox

-> m BaselinePosition

Returns: the baseline position

Gets the value set by boxSetBaselinePosition.

getHomogeneous

boxGetHomogeneous Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a) 
=> a

box: a GtkBox

-> m Bool

Returns: True if the box is homogeneous.

Returns whether the box is homogeneous (all children are the same size).

getSpacing

boxGetSpacing Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a) 
=> a

box: a GtkBox

-> m Int32

Returns: spacing between children

Gets the value set by boxSetSpacing.

insertChildAfter

boxInsertChildAfter Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a, IsWidget b, IsWidget c) 
=> a

box: a GtkBox

-> b

child: the GtkWidget to insert

-> Maybe c

sibling: the sibling after which to insert child

-> m () 

Inserts child in the position after sibling in the list of box children.

If sibling is Nothing, insert child at the first position.

new

boxNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Orientation

orientation: the box’s orientation

-> Int32

spacing: the number of pixels to place by default between children

-> m Box

Returns: a new GtkBox.

Creates a new GtkBox.

prepend

boxPrepend Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a, IsWidget b) 
=> a

box: a GtkBox

-> b

child: the GtkWidget to prepend

-> m () 

Adds child as the first child to box.

remove

boxRemove Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a, IsWidget b) 
=> a

box: a GtkBox

-> b

child: the child to remove

-> m () 

Removes a child widget from box.

The child must have been added before with boxAppend, boxPrepend, or boxInsertChildAfter.

reorderChildAfter

boxReorderChildAfter Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a, IsWidget b, IsWidget c) 
=> a

box: a GtkBox

-> b

child: the GtkWidget to move, must be a child of box

-> Maybe c

sibling: the sibling to move child after

-> m () 

Moves child to the position after sibling in the list of box children.

If sibling is Nothing, move child to the first position.

setBaselineChild

boxSetBaselineChild Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a) 
=> a

box: a GtkBox

-> Int32

child: a child, or -1

-> m () 

Sets the baseline child of a box.

This affects only vertical boxes.

Since: 4.12

setBaselinePosition

boxSetBaselinePosition Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a) 
=> a

box: a GtkBox

-> BaselinePosition

position: a GtkBaselinePosition

-> m () 

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.

setHomogeneous

boxSetHomogeneous Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a) 
=> a

box: a GtkBox

-> Bool

homogeneous: a boolean value, True to create equal allotments, False for variable allotments

-> m () 

Sets whether or not all children of box are given equal space in the box.

setSpacing

boxSetSpacing Source #

Arguments

:: (HasCallStack, MonadIO m, IsBox a) 
=> a

box: a GtkBox

-> Int32

spacing: the number of pixels to put between children

-> m () 

Sets the number of pixels to place between children of box.

Properties

baselineChild

The child that determines the baseline, in vertical orientation.

Since: 4.12

constructBoxBaselineChild :: (IsBox o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “baseline-child” property. This is rarely needed directly, but it is used by new.

getBoxBaselineChild :: (MonadIO m, IsBox o) => o -> m Int32 Source #

Get the value of the “baseline-child” property. When overloading is enabled, this is equivalent to

get box #baselineChild

setBoxBaselineChild :: (MonadIO m, IsBox o) => o -> Int32 -> m () Source #

Set the value of the “baseline-child” property. When overloading is enabled, this is equivalent to

set box [ #baselineChild := value ]

baselinePosition

The position of the baseline aligned widgets if extra space is available.

constructBoxBaselinePosition :: (IsBox o, MonadIO m) => BaselinePosition -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “baseline-position” property. This is rarely needed directly, but it is used by new.

getBoxBaselinePosition :: (MonadIO m, IsBox o) => o -> m BaselinePosition Source #

Get the value of the “baseline-position” property. When overloading is enabled, this is equivalent to

get box #baselinePosition

setBoxBaselinePosition :: (MonadIO m, IsBox o) => o -> BaselinePosition -> m () Source #

Set the value of the “baseline-position” property. When overloading is enabled, this is equivalent to

set box [ #baselinePosition := value ]

homogeneous

Whether the children should all be the same size.

constructBoxHomogeneous :: (IsBox o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “homogeneous” property. This is rarely needed directly, but it is used by new.

getBoxHomogeneous :: (MonadIO m, IsBox o) => o -> m Bool Source #

Get the value of the “homogeneous” property. When overloading is enabled, this is equivalent to

get box #homogeneous

setBoxHomogeneous :: (MonadIO m, IsBox o) => o -> Bool -> m () Source #

Set the value of the “homogeneous” property. When overloading is enabled, this is equivalent to

set box [ #homogeneous := value ]

spacing

The amount of space between children.

constructBoxSpacing :: (IsBox o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “spacing” property. This is rarely needed directly, but it is used by new.

getBoxSpacing :: (MonadIO m, IsBox o) => o -> m Int32 Source #

Get the value of the “spacing” property. When overloading is enabled, this is equivalent to

get box #spacing

setBoxSpacing :: (MonadIO m, IsBox o) => o -> Int32 -> m () Source #

Set the value of the “spacing” property. When overloading is enabled, this is equivalent to

set box [ #spacing := value ]