{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Objects.SizeGroup
(
SizeGroup(..) ,
IsSizeGroup ,
toSizeGroup ,
noSizeGroup ,
#if defined(ENABLE_OVERLOADING)
ResolveSizeGroupMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
SizeGroupAddWidgetMethodInfo ,
#endif
sizeGroupAddWidget ,
#if defined(ENABLE_OVERLOADING)
SizeGroupGetIgnoreHiddenMethodInfo ,
#endif
sizeGroupGetIgnoreHidden ,
#if defined(ENABLE_OVERLOADING)
SizeGroupGetModeMethodInfo ,
#endif
sizeGroupGetMode ,
#if defined(ENABLE_OVERLOADING)
SizeGroupGetWidgetsMethodInfo ,
#endif
sizeGroupGetWidgets ,
sizeGroupNew ,
#if defined(ENABLE_OVERLOADING)
SizeGroupRemoveWidgetMethodInfo ,
#endif
sizeGroupRemoveWidget ,
#if defined(ENABLE_OVERLOADING)
SizeGroupSetIgnoreHiddenMethodInfo ,
#endif
sizeGroupSetIgnoreHidden ,
#if defined(ENABLE_OVERLOADING)
SizeGroupSetModeMethodInfo ,
#endif
sizeGroupSetMode ,
#if defined(ENABLE_OVERLOADING)
SizeGroupIgnoreHiddenPropertyInfo ,
#endif
constructSizeGroupIgnoreHidden ,
getSizeGroupIgnoreHidden ,
setSizeGroupIgnoreHidden ,
#if defined(ENABLE_OVERLOADING)
sizeGroupIgnoreHidden ,
#endif
#if defined(ENABLE_OVERLOADING)
SizeGroupModePropertyInfo ,
#endif
constructSizeGroupMode ,
getSizeGroupMode ,
setSizeGroupMode ,
#if defined(ENABLE_OVERLOADING)
sizeGroupMode ,
#endif
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
newtype SizeGroup = SizeGroup (ManagedPtr SizeGroup)
deriving (Eq)
foreign import ccall "gtk_size_group_get_type"
c_gtk_size_group_get_type :: IO GType
instance GObject SizeGroup where
gobjectType = c_gtk_size_group_get_type
instance B.GValue.IsGValue SizeGroup where
toGValue o = do
gtype <- c_gtk_size_group_get_type
B.ManagedPtr.withManagedPtr o (B.GValue.buildGValue gtype B.GValue.set_object)
fromGValue gv = do
ptr <- B.GValue.get_object gv :: IO (Ptr SizeGroup)
B.ManagedPtr.newObject SizeGroup ptr
class (GObject o, O.IsDescendantOf SizeGroup o) => IsSizeGroup o
instance (GObject o, O.IsDescendantOf SizeGroup o) => IsSizeGroup o
instance O.HasParentTypes SizeGroup
type instance O.ParentTypes SizeGroup = '[GObject.Object.Object, Gtk.Buildable.Buildable]
toSizeGroup :: (MonadIO m, IsSizeGroup o) => o -> m SizeGroup
toSizeGroup = liftIO . unsafeCastTo SizeGroup
noSizeGroup :: Maybe SizeGroup
noSizeGroup = Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveSizeGroupMethod (t :: Symbol) (o :: *) :: * where
ResolveSizeGroupMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
ResolveSizeGroupMethod "addWidget" o = SizeGroupAddWidgetMethodInfo
ResolveSizeGroupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveSizeGroupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveSizeGroupMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
ResolveSizeGroupMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
ResolveSizeGroupMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
ResolveSizeGroupMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
ResolveSizeGroupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveSizeGroupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveSizeGroupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveSizeGroupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveSizeGroupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveSizeGroupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveSizeGroupMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
ResolveSizeGroupMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveSizeGroupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveSizeGroupMethod "removeWidget" o = SizeGroupRemoveWidgetMethodInfo
ResolveSizeGroupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveSizeGroupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveSizeGroupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveSizeGroupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveSizeGroupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveSizeGroupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveSizeGroupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveSizeGroupMethod "getIgnoreHidden" o = SizeGroupGetIgnoreHiddenMethodInfo
ResolveSizeGroupMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
ResolveSizeGroupMethod "getMode" o = SizeGroupGetModeMethodInfo
ResolveSizeGroupMethod "getName" o = Gtk.Buildable.BuildableGetNameMethodInfo
ResolveSizeGroupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveSizeGroupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveSizeGroupMethod "getWidgets" o = SizeGroupGetWidgetsMethodInfo
ResolveSizeGroupMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
ResolveSizeGroupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveSizeGroupMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveSizeGroupMethod "setIgnoreHidden" o = SizeGroupSetIgnoreHiddenMethodInfo
ResolveSizeGroupMethod "setMode" o = SizeGroupSetModeMethodInfo
ResolveSizeGroupMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo
ResolveSizeGroupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveSizeGroupMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSizeGroupMethod t SizeGroup, O.MethodInfo info SizeGroup p) => OL.IsLabel t (SizeGroup -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getSizeGroupIgnoreHidden :: (MonadIO m, IsSizeGroup o) => o -> m Bool
getSizeGroupIgnoreHidden obj = liftIO $ B.Properties.getObjectPropertyBool obj "ignore-hidden"
setSizeGroupIgnoreHidden :: (MonadIO m, IsSizeGroup o) => o -> Bool -> m ()
setSizeGroupIgnoreHidden obj val = liftIO $ B.Properties.setObjectPropertyBool obj "ignore-hidden" val
constructSizeGroupIgnoreHidden :: (IsSizeGroup o) => Bool -> IO (GValueConstruct o)
constructSizeGroupIgnoreHidden val = B.Properties.constructObjectPropertyBool "ignore-hidden" val
#if defined(ENABLE_OVERLOADING)
data SizeGroupIgnoreHiddenPropertyInfo
instance AttrInfo SizeGroupIgnoreHiddenPropertyInfo where
type AttrAllowedOps SizeGroupIgnoreHiddenPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint SizeGroupIgnoreHiddenPropertyInfo = IsSizeGroup
type AttrSetTypeConstraint SizeGroupIgnoreHiddenPropertyInfo = (~) Bool
type AttrTransferTypeConstraint SizeGroupIgnoreHiddenPropertyInfo = (~) Bool
type AttrTransferType SizeGroupIgnoreHiddenPropertyInfo = Bool
type AttrGetType SizeGroupIgnoreHiddenPropertyInfo = Bool
type AttrLabel SizeGroupIgnoreHiddenPropertyInfo = "ignore-hidden"
type AttrOrigin SizeGroupIgnoreHiddenPropertyInfo = SizeGroup
attrGet = getSizeGroupIgnoreHidden
attrSet = setSizeGroupIgnoreHidden
attrTransfer _ v = do
return v
attrConstruct = constructSizeGroupIgnoreHidden
attrClear = undefined
#endif
getSizeGroupMode :: (MonadIO m, IsSizeGroup o) => o -> m Gtk.Enums.SizeGroupMode
getSizeGroupMode obj = liftIO $ B.Properties.getObjectPropertyEnum obj "mode"
setSizeGroupMode :: (MonadIO m, IsSizeGroup o) => o -> Gtk.Enums.SizeGroupMode -> m ()
setSizeGroupMode obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "mode" val
constructSizeGroupMode :: (IsSizeGroup o) => Gtk.Enums.SizeGroupMode -> IO (GValueConstruct o)
constructSizeGroupMode val = B.Properties.constructObjectPropertyEnum "mode" val
#if defined(ENABLE_OVERLOADING)
data SizeGroupModePropertyInfo
instance AttrInfo SizeGroupModePropertyInfo where
type AttrAllowedOps SizeGroupModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint SizeGroupModePropertyInfo = IsSizeGroup
type AttrSetTypeConstraint SizeGroupModePropertyInfo = (~) Gtk.Enums.SizeGroupMode
type AttrTransferTypeConstraint SizeGroupModePropertyInfo = (~) Gtk.Enums.SizeGroupMode
type AttrTransferType SizeGroupModePropertyInfo = Gtk.Enums.SizeGroupMode
type AttrGetType SizeGroupModePropertyInfo = Gtk.Enums.SizeGroupMode
type AttrLabel SizeGroupModePropertyInfo = "mode"
type AttrOrigin SizeGroupModePropertyInfo = SizeGroup
attrGet = getSizeGroupMode
attrSet = setSizeGroupMode
attrTransfer _ v = do
return v
attrConstruct = constructSizeGroupMode
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList SizeGroup
type instance O.AttributeList SizeGroup = SizeGroupAttributeList
type SizeGroupAttributeList = ('[ '("ignoreHidden", SizeGroupIgnoreHiddenPropertyInfo), '("mode", SizeGroupModePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
sizeGroupIgnoreHidden :: AttrLabelProxy "ignoreHidden"
sizeGroupIgnoreHidden = AttrLabelProxy
sizeGroupMode :: AttrLabelProxy "mode"
sizeGroupMode = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList SizeGroup = SizeGroupSignalList
type SizeGroupSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_size_group_new" gtk_size_group_new ::
CUInt ->
IO (Ptr SizeGroup)
sizeGroupNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gtk.Enums.SizeGroupMode
-> m SizeGroup
sizeGroupNew mode = liftIO $ do
let mode' = (fromIntegral . fromEnum) mode
result <- gtk_size_group_new mode'
checkUnexpectedReturnNULL "sizeGroupNew" result
result' <- (wrapObject SizeGroup) result
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gtk_size_group_add_widget" gtk_size_group_add_widget ::
Ptr SizeGroup ->
Ptr Gtk.Widget.Widget ->
IO ()
sizeGroupAddWidget ::
(B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a, Gtk.Widget.IsWidget b) =>
a
-> b
-> m ()
sizeGroupAddWidget sizeGroup widget = liftIO $ do
sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
widget' <- unsafeManagedPtrCastPtr widget
gtk_size_group_add_widget sizeGroup' widget'
touchManagedPtr sizeGroup
touchManagedPtr widget
return ()
#if defined(ENABLE_OVERLOADING)
data SizeGroupAddWidgetMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsSizeGroup a, Gtk.Widget.IsWidget b) => O.MethodInfo SizeGroupAddWidgetMethodInfo a signature where
overloadedMethod = sizeGroupAddWidget
#endif
foreign import ccall "gtk_size_group_get_ignore_hidden" gtk_size_group_get_ignore_hidden ::
Ptr SizeGroup ->
IO CInt
{-# DEPRECATED sizeGroupGetIgnoreHidden ["(Since version 3.22)","Measuring the size of hidden widgets has not worked"," reliably for a long time. In most cases, they will report a size"," of 0 nowadays, and thus, their size will not affect the other"," size group members. In effect, size groups will always operate"," as if this property was 'P.True'. Use a t'GI.Gtk.Objects.Stack.Stack' instead to hide"," widgets while still having their size taken into account."] #-}
sizeGroupGetIgnoreHidden ::
(B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a) =>
a
-> m Bool
sizeGroupGetIgnoreHidden sizeGroup = liftIO $ do
sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
result <- gtk_size_group_get_ignore_hidden sizeGroup'
let result' = (/= 0) result
touchManagedPtr sizeGroup
return result'
#if defined(ENABLE_OVERLOADING)
data SizeGroupGetIgnoreHiddenMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsSizeGroup a) => O.MethodInfo SizeGroupGetIgnoreHiddenMethodInfo a signature where
overloadedMethod = sizeGroupGetIgnoreHidden
#endif
foreign import ccall "gtk_size_group_get_mode" gtk_size_group_get_mode ::
Ptr SizeGroup ->
IO CUInt
sizeGroupGetMode ::
(B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a) =>
a
-> m Gtk.Enums.SizeGroupMode
sizeGroupGetMode sizeGroup = liftIO $ do
sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
result <- gtk_size_group_get_mode sizeGroup'
let result' = (toEnum . fromIntegral) result
touchManagedPtr sizeGroup
return result'
#if defined(ENABLE_OVERLOADING)
data SizeGroupGetModeMethodInfo
instance (signature ~ (m Gtk.Enums.SizeGroupMode), MonadIO m, IsSizeGroup a) => O.MethodInfo SizeGroupGetModeMethodInfo a signature where
overloadedMethod = sizeGroupGetMode
#endif
foreign import ccall "gtk_size_group_get_widgets" gtk_size_group_get_widgets ::
Ptr SizeGroup ->
IO (Ptr (GSList (Ptr Gtk.Widget.Widget)))
sizeGroupGetWidgets ::
(B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a) =>
a
-> m [Gtk.Widget.Widget]
sizeGroupGetWidgets sizeGroup = liftIO $ do
sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
result <- gtk_size_group_get_widgets sizeGroup'
result' <- unpackGSList result
result'' <- mapM (newObject Gtk.Widget.Widget) result'
touchManagedPtr sizeGroup
return result''
#if defined(ENABLE_OVERLOADING)
data SizeGroupGetWidgetsMethodInfo
instance (signature ~ (m [Gtk.Widget.Widget]), MonadIO m, IsSizeGroup a) => O.MethodInfo SizeGroupGetWidgetsMethodInfo a signature where
overloadedMethod = sizeGroupGetWidgets
#endif
foreign import ccall "gtk_size_group_remove_widget" gtk_size_group_remove_widget ::
Ptr SizeGroup ->
Ptr Gtk.Widget.Widget ->
IO ()
sizeGroupRemoveWidget ::
(B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a, Gtk.Widget.IsWidget b) =>
a
-> b
-> m ()
sizeGroupRemoveWidget sizeGroup widget = liftIO $ do
sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
widget' <- unsafeManagedPtrCastPtr widget
gtk_size_group_remove_widget sizeGroup' widget'
touchManagedPtr sizeGroup
touchManagedPtr widget
return ()
#if defined(ENABLE_OVERLOADING)
data SizeGroupRemoveWidgetMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsSizeGroup a, Gtk.Widget.IsWidget b) => O.MethodInfo SizeGroupRemoveWidgetMethodInfo a signature where
overloadedMethod = sizeGroupRemoveWidget
#endif
foreign import ccall "gtk_size_group_set_ignore_hidden" gtk_size_group_set_ignore_hidden ::
Ptr SizeGroup ->
CInt ->
IO ()
{-# DEPRECATED sizeGroupSetIgnoreHidden ["(Since version 3.22)","Measuring the size of hidden widgets has not worked"," reliably for a long time. In most cases, they will report a size"," of 0 nowadays, and thus, their size will not affect the other"," size group members. In effect, size groups will always operate"," as if this property was 'P.True'. Use a t'GI.Gtk.Objects.Stack.Stack' instead to hide"," widgets while still having their size taken into account."] #-}
sizeGroupSetIgnoreHidden ::
(B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a) =>
a
-> Bool
-> m ()
sizeGroupSetIgnoreHidden sizeGroup ignoreHidden = liftIO $ do
sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
let ignoreHidden' = (fromIntegral . fromEnum) ignoreHidden
gtk_size_group_set_ignore_hidden sizeGroup' ignoreHidden'
touchManagedPtr sizeGroup
return ()
#if defined(ENABLE_OVERLOADING)
data SizeGroupSetIgnoreHiddenMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsSizeGroup a) => O.MethodInfo SizeGroupSetIgnoreHiddenMethodInfo a signature where
overloadedMethod = sizeGroupSetIgnoreHidden
#endif
foreign import ccall "gtk_size_group_set_mode" gtk_size_group_set_mode ::
Ptr SizeGroup ->
CUInt ->
IO ()
sizeGroupSetMode ::
(B.CallStack.HasCallStack, MonadIO m, IsSizeGroup a) =>
a
-> Gtk.Enums.SizeGroupMode
-> m ()
sizeGroupSetMode sizeGroup mode = liftIO $ do
sizeGroup' <- unsafeManagedPtrCastPtr sizeGroup
let mode' = (fromIntegral . fromEnum) mode
gtk_size_group_set_mode sizeGroup' mode'
touchManagedPtr sizeGroup
return ()
#if defined(ENABLE_OVERLOADING)
data SizeGroupSetModeMethodInfo
instance (signature ~ (Gtk.Enums.SizeGroupMode -> m ()), MonadIO m, IsSizeGroup a) => O.MethodInfo SizeGroupSetModeMethodInfo a signature where
overloadedMethod = sizeGroupSetMode
#endif