{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Handy.Objects.HeaderGroupChild
(
HeaderGroupChild(..) ,
IsHeaderGroupChild ,
toHeaderGroupChild ,
#if defined(ENABLE_OVERLOADING)
ResolveHeaderGroupChildMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
HeaderGroupChildGetChildTypeMethodInfo ,
#endif
headerGroupChildGetChildType ,
#if defined(ENABLE_OVERLOADING)
HeaderGroupChildGetGtkHeaderBarMethodInfo,
#endif
headerGroupChildGetGtkHeaderBar ,
#if defined(ENABLE_OVERLOADING)
HeaderGroupChildGetHeaderBarMethodInfo ,
#endif
headerGroupChildGetHeaderBar ,
#if defined(ENABLE_OVERLOADING)
HeaderGroupChildGetHeaderGroupMethodInfo,
#endif
headerGroupChildGetHeaderGroup ,
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
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 Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
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 GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gtk.Objects.HeaderBar as Gtk.HeaderBar
import {-# SOURCE #-} qualified GI.Handy.Enums as Handy.Enums
import {-# SOURCE #-} qualified GI.Handy.Objects.HeaderBar as Handy.HeaderBar
import {-# SOURCE #-} qualified GI.Handy.Objects.HeaderGroup as Handy.HeaderGroup
newtype = (SP.ManagedPtr HeaderGroupChild)
deriving (HeaderGroupChild -> HeaderGroupChild -> Bool
(HeaderGroupChild -> HeaderGroupChild -> Bool)
-> (HeaderGroupChild -> HeaderGroupChild -> Bool)
-> Eq HeaderGroupChild
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: HeaderGroupChild -> HeaderGroupChild -> Bool
$c/= :: HeaderGroupChild -> HeaderGroupChild -> Bool
== :: HeaderGroupChild -> HeaderGroupChild -> Bool
$c== :: HeaderGroupChild -> HeaderGroupChild -> Bool
Eq)
instance SP.ManagedPtrNewtype HeaderGroupChild where
toManagedPtr :: HeaderGroupChild -> ManagedPtr HeaderGroupChild
toManagedPtr (HeaderGroupChild ManagedPtr HeaderGroupChild
p) = ManagedPtr HeaderGroupChild
p
foreign import ccall "hdy_header_group_child_get_type"
:: IO B.Types.GType
instance B.Types.TypedObject HeaderGroupChild where
glibType :: IO GType
glibType = IO GType
c_hdy_header_group_child_get_type
instance B.Types.GObject HeaderGroupChild
class (SP.GObject o, O.IsDescendantOf HeaderGroupChild o) => o
instance (SP.GObject o, O.IsDescendantOf HeaderGroupChild o) => IsHeaderGroupChild o
instance O.HasParentTypes HeaderGroupChild
type instance O.ParentTypes HeaderGroupChild = '[GObject.Object.Object]
toHeaderGroupChild :: (MIO.MonadIO m, IsHeaderGroupChild o) => o -> m HeaderGroupChild
= IO HeaderGroupChild -> m HeaderGroupChild
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO HeaderGroupChild -> m HeaderGroupChild)
-> (o -> IO HeaderGroupChild) -> o -> m HeaderGroupChild
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr HeaderGroupChild -> HeaderGroupChild)
-> o -> IO HeaderGroupChild
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr HeaderGroupChild -> HeaderGroupChild
HeaderGroupChild
instance B.GValue.IsGValue (Maybe HeaderGroupChild) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_hdy_header_group_child_get_type
gvalueSet_ :: Ptr GValue -> Maybe HeaderGroupChild -> IO ()
gvalueSet_ Ptr GValue
gv Maybe HeaderGroupChild
P.Nothing = Ptr GValue -> Ptr HeaderGroupChild -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr HeaderGroupChild
forall a. Ptr a
FP.nullPtr :: FP.Ptr HeaderGroupChild)
gvalueSet_ Ptr GValue
gv (P.Just HeaderGroupChild
obj) = HeaderGroupChild -> (Ptr HeaderGroupChild -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr HeaderGroupChild
obj (Ptr GValue -> Ptr HeaderGroupChild -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe HeaderGroupChild)
gvalueGet_ Ptr GValue
gv = do
Ptr HeaderGroupChild
ptr <- Ptr GValue -> IO (Ptr HeaderGroupChild)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr HeaderGroupChild)
if Ptr HeaderGroupChild
ptr Ptr HeaderGroupChild -> Ptr HeaderGroupChild -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr HeaderGroupChild
forall a. Ptr a
FP.nullPtr
then HeaderGroupChild -> Maybe HeaderGroupChild
forall a. a -> Maybe a
P.Just (HeaderGroupChild -> Maybe HeaderGroupChild)
-> IO HeaderGroupChild -> IO (Maybe HeaderGroupChild)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr HeaderGroupChild -> HeaderGroupChild)
-> Ptr HeaderGroupChild -> IO HeaderGroupChild
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr HeaderGroupChild -> HeaderGroupChild
HeaderGroupChild Ptr HeaderGroupChild
ptr
else Maybe HeaderGroupChild -> IO (Maybe HeaderGroupChild)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe HeaderGroupChild
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveHeaderGroupChildMethod (t :: Symbol) (o :: *) :: * where
ResolveHeaderGroupChildMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveHeaderGroupChildMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveHeaderGroupChildMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveHeaderGroupChildMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveHeaderGroupChildMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveHeaderGroupChildMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveHeaderGroupChildMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveHeaderGroupChildMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveHeaderGroupChildMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveHeaderGroupChildMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveHeaderGroupChildMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveHeaderGroupChildMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveHeaderGroupChildMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveHeaderGroupChildMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveHeaderGroupChildMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveHeaderGroupChildMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveHeaderGroupChildMethod "getChildType" o = HeaderGroupChildGetChildTypeMethodInfo
ResolveHeaderGroupChildMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveHeaderGroupChildMethod "getGtkHeaderBar" o = HeaderGroupChildGetGtkHeaderBarMethodInfo
ResolveHeaderGroupChildMethod "getHeaderBar" o = HeaderGroupChildGetHeaderBarMethodInfo
ResolveHeaderGroupChildMethod "getHeaderGroup" o = HeaderGroupChildGetHeaderGroupMethodInfo
ResolveHeaderGroupChildMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveHeaderGroupChildMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveHeaderGroupChildMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveHeaderGroupChildMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveHeaderGroupChildMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveHeaderGroupChildMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveHeaderGroupChildMethod t HeaderGroupChild, O.OverloadedMethod info HeaderGroupChild p) => OL.IsLabel t (HeaderGroupChild -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveHeaderGroupChildMethod t HeaderGroupChild, O.OverloadedMethod info HeaderGroupChild p, R.HasField t HeaderGroupChild p) => R.HasField t HeaderGroupChild p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveHeaderGroupChildMethod t HeaderGroupChild, O.OverloadedMethodInfo info HeaderGroupChild) => OL.IsLabel t (O.MethodProxy info HeaderGroupChild) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList HeaderGroupChild
type instance O.AttributeList HeaderGroupChild = HeaderGroupChildAttributeList
type HeaderGroupChildAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList HeaderGroupChild = HeaderGroupChildSignalList
type HeaderGroupChildSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "hdy_header_group_child_get_child_type" ::
Ptr HeaderGroupChild ->
IO CUInt
headerGroupChildGetChildType ::
(B.CallStack.HasCallStack, MonadIO m, IsHeaderGroupChild a) =>
a
-> m Handy.Enums.HeaderGroupChildType
a
self = IO HeaderGroupChildType -> m HeaderGroupChildType
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO HeaderGroupChildType -> m HeaderGroupChildType)
-> IO HeaderGroupChildType -> m HeaderGroupChildType
forall a b. (a -> b) -> a -> b
$ do
Ptr HeaderGroupChild
self' <- a -> IO (Ptr HeaderGroupChild)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
CUInt
result <- Ptr HeaderGroupChild -> IO CUInt
hdy_header_group_child_get_child_type Ptr HeaderGroupChild
self'
let result' :: HeaderGroupChildType
result' = (Int -> HeaderGroupChildType
forall a. Enum a => Int -> a
toEnum (Int -> HeaderGroupChildType)
-> (CUInt -> Int) -> CUInt -> HeaderGroupChildType
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
HeaderGroupChildType -> IO HeaderGroupChildType
forall (m :: * -> *) a. Monad m => a -> m a
return HeaderGroupChildType
result'
#if defined(ENABLE_OVERLOADING)
data HeaderGroupChildGetChildTypeMethodInfo
instance (signature ~ (m Handy.Enums.HeaderGroupChildType), MonadIO m, IsHeaderGroupChild a) => O.OverloadedMethod HeaderGroupChildGetChildTypeMethodInfo a signature where
overloadedMethod = headerGroupChildGetChildType
instance O.OverloadedMethodInfo HeaderGroupChildGetChildTypeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Handy.Objects.HeaderGroupChild.headerGroupChildGetChildType",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.1/docs/GI-Handy-Objects-HeaderGroupChild.html#v:headerGroupChildGetChildType"
})
#endif
foreign import ccall "hdy_header_group_child_get_gtk_header_bar" ::
Ptr HeaderGroupChild ->
IO (Ptr Gtk.HeaderBar.HeaderBar)
headerGroupChildGetGtkHeaderBar ::
(B.CallStack.HasCallStack, MonadIO m, IsHeaderGroupChild a) =>
a
-> m Gtk.HeaderBar.HeaderBar
a
self = IO HeaderBar -> m HeaderBar
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO HeaderBar -> m HeaderBar) -> IO HeaderBar -> m HeaderBar
forall a b. (a -> b) -> a -> b
$ do
Ptr HeaderGroupChild
self' <- a -> IO (Ptr HeaderGroupChild)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr HeaderBar
result <- Ptr HeaderGroupChild -> IO (Ptr HeaderBar)
hdy_header_group_child_get_gtk_header_bar Ptr HeaderGroupChild
self'
Text -> Ptr HeaderBar -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"headerGroupChildGetGtkHeaderBar" Ptr HeaderBar
result
HeaderBar
result' <- ((ManagedPtr HeaderBar -> HeaderBar)
-> Ptr HeaderBar -> IO HeaderBar
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr HeaderBar -> HeaderBar
Gtk.HeaderBar.HeaderBar) Ptr HeaderBar
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
HeaderBar -> IO HeaderBar
forall (m :: * -> *) a. Monad m => a -> m a
return HeaderBar
result'
#if defined(ENABLE_OVERLOADING)
data HeaderGroupChildGetGtkHeaderBarMethodInfo
instance (signature ~ (m Gtk.HeaderBar.HeaderBar), MonadIO m, IsHeaderGroupChild a) => O.OverloadedMethod HeaderGroupChildGetGtkHeaderBarMethodInfo a signature where
overloadedMethod = headerGroupChildGetGtkHeaderBar
instance O.OverloadedMethodInfo HeaderGroupChildGetGtkHeaderBarMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Handy.Objects.HeaderGroupChild.headerGroupChildGetGtkHeaderBar",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.1/docs/GI-Handy-Objects-HeaderGroupChild.html#v:headerGroupChildGetGtkHeaderBar"
})
#endif
foreign import ccall "hdy_header_group_child_get_header_bar" ::
Ptr HeaderGroupChild ->
IO (Ptr Handy.HeaderBar.HeaderBar)
headerGroupChildGetHeaderBar ::
(B.CallStack.HasCallStack, MonadIO m, IsHeaderGroupChild a) =>
a
-> m Handy.HeaderBar.HeaderBar
a
self = IO HeaderBar -> m HeaderBar
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO HeaderBar -> m HeaderBar) -> IO HeaderBar -> m HeaderBar
forall a b. (a -> b) -> a -> b
$ do
Ptr HeaderGroupChild
self' <- a -> IO (Ptr HeaderGroupChild)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr HeaderBar
result <- Ptr HeaderGroupChild -> IO (Ptr HeaderBar)
hdy_header_group_child_get_header_bar Ptr HeaderGroupChild
self'
Text -> Ptr HeaderBar -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"headerGroupChildGetHeaderBar" Ptr HeaderBar
result
HeaderBar
result' <- ((ManagedPtr HeaderBar -> HeaderBar)
-> Ptr HeaderBar -> IO HeaderBar
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr HeaderBar -> HeaderBar
Handy.HeaderBar.HeaderBar) Ptr HeaderBar
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
HeaderBar -> IO HeaderBar
forall (m :: * -> *) a. Monad m => a -> m a
return HeaderBar
result'
#if defined(ENABLE_OVERLOADING)
data HeaderGroupChildGetHeaderBarMethodInfo
instance (signature ~ (m Handy.HeaderBar.HeaderBar), MonadIO m, IsHeaderGroupChild a) => O.OverloadedMethod HeaderGroupChildGetHeaderBarMethodInfo a signature where
overloadedMethod = headerGroupChildGetHeaderBar
instance O.OverloadedMethodInfo HeaderGroupChildGetHeaderBarMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Handy.Objects.HeaderGroupChild.headerGroupChildGetHeaderBar",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.1/docs/GI-Handy-Objects-HeaderGroupChild.html#v:headerGroupChildGetHeaderBar"
})
#endif
foreign import ccall "hdy_header_group_child_get_header_group" ::
Ptr HeaderGroupChild ->
IO (Ptr Handy.HeaderGroup.HeaderGroup)
headerGroupChildGetHeaderGroup ::
(B.CallStack.HasCallStack, MonadIO m, IsHeaderGroupChild a) =>
a
-> m Handy.HeaderGroup.HeaderGroup
a
self = IO HeaderGroup -> m HeaderGroup
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO HeaderGroup -> m HeaderGroup)
-> IO HeaderGroup -> m HeaderGroup
forall a b. (a -> b) -> a -> b
$ do
Ptr HeaderGroupChild
self' <- a -> IO (Ptr HeaderGroupChild)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr HeaderGroup
result <- Ptr HeaderGroupChild -> IO (Ptr HeaderGroup)
hdy_header_group_child_get_header_group Ptr HeaderGroupChild
self'
Text -> Ptr HeaderGroup -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"headerGroupChildGetHeaderGroup" Ptr HeaderGroup
result
HeaderGroup
result' <- ((ManagedPtr HeaderGroup -> HeaderGroup)
-> Ptr HeaderGroup -> IO HeaderGroup
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr HeaderGroup -> HeaderGroup
Handy.HeaderGroup.HeaderGroup) Ptr HeaderGroup
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
HeaderGroup -> IO HeaderGroup
forall (m :: * -> *) a. Monad m => a -> m a
return HeaderGroup
result'
#if defined(ENABLE_OVERLOADING)
data HeaderGroupChildGetHeaderGroupMethodInfo
instance (signature ~ (m Handy.HeaderGroup.HeaderGroup), MonadIO m, IsHeaderGroupChild a) => O.OverloadedMethod HeaderGroupChildGetHeaderGroupMethodInfo a signature where
overloadedMethod = headerGroupChildGetHeaderGroup
instance O.OverloadedMethodInfo HeaderGroupChildGetHeaderGroupMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Handy.Objects.HeaderGroupChild.headerGroupChildGetHeaderGroup",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-handy-1.0.1/docs/GI-Handy-Objects-HeaderGroupChild.html#v:headerGroupChildGetHeaderGroup"
})
#endif