Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
GI.Gtk.Objects.FlowBox
Contents
- Exported types
- Methods
- bindModel
- getActivateOnSingleClick
- getChildAtIndex
- getChildAtPos
- getColumnSpacing
- getHomogeneous
- getMaxChildrenPerLine
- getMinChildrenPerLine
- getRowSpacing
- getSelectedChildren
- getSelectionMode
- insert
- invalidateFilter
- invalidateSort
- new
- selectAll
- selectChild
- selectedForeach
- setActivateOnSingleClick
- setColumnSpacing
- setFilterFunc
- setHadjustment
- setHomogeneous
- setMaxChildrenPerLine
- setMinChildrenPerLine
- setRowSpacing
- setSelectionMode
- setSortFunc
- setVadjustment
- unselectAll
- unselectChild
- Properties
- Signals
Description
A GtkFlowBox positions child widgets in sequence according to its orientation.
For instance, with the horizontal orientation, the widgets will be arranged from left to right, starting a new row under the previous row when necessary. Reducing the width in this case will require more rows, so a larger height will be requested.
Likewise, with the vertical orientation, the widgets will be arranged from top to bottom, starting a new column to the right when necessary. Reducing the height will require more columns, so a larger width will be requested.
The children of a GtkFlowBox can be dynamically sorted and filtered.
Although a GtkFlowBox must have only FlowBoxChild
children,
you can add any kind of widget to it via containerAdd
, and
a GtkFlowBoxChild widget will automatically be inserted between
the box and the widget.
Also see ListBox
.
GtkFlowBox was added in GTK+ 3.12.
CSS nodes
plain code
flowbox ├── flowboxchild │ ╰── <child> ├── flowboxchild │ ╰── <child> ┊ ╰── [rubberband]
GtkFlowBox uses a single CSS node with name flowbox. GtkFlowBoxChild uses a single CSS node with name flowboxchild. For rubberband selection, a subnode with name rubberband is used.
- newtype FlowBox = FlowBox (ManagedPtr FlowBox)
- class GObject o => IsFlowBox o
- toFlowBox :: (MonadIO m, IsFlowBox o) => o -> m FlowBox
- noFlowBox :: Maybe FlowBox
- flowBoxBindModel :: (HasCallStack, MonadIO m, IsFlowBox a, IsListModel b) => a -> Maybe b -> FlowBoxCreateWidgetFunc -> m ()
- flowBoxGetActivateOnSingleClick :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m Bool
- flowBoxGetChildAtIndex :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> Int32 -> m (Maybe FlowBoxChild)
- flowBoxGetChildAtPos :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> Int32 -> Int32 -> m (Maybe FlowBoxChild)
- flowBoxGetColumnSpacing :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m Word32
- flowBoxGetHomogeneous :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m Bool
- flowBoxGetMaxChildrenPerLine :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m Word32
- flowBoxGetMinChildrenPerLine :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m Word32
- flowBoxGetRowSpacing :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m Word32
- flowBoxGetSelectedChildren :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m [FlowBoxChild]
- flowBoxGetSelectionMode :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m SelectionMode
- flowBoxInsert :: (HasCallStack, MonadIO m, IsFlowBox a, IsWidget b) => a -> b -> Int32 -> m ()
- flowBoxInvalidateFilter :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m ()
- flowBoxInvalidateSort :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m ()
- flowBoxNew :: (HasCallStack, MonadIO m) => m FlowBox
- flowBoxSelectAll :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m ()
- flowBoxSelectChild :: (HasCallStack, MonadIO m, IsFlowBox a, IsFlowBoxChild b) => a -> b -> m ()
- flowBoxSelectedForeach :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> FlowBoxForeachFunc -> m ()
- flowBoxSetActivateOnSingleClick :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> Bool -> m ()
- flowBoxSetColumnSpacing :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> Word32 -> m ()
- flowBoxSetFilterFunc :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> Maybe FlowBoxFilterFunc -> m ()
- flowBoxSetHadjustment :: (HasCallStack, MonadIO m, IsFlowBox a, IsAdjustment b) => a -> b -> m ()
- flowBoxSetHomogeneous :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> Bool -> m ()
- flowBoxSetMaxChildrenPerLine :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> Word32 -> m ()
- flowBoxSetMinChildrenPerLine :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> Word32 -> m ()
- flowBoxSetRowSpacing :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> Word32 -> m ()
- flowBoxSetSelectionMode :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> SelectionMode -> m ()
- flowBoxSetSortFunc :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> Maybe FlowBoxSortFunc -> m ()
- flowBoxSetVadjustment :: (HasCallStack, MonadIO m, IsFlowBox a, IsAdjustment b) => a -> b -> m ()
- flowBoxUnselectAll :: (HasCallStack, MonadIO m, IsFlowBox a) => a -> m ()
- flowBoxUnselectChild :: (HasCallStack, MonadIO m, IsFlowBox a, IsFlowBoxChild b) => a -> b -> m ()
- constructFlowBoxActivateOnSingleClick :: IsFlowBox o => Bool -> IO (GValueConstruct o)
- getFlowBoxActivateOnSingleClick :: (MonadIO m, IsFlowBox o) => o -> m Bool
- setFlowBoxActivateOnSingleClick :: (MonadIO m, IsFlowBox o) => o -> Bool -> m ()
- constructFlowBoxColumnSpacing :: IsFlowBox o => Word32 -> IO (GValueConstruct o)
- getFlowBoxColumnSpacing :: (MonadIO m, IsFlowBox o) => o -> m Word32
- setFlowBoxColumnSpacing :: (MonadIO m, IsFlowBox o) => o -> Word32 -> m ()
- constructFlowBoxHomogeneous :: IsFlowBox o => Bool -> IO (GValueConstruct o)
- getFlowBoxHomogeneous :: (MonadIO m, IsFlowBox o) => o -> m Bool
- setFlowBoxHomogeneous :: (MonadIO m, IsFlowBox o) => o -> Bool -> m ()
- constructFlowBoxMaxChildrenPerLine :: IsFlowBox o => Word32 -> IO (GValueConstruct o)
- getFlowBoxMaxChildrenPerLine :: (MonadIO m, IsFlowBox o) => o -> m Word32
- setFlowBoxMaxChildrenPerLine :: (MonadIO m, IsFlowBox o) => o -> Word32 -> m ()
- constructFlowBoxMinChildrenPerLine :: IsFlowBox o => Word32 -> IO (GValueConstruct o)
- getFlowBoxMinChildrenPerLine :: (MonadIO m, IsFlowBox o) => o -> m Word32
- setFlowBoxMinChildrenPerLine :: (MonadIO m, IsFlowBox o) => o -> Word32 -> m ()
- constructFlowBoxRowSpacing :: IsFlowBox o => Word32 -> IO (GValueConstruct o)
- getFlowBoxRowSpacing :: (MonadIO m, IsFlowBox o) => o -> m Word32
- setFlowBoxRowSpacing :: (MonadIO m, IsFlowBox o) => o -> Word32 -> m ()
- constructFlowBoxSelectionMode :: IsFlowBox o => SelectionMode -> IO (GValueConstruct o)
- getFlowBoxSelectionMode :: (MonadIO m, IsFlowBox o) => o -> m SelectionMode
- setFlowBoxSelectionMode :: (MonadIO m, IsFlowBox o) => o -> SelectionMode -> m ()
- type C_FlowBoxActivateCursorChildCallback = Ptr () -> Ptr () -> IO ()
- type FlowBoxActivateCursorChildCallback = IO ()
- afterFlowBoxActivateCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxActivateCursorChildCallback -> m SignalHandlerId
- genClosure_FlowBoxActivateCursorChild :: FlowBoxActivateCursorChildCallback -> IO Closure
- mk_FlowBoxActivateCursorChildCallback :: C_FlowBoxActivateCursorChildCallback -> IO (FunPtr C_FlowBoxActivateCursorChildCallback)
- noFlowBoxActivateCursorChildCallback :: Maybe FlowBoxActivateCursorChildCallback
- onFlowBoxActivateCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxActivateCursorChildCallback -> m SignalHandlerId
- wrap_FlowBoxActivateCursorChildCallback :: FlowBoxActivateCursorChildCallback -> Ptr () -> Ptr () -> IO ()
- type C_FlowBoxChildActivatedCallback = Ptr () -> Ptr FlowBoxChild -> Ptr () -> IO ()
- type FlowBoxChildActivatedCallback = FlowBoxChild -> IO ()
- afterFlowBoxChildActivated :: (IsFlowBox a, MonadIO m) => a -> FlowBoxChildActivatedCallback -> m SignalHandlerId
- genClosure_FlowBoxChildActivated :: FlowBoxChildActivatedCallback -> IO Closure
- mk_FlowBoxChildActivatedCallback :: C_FlowBoxChildActivatedCallback -> IO (FunPtr C_FlowBoxChildActivatedCallback)
- noFlowBoxChildActivatedCallback :: Maybe FlowBoxChildActivatedCallback
- onFlowBoxChildActivated :: (IsFlowBox a, MonadIO m) => a -> FlowBoxChildActivatedCallback -> m SignalHandlerId
- wrap_FlowBoxChildActivatedCallback :: FlowBoxChildActivatedCallback -> Ptr () -> Ptr FlowBoxChild -> Ptr () -> IO ()
- type C_FlowBoxMoveCursorCallback = Ptr () -> CUInt -> Int32 -> Ptr () -> IO CInt
- type FlowBoxMoveCursorCallback = MovementStep -> Int32 -> IO Bool
- afterFlowBoxMoveCursor :: (IsFlowBox a, MonadIO m) => a -> FlowBoxMoveCursorCallback -> m SignalHandlerId
- genClosure_FlowBoxMoveCursor :: FlowBoxMoveCursorCallback -> IO Closure
- mk_FlowBoxMoveCursorCallback :: C_FlowBoxMoveCursorCallback -> IO (FunPtr C_FlowBoxMoveCursorCallback)
- noFlowBoxMoveCursorCallback :: Maybe FlowBoxMoveCursorCallback
- onFlowBoxMoveCursor :: (IsFlowBox a, MonadIO m) => a -> FlowBoxMoveCursorCallback -> m SignalHandlerId
- wrap_FlowBoxMoveCursorCallback :: FlowBoxMoveCursorCallback -> Ptr () -> CUInt -> Int32 -> Ptr () -> IO CInt
- type C_FlowBoxSelectAllCallback = Ptr () -> Ptr () -> IO ()
- type FlowBoxSelectAllCallback = IO ()
- afterFlowBoxSelectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectAllCallback -> m SignalHandlerId
- genClosure_FlowBoxSelectAll :: FlowBoxSelectAllCallback -> IO Closure
- mk_FlowBoxSelectAllCallback :: C_FlowBoxSelectAllCallback -> IO (FunPtr C_FlowBoxSelectAllCallback)
- noFlowBoxSelectAllCallback :: Maybe FlowBoxSelectAllCallback
- onFlowBoxSelectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectAllCallback -> m SignalHandlerId
- wrap_FlowBoxSelectAllCallback :: FlowBoxSelectAllCallback -> Ptr () -> Ptr () -> IO ()
- type C_FlowBoxSelectedChildrenChangedCallback = Ptr () -> Ptr () -> IO ()
- type FlowBoxSelectedChildrenChangedCallback = IO ()
- afterFlowBoxSelectedChildrenChanged :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectedChildrenChangedCallback -> m SignalHandlerId
- genClosure_FlowBoxSelectedChildrenChanged :: FlowBoxSelectedChildrenChangedCallback -> IO Closure
- mk_FlowBoxSelectedChildrenChangedCallback :: C_FlowBoxSelectedChildrenChangedCallback -> IO (FunPtr C_FlowBoxSelectedChildrenChangedCallback)
- noFlowBoxSelectedChildrenChangedCallback :: Maybe FlowBoxSelectedChildrenChangedCallback
- onFlowBoxSelectedChildrenChanged :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectedChildrenChangedCallback -> m SignalHandlerId
- wrap_FlowBoxSelectedChildrenChangedCallback :: FlowBoxSelectedChildrenChangedCallback -> Ptr () -> Ptr () -> IO ()
- type C_FlowBoxToggleCursorChildCallback = Ptr () -> Ptr () -> IO ()
- type FlowBoxToggleCursorChildCallback = IO ()
- afterFlowBoxToggleCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxToggleCursorChildCallback -> m SignalHandlerId
- genClosure_FlowBoxToggleCursorChild :: FlowBoxToggleCursorChildCallback -> IO Closure
- mk_FlowBoxToggleCursorChildCallback :: C_FlowBoxToggleCursorChildCallback -> IO (FunPtr C_FlowBoxToggleCursorChildCallback)
- noFlowBoxToggleCursorChildCallback :: Maybe FlowBoxToggleCursorChildCallback
- onFlowBoxToggleCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxToggleCursorChildCallback -> m SignalHandlerId
- wrap_FlowBoxToggleCursorChildCallback :: FlowBoxToggleCursorChildCallback -> Ptr () -> Ptr () -> IO ()
- type C_FlowBoxUnselectAllCallback = Ptr () -> Ptr () -> IO ()
- type FlowBoxUnselectAllCallback = IO ()
- afterFlowBoxUnselectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxUnselectAllCallback -> m SignalHandlerId
- genClosure_FlowBoxUnselectAll :: FlowBoxUnselectAllCallback -> IO Closure
- mk_FlowBoxUnselectAllCallback :: C_FlowBoxUnselectAllCallback -> IO (FunPtr C_FlowBoxUnselectAllCallback)
- noFlowBoxUnselectAllCallback :: Maybe FlowBoxUnselectAllCallback
- onFlowBoxUnselectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxUnselectAllCallback -> m SignalHandlerId
- wrap_FlowBoxUnselectAllCallback :: FlowBoxUnselectAllCallback -> Ptr () -> Ptr () -> IO ()
Exported types
Constructors
FlowBox (ManagedPtr FlowBox) |
Methods
bindModel
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a, IsListModel b) | |
=> a |
|
-> Maybe b |
|
-> FlowBoxCreateWidgetFunc |
|
-> m () |
Binds model
to box
.
If box
was already bound to a model, that previous binding is
destroyed.
The contents of box
are cleared and then filled with widgets that
represent items from model
. box
is updated whenever model
changes.
If model
is Nothing
, box
is left empty.
It is undefined to add or remove widgets directly (for example, with
flowBoxInsert
or containerAdd
) while box
is bound to a
model.
Note that using a model is incompatible with the filtering and sorting functionality in GtkFlowBox. When using a model, filtering and sorting should be implemented by the model.
Since: 3.18
getActivateOnSingleClick
flowBoxGetActivateOnSingleClick Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether children activate on single clicks.
Since: 3.12
getChildAtIndex
flowBoxGetChildAtIndex Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> Int32 |
|
-> m (Maybe FlowBoxChild) | Returns: the child widget, which will
always be a |
Gets the nth child in the box
.
Since: 3.12
getChildAtPos
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> Int32 |
|
-> Int32 |
|
-> m (Maybe FlowBoxChild) | Returns: the child widget, which will
always be a |
Gets the child in the (x
, y
) position.
Since: 3.22.6
getColumnSpacing
flowBoxGetColumnSpacing Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m Word32 | Returns: the horizontal spacing |
Gets the horizontal spacing.
Since: 3.12
getHomogeneous
flowBoxGetHomogeneous Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether the box is homogeneous (all children are the
same size). See boxSetHomogeneous
.
Since: 3.12
getMaxChildrenPerLine
flowBoxGetMaxChildrenPerLine Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m Word32 | Returns: the maximum number of children per line |
Gets the maximum number of children per line.
Since: 3.12
getMinChildrenPerLine
flowBoxGetMinChildrenPerLine Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m Word32 | Returns: the minimum number of children per line |
Gets the minimum number of children per line.
Since: 3.12
getRowSpacing
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m Word32 | Returns: the vertical spacing |
Gets the vertical spacing.
Since: 3.12
getSelectedChildren
flowBoxGetSelectedChildren Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m [FlowBoxChild] | Returns:
A |
Creates a list of all selected children.
Since: 3.12
getSelectionMode
flowBoxGetSelectionMode Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m SelectionMode | Returns: the |
Gets the selection mode of box
.
Since: 3.12
insert
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a, IsWidget b) | |
=> a |
|
-> b |
|
-> Int32 |
|
-> m () |
Inserts the widget
into box
at position
.
If a sort function is set, the widget will actually be inserted
at the calculated position and this function has the same effect
as containerAdd
.
If position
is -1, or larger than the total number of children
in the box
, then the widget
will be appended to the end.
Since: 3.12
invalidateFilter
flowBoxInvalidateFilter Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m () |
Updates the filtering for all children.
Call this function when the result of the filter
function on the box
is changed due ot an external
factor. For instance, this would be used if the
filter function just looked for a specific search
term, and the entry with the string has changed.
Since: 3.12
invalidateSort
flowBoxInvalidateSort Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m () |
Updates the sorting for all children.
Call this when the result of the sort function on
box
is changed due to an external factor.
Since: 3.12
new
Arguments
:: (HasCallStack, MonadIO m) | |
=> m FlowBox | Returns: a new |
Creates a GtkFlowBox.
Since: 3.12
selectAll
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m () |
Select all children of box
, if the selection
mode allows it.
Since: 3.12
selectChild
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a, IsFlowBoxChild b) | |
=> a |
|
-> b |
|
-> m () |
Selects a single child of box
, if the selection
mode allows it.
Since: 3.12
selectedForeach
flowBoxSelectedForeach Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> FlowBoxForeachFunc |
|
-> m () |
Calls a function for each selected child.
Note that the selection cannot be modified from within this function.
Since: 3.12
setActivateOnSingleClick
flowBoxSetActivateOnSingleClick Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> Bool |
|
-> m () |
If single
is True
, children will be activated when you click
on them, otherwise you need to double-click.
Since: 3.12
setColumnSpacing
flowBoxSetColumnSpacing Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> Word32 |
|
-> m () |
Sets the horizontal space to add between children.
See the FlowBox
:column-spacing
property.
Since: 3.12
setFilterFunc
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> Maybe FlowBoxFilterFunc |
|
-> m () |
By setting a filter function on the box
one can decide dynamically
which of the children to show. For instance, to implement a search
function that only shows the children matching the search terms.
The filterFunc
will be called for each child after the call, and
it will continue to be called each time a child changes (via
flowBoxChildChanged
) or when flowBoxInvalidateFilter
is called.
Note that using a filter function is incompatible with using a model
(see flowBoxBindModel
).
Since: 3.12
setHadjustment
flowBoxSetHadjustment Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a, IsAdjustment b) | |
=> a |
|
-> b |
|
-> m () |
Hooks up an adjustment to focus handling in box
.
The adjustment is also used for autoscrolling during
rubberband selection. See scrolledWindowGetHadjustment
for a typical way of obtaining the adjustment, and
flowBoxSetVadjustment
for setting the vertical
adjustment.
The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the box.
Since: 3.12
setHomogeneous
flowBoxSetHomogeneous Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets the FlowBox
:homogeneous
property of box
, controlling
whether or not all children of box
are given equal space
in the box.
Since: 3.12
setMaxChildrenPerLine
flowBoxSetMaxChildrenPerLine Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> Word32 |
|
-> m () |
Sets the maximum number of children to request and
allocate space for in box
’s orientation.
Setting the maximum number of children per line
limits the overall natural size request to be no more
than nChildren
children long in the given orientation.
Since: 3.12
setMinChildrenPerLine
flowBoxSetMinChildrenPerLine Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> Word32 |
|
-> m () |
Sets the minimum number of children to line up
in box
’s orientation before flowing.
Since: 3.12
setRowSpacing
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> Word32 |
|
-> m () |
Sets the vertical space to add between children.
See the FlowBox
:row-spacing
property.
Since: 3.12
setSelectionMode
flowBoxSetSelectionMode Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> SelectionMode |
|
-> m () |
Sets how selection works in box
.
See SelectionMode
for details.
Since: 3.12
setSortFunc
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> Maybe FlowBoxSortFunc |
|
-> m () |
By setting a sort function on the box
, one can dynamically
reorder the children of the box, based on the contents of
the children.
The sortFunc
will be called for each child after the call,
and will continue to be called each time a child changes (via
flowBoxChildChanged
) and when flowBoxInvalidateSort
is called.
Note that using a sort function is incompatible with using a model
(see flowBoxBindModel
).
Since: 3.12
setVadjustment
flowBoxSetVadjustment Source #
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a, IsAdjustment b) | |
=> a |
|
-> b |
|
-> m () |
Hooks up an adjustment to focus handling in box
.
The adjustment is also used for autoscrolling during
rubberband selection. See scrolledWindowGetVadjustment
for a typical way of obtaining the adjustment, and
flowBoxSetHadjustment
for setting the horizontal
adjustment.
The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the box.
Since: 3.12
unselectAll
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a) | |
=> a |
|
-> m () |
Unselect all children of box
, if the selection
mode allows it.
Since: 3.12
unselectChild
Arguments
:: (HasCallStack, MonadIO m, IsFlowBox a, IsFlowBoxChild b) | |
=> a |
|
-> b |
|
-> m () |
Unselects a single child of box
, if the selection
mode allows it.
Since: 3.12
Properties
activateOnSingleClick
constructFlowBoxActivateOnSingleClick :: IsFlowBox o => Bool -> IO (GValueConstruct o) Source #
columnSpacing
constructFlowBoxColumnSpacing :: IsFlowBox o => Word32 -> IO (GValueConstruct o) Source #
homogeneous
constructFlowBoxHomogeneous :: IsFlowBox o => Bool -> IO (GValueConstruct o) Source #
maxChildrenPerLine
constructFlowBoxMaxChildrenPerLine :: IsFlowBox o => Word32 -> IO (GValueConstruct o) Source #
minChildrenPerLine
constructFlowBoxMinChildrenPerLine :: IsFlowBox o => Word32 -> IO (GValueConstruct o) Source #
rowSpacing
constructFlowBoxRowSpacing :: IsFlowBox o => Word32 -> IO (GValueConstruct o) Source #
selectionMode
constructFlowBoxSelectionMode :: IsFlowBox o => SelectionMode -> IO (GValueConstruct o) Source #
getFlowBoxSelectionMode :: (MonadIO m, IsFlowBox o) => o -> m SelectionMode Source #
setFlowBoxSelectionMode :: (MonadIO m, IsFlowBox o) => o -> SelectionMode -> m () Source #
Signals
activateCursorChild
type FlowBoxActivateCursorChildCallback = IO () Source #
afterFlowBoxActivateCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxActivateCursorChildCallback -> m SignalHandlerId Source #
mk_FlowBoxActivateCursorChildCallback :: C_FlowBoxActivateCursorChildCallback -> IO (FunPtr C_FlowBoxActivateCursorChildCallback) Source #
onFlowBoxActivateCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxActivateCursorChildCallback -> m SignalHandlerId Source #
wrap_FlowBoxActivateCursorChildCallback :: FlowBoxActivateCursorChildCallback -> Ptr () -> Ptr () -> IO () Source #
childActivated
type C_FlowBoxChildActivatedCallback = Ptr () -> Ptr FlowBoxChild -> Ptr () -> IO () Source #
type FlowBoxChildActivatedCallback = FlowBoxChild -> IO () Source #
afterFlowBoxChildActivated :: (IsFlowBox a, MonadIO m) => a -> FlowBoxChildActivatedCallback -> m SignalHandlerId Source #
mk_FlowBoxChildActivatedCallback :: C_FlowBoxChildActivatedCallback -> IO (FunPtr C_FlowBoxChildActivatedCallback) Source #
onFlowBoxChildActivated :: (IsFlowBox a, MonadIO m) => a -> FlowBoxChildActivatedCallback -> m SignalHandlerId Source #
wrap_FlowBoxChildActivatedCallback :: FlowBoxChildActivatedCallback -> Ptr () -> Ptr FlowBoxChild -> Ptr () -> IO () Source #
moveCursor
type FlowBoxMoveCursorCallback = MovementStep -> Int32 -> IO Bool Source #
afterFlowBoxMoveCursor :: (IsFlowBox a, MonadIO m) => a -> FlowBoxMoveCursorCallback -> m SignalHandlerId Source #
mk_FlowBoxMoveCursorCallback :: C_FlowBoxMoveCursorCallback -> IO (FunPtr C_FlowBoxMoveCursorCallback) Source #
onFlowBoxMoveCursor :: (IsFlowBox a, MonadIO m) => a -> FlowBoxMoveCursorCallback -> m SignalHandlerId Source #
wrap_FlowBoxMoveCursorCallback :: FlowBoxMoveCursorCallback -> Ptr () -> CUInt -> Int32 -> Ptr () -> IO CInt Source #
selectAll
type FlowBoxSelectAllCallback = IO () Source #
afterFlowBoxSelectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectAllCallback -> m SignalHandlerId Source #
mk_FlowBoxSelectAllCallback :: C_FlowBoxSelectAllCallback -> IO (FunPtr C_FlowBoxSelectAllCallback) Source #
onFlowBoxSelectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectAllCallback -> m SignalHandlerId Source #
wrap_FlowBoxSelectAllCallback :: FlowBoxSelectAllCallback -> Ptr () -> Ptr () -> IO () Source #
selectedChildrenChanged
type FlowBoxSelectedChildrenChangedCallback = IO () Source #
afterFlowBoxSelectedChildrenChanged :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectedChildrenChangedCallback -> m SignalHandlerId Source #
genClosure_FlowBoxSelectedChildrenChanged :: FlowBoxSelectedChildrenChangedCallback -> IO Closure Source #
mk_FlowBoxSelectedChildrenChangedCallback :: C_FlowBoxSelectedChildrenChangedCallback -> IO (FunPtr C_FlowBoxSelectedChildrenChangedCallback) Source #
onFlowBoxSelectedChildrenChanged :: (IsFlowBox a, MonadIO m) => a -> FlowBoxSelectedChildrenChangedCallback -> m SignalHandlerId Source #
wrap_FlowBoxSelectedChildrenChangedCallback :: FlowBoxSelectedChildrenChangedCallback -> Ptr () -> Ptr () -> IO () Source #
toggleCursorChild
type FlowBoxToggleCursorChildCallback = IO () Source #
afterFlowBoxToggleCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxToggleCursorChildCallback -> m SignalHandlerId Source #
mk_FlowBoxToggleCursorChildCallback :: C_FlowBoxToggleCursorChildCallback -> IO (FunPtr C_FlowBoxToggleCursorChildCallback) Source #
onFlowBoxToggleCursorChild :: (IsFlowBox a, MonadIO m) => a -> FlowBoxToggleCursorChildCallback -> m SignalHandlerId Source #
wrap_FlowBoxToggleCursorChildCallback :: FlowBoxToggleCursorChildCallback -> Ptr () -> Ptr () -> IO () Source #
unselectAll
type FlowBoxUnselectAllCallback = IO () Source #
afterFlowBoxUnselectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxUnselectAllCallback -> m SignalHandlerId Source #
mk_FlowBoxUnselectAllCallback :: C_FlowBoxUnselectAllCallback -> IO (FunPtr C_FlowBoxUnselectAllCallback) Source #
onFlowBoxUnselectAll :: (IsFlowBox a, MonadIO m) => a -> FlowBoxUnselectAllCallback -> m SignalHandlerId Source #
wrap_FlowBoxUnselectAllCallback :: FlowBoxUnselectAllCallback -> Ptr () -> Ptr () -> IO () Source #