ltk-0.16.1.0: src/Graphics/UI/Utils.hs
{-# LANGUAGE LambdaCase #-}
module Graphics.UI.Utils (
setPrimaryAlign
, setSecondaryAlign
, setPrimaryExpand
, setSecondaryExpand
) where
import Control.Monad.IO.Class (MonadIO)
import GI.Gtk
(widgetSetVexpand, widgetSetHexpand, widgetSetValign,
widgetSetHalign, orientableGetOrientation, Align, IsWidget,
IsOrientable)
import GI.Gtk.Enums (Orientation(..))
setPrimaryAlign :: (MonadIO m, IsOrientable parent, IsWidget child) => parent -> child -> Align -> m ()
setPrimaryAlign parent child align =
orientableGetOrientation parent >>= \case
OrientationHorizontal -> widgetSetHalign child align
OrientationVertical -> widgetSetValign child align
setPrimaryExpand :: (MonadIO m, IsOrientable parent, IsWidget child) => parent -> child -> Bool -> m ()
setPrimaryExpand parent child expand =
orientableGetOrientation parent >>= \case
OrientationHorizontal -> widgetSetHexpand child expand
OrientationVertical -> widgetSetVexpand child expand
setSecondaryAlign :: (MonadIO m, IsOrientable parent, IsWidget child) => parent -> child -> Align -> m ()
setSecondaryAlign parent child align =
orientableGetOrientation parent >>= \case
OrientationHorizontal -> widgetSetValign child align
OrientationVertical -> widgetSetHalign child align
setSecondaryExpand :: (MonadIO m, IsOrientable parent, IsWidget child) => parent -> child -> Bool -> m ()
setSecondaryExpand parent child expand =
orientableGetOrientation parent >>= \case
OrientationHorizontal -> widgetSetVexpand child expand
OrientationVertical -> widgetSetHexpand child expand