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

GI.Gtk.Objects.CenterBox

Description

GtkCenterBox arranges three children in a row, keeping the middle child centered as well as possible.

To add children to GtkCenterBox, use centerBoxSetStartWidget, centerBoxSetCenterWidget and centerBoxSetEndWidget.

The sizing and positioning of children can be influenced with the align and expand properties of the children.

GtkCenterBox as GtkBuildable

The GtkCenterBox implementation of the GtkBuildable interface supports placing children in the 3 positions by specifying “start”, “center” or “end” as the “type” attribute of a <child> element.

CSS nodes

GtkCenterBox uses a single CSS node with the name “box”,

The first child of the GtkCenterBox will be allocated depending on the text direction, i.e. in left-to-right layouts it will be allocated on the left and in right-to-left layouts on the right.

In vertical orientation, the nodes of the children are arranged from top to bottom.

Accessibility

Until GTK 4.10, GtkCenterBox used the GTK_ACCESSIBLE_ROLE_GROUP role.

Starting from GTK 4.12, GtkCenterBox uses the GTK_ACCESSIBLE_ROLE_GENERIC role.

Synopsis

Exported types

newtype CenterBox Source #

Memory-managed wrapper type.

class (GObject o, IsDescendantOf CenterBox o) => IsCenterBox o Source #

Type class for types which can be safely cast to CenterBox, for instance with toCenterBox.

Instances

Instances details
(GObject o, IsDescendantOf CenterBox o) => IsCenterBox o Source # 
Instance details

Defined in GI.Gtk.Objects.CenterBox

toCenterBox :: (MonadIO m, IsCenterBox o) => o -> m CenterBox Source #

Cast to CenterBox, 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, 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, isAncestor, isDrawable, isFloating, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, notify, notifyByPspec, observeChildren, observeControllers, pick, queueAllocate, queueDraw, queueResize, realize, ref, refSink, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, 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, getBaselinePosition, getBounds, getBuildableId, getCanFocus, getCanTarget, getCenterWidget, getChildVisible, getClipboard, getColor, getCssClasses, getCssName, getCursor, getData, getDirection, getDisplay, getEndWidget, getFirstAccessibleChild, getFirstChild, getFocusChild, getFocusOnClick, getFocusable, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, 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, getShrinkCenterLast, getSize, getSizeRequest, getStartWidget, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth.

Setters

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

getBaselinePosition

centerBoxGetBaselinePosition Source #

Arguments

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

self: a GtkCenterBox

-> m BaselinePosition

Returns: the baseline position

Gets the value set by centerBoxSetBaselinePosition.

getCenterWidget

centerBoxGetCenterWidget Source #

Arguments

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

self: a GtkCenterBox

-> m (Maybe Widget)

Returns: the center widget.

Gets the center widget, or Nothing if there is none.

getEndWidget

centerBoxGetEndWidget Source #

Arguments

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

self: a GtkCenterBox

-> m (Maybe Widget)

Returns: the end widget.

Gets the end widget, or Nothing if there is none.

getShrinkCenterLast

centerBoxGetShrinkCenterLast Source #

Arguments

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

self: a GtkCenterBox

-> m Bool

Returns: whether to shrink the center widget after others

Gets whether self shrinks the center widget after other children.

Since: 4.12

getStartWidget

centerBoxGetStartWidget Source #

Arguments

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

self: a GtkCenterBox

-> m (Maybe Widget)

Returns: the start widget.

Gets the start widget, or Nothing if there is none.

new

centerBoxNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m CenterBox

Returns: the new GtkCenterBox.

Creates a new GtkCenterBox.

setBaselinePosition

centerBoxSetBaselinePosition Source #

Arguments

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

self: a GtkCenterBox

-> BaselinePosition

position: a GtkBaselinePosition

-> m () 

Sets the baseline position of a center 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 wrt. the extra space available.

setCenterWidget

centerBoxSetCenterWidget Source #

Arguments

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

self: a GtkCenterBox

-> Maybe b

child: the new center widget

-> m () 

Sets the center widget.

To remove the existing center widget, pass Nothing.

setEndWidget

centerBoxSetEndWidget Source #

Arguments

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

self: a GtkCenterBox

-> Maybe b

child: the new end widget

-> m () 

Sets the end widget.

To remove the existing end widget, pass Nothing.

setShrinkCenterLast

centerBoxSetShrinkCenterLast Source #

Arguments

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

self: a GtkCenterBox

-> Bool

shrinkCenterLast: whether to shrink the center widget after others

-> m () 

Sets whether to shrink the center widget after other children.

By default, when there's no space to give all three children their natural widths, the start and end widgets start shrinking and the center child keeps natural width until they reach minimum width.

If set to FALSE, start and end widgets keep natural width and the center widget starts shrinking instead.

Since: 4.12

setStartWidget

centerBoxSetStartWidget Source #

Arguments

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

self: a GtkCenterBox

-> Maybe b

child: the new start widget

-> m () 

Sets the start widget.

To remove the existing start widget, pass Nothing.

Properties

baselinePosition

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

constructCenterBoxBaselinePosition :: (IsCenterBox 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.

getCenterBoxBaselinePosition :: (MonadIO m, IsCenterBox o) => o -> m BaselinePosition Source #

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

get centerBox #baselinePosition

setCenterBoxBaselinePosition :: (MonadIO m, IsCenterBox o) => o -> BaselinePosition -> m () Source #

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

set centerBox [ #baselinePosition := value ]

centerWidget

The widget that is placed at the center position.

Since: 4.10

clearCenterBoxCenterWidget :: (MonadIO m, IsCenterBox o) => o -> m () Source #

Set the value of the “center-widget” property to Nothing. When overloading is enabled, this is equivalent to

clear #centerWidget

constructCenterBoxCenterWidget :: (IsCenterBox o, MonadIO m, IsWidget a) => a -> m (GValueConstruct o) Source #

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

getCenterBoxCenterWidget :: (MonadIO m, IsCenterBox o) => o -> m (Maybe Widget) Source #

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

get centerBox #centerWidget

setCenterBoxCenterWidget :: (MonadIO m, IsCenterBox o, IsWidget a) => o -> a -> m () Source #

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

set centerBox [ #centerWidget := value ]

endWidget

The widget that is placed at the end position.

In vertical orientation, the end position is at the bottom. In horizontal orientation, the end position is at the trailing edge wrt. to the text direction.

Since: 4.10

clearCenterBoxEndWidget :: (MonadIO m, IsCenterBox o) => o -> m () Source #

Set the value of the “end-widget” property to Nothing. When overloading is enabled, this is equivalent to

clear #endWidget

constructCenterBoxEndWidget :: (IsCenterBox o, MonadIO m, IsWidget a) => a -> m (GValueConstruct o) Source #

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

getCenterBoxEndWidget :: (MonadIO m, IsCenterBox o) => o -> m (Maybe Widget) Source #

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

get centerBox #endWidget

setCenterBoxEndWidget :: (MonadIO m, IsCenterBox o, IsWidget a) => o -> a -> m () Source #

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

set centerBox [ #endWidget := value ]

shrinkCenterLast

Whether to shrink the center widget after other children.

By default, when there's no space to give all three children their natural widths, the start and end widgets start shrinking and the center child keeps natural width until they reach minimum width.

If set to FALSE, start and end widgets keep natural width and the center widget starts shrinking instead.

Since: 4.12

constructCenterBoxShrinkCenterLast :: (IsCenterBox o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

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

getCenterBoxShrinkCenterLast :: (MonadIO m, IsCenterBox o) => o -> m Bool Source #

Get the value of the “shrink-center-last” property. When overloading is enabled, this is equivalent to

get centerBox #shrinkCenterLast

setCenterBoxShrinkCenterLast :: (MonadIO m, IsCenterBox o) => o -> Bool -> m () Source #

Set the value of the “shrink-center-last” property. When overloading is enabled, this is equivalent to

set centerBox [ #shrinkCenterLast := value ]

startWidget

The widget that is placed at the start position.

In vertical orientation, the start position is at the top. In horizontal orientation, the start position is at the leading edge wrt. to the text direction.

Since: 4.10

clearCenterBoxStartWidget :: (MonadIO m, IsCenterBox o) => o -> m () Source #

Set the value of the “start-widget” property to Nothing. When overloading is enabled, this is equivalent to

clear #startWidget

constructCenterBoxStartWidget :: (IsCenterBox o, MonadIO m, IsWidget a) => a -> m (GValueConstruct o) Source #

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

getCenterBoxStartWidget :: (MonadIO m, IsCenterBox o) => o -> m (Maybe Widget) Source #

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

get centerBox #startWidget

setCenterBoxStartWidget :: (MonadIO m, IsCenterBox o, IsWidget a) => o -> a -> m () Source #

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

set centerBox [ #startWidget := value ]