{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Interfaces.Buildable
(
Buildable(..) ,
IsBuildable ,
toBuildable ,
#if defined(ENABLE_OVERLOADING)
ResolveBuildableMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
BuildableAddChildMethodInfo ,
#endif
buildableAddChild ,
#if defined(ENABLE_OVERLOADING)
BuildableConstructChildMethodInfo ,
#endif
buildableConstructChild ,
#if defined(ENABLE_OVERLOADING)
BuildableCustomFinishedMethodInfo ,
#endif
buildableCustomFinished ,
#if defined(ENABLE_OVERLOADING)
BuildableCustomTagEndMethodInfo ,
#endif
buildableCustomTagEnd ,
#if defined(ENABLE_OVERLOADING)
BuildableCustomTagStartMethodInfo ,
#endif
buildableCustomTagStart ,
#if defined(ENABLE_OVERLOADING)
BuildableGetInternalChildMethodInfo ,
#endif
buildableGetInternalChild ,
#if defined(ENABLE_OVERLOADING)
BuildableGetNameMethodInfo ,
#endif
buildableGetName ,
#if defined(ENABLE_OVERLOADING)
BuildableParserFinishedMethodInfo ,
#endif
buildableParserFinished ,
#if defined(ENABLE_OVERLOADING)
BuildableSetBuildablePropertyMethodInfo ,
#endif
buildableSetBuildableProperty ,
#if defined(ENABLE_OVERLOADING)
BuildableSetNameMethodInfo ,
#endif
buildableSetName ,
) 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.GHashTable as B.GHT
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.Kind as DK
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.GLib.Structs.MarkupParser as GLib.MarkupParser
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gtk.Objects.Builder as Gtk.Builder
newtype Buildable = Buildable (SP.ManagedPtr Buildable)
deriving (Buildable -> Buildable -> Bool
(Buildable -> Buildable -> Bool)
-> (Buildable -> Buildable -> Bool) -> Eq Buildable
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Buildable -> Buildable -> Bool
== :: Buildable -> Buildable -> Bool
$c/= :: Buildable -> Buildable -> Bool
/= :: Buildable -> Buildable -> Bool
Eq)
instance SP.ManagedPtrNewtype Buildable where
toManagedPtr :: Buildable -> ManagedPtr Buildable
toManagedPtr (Buildable ManagedPtr Buildable
p) = ManagedPtr Buildable
p
foreign import ccall "gtk_buildable_get_type"
c_gtk_buildable_get_type :: IO B.Types.GType
instance B.Types.TypedObject Buildable where
glibType :: IO GType
glibType = IO GType
c_gtk_buildable_get_type
instance B.Types.GObject Buildable
class (SP.GObject o, O.IsDescendantOf Buildable o) => IsBuildable o
instance (SP.GObject o, O.IsDescendantOf Buildable o) => IsBuildable o
instance O.HasParentTypes Buildable
type instance O.ParentTypes Buildable = '[GObject.Object.Object]
toBuildable :: (MIO.MonadIO m, IsBuildable o) => o -> m Buildable
toBuildable :: forall (m :: * -> *) o.
(MonadIO m, IsBuildable o) =>
o -> m Buildable
toBuildable = IO Buildable -> m Buildable
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Buildable -> m Buildable)
-> (o -> IO Buildable) -> o -> m Buildable
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Buildable -> Buildable) -> o -> IO Buildable
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Buildable -> Buildable
Buildable
instance B.GValue.IsGValue (Maybe Buildable) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_buildable_get_type
gvalueSet_ :: Ptr GValue -> Maybe Buildable -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Buildable
P.Nothing = Ptr GValue -> Ptr Buildable -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Buildable
forall a. Ptr a
FP.nullPtr :: FP.Ptr Buildable)
gvalueSet_ Ptr GValue
gv (P.Just Buildable
obj) = Buildable -> (Ptr Buildable -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Buildable
obj (Ptr GValue -> Ptr Buildable -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Buildable)
gvalueGet_ Ptr GValue
gv = do
Ptr Buildable
ptr <- Ptr GValue -> IO (Ptr Buildable)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Buildable)
if Ptr Buildable
ptr Ptr Buildable -> Ptr Buildable -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Buildable
forall a. Ptr a
FP.nullPtr
then Buildable -> Maybe Buildable
forall a. a -> Maybe a
P.Just (Buildable -> Maybe Buildable)
-> IO Buildable -> IO (Maybe Buildable)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Buildable -> Buildable)
-> Ptr Buildable -> IO Buildable
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Buildable -> Buildable
Buildable Ptr Buildable
ptr
else Maybe Buildable -> IO (Maybe Buildable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Buildable
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Buildable
type instance O.AttributeList Buildable = BuildableAttributeList
type BuildableAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveBuildableMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveBuildableMethod "addChild" o = BuildableAddChildMethodInfo
ResolveBuildableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveBuildableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveBuildableMethod "constructChild" o = BuildableConstructChildMethodInfo
ResolveBuildableMethod "customFinished" o = BuildableCustomFinishedMethodInfo
ResolveBuildableMethod "customTagEnd" o = BuildableCustomTagEndMethodInfo
ResolveBuildableMethod "customTagStart" o = BuildableCustomTagStartMethodInfo
ResolveBuildableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveBuildableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveBuildableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveBuildableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveBuildableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveBuildableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveBuildableMethod "parserFinished" o = BuildableParserFinishedMethodInfo
ResolveBuildableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveBuildableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveBuildableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveBuildableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveBuildableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveBuildableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveBuildableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveBuildableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveBuildableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveBuildableMethod "getInternalChild" o = BuildableGetInternalChildMethodInfo
ResolveBuildableMethod "getName" o = BuildableGetNameMethodInfo
ResolveBuildableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveBuildableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveBuildableMethod "setBuildableProperty" o = BuildableSetBuildablePropertyMethodInfo
ResolveBuildableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveBuildableMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveBuildableMethod "setName" o = BuildableSetNameMethodInfo
ResolveBuildableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveBuildableMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveBuildableMethod t Buildable, O.OverloadedMethod info Buildable p) => OL.IsLabel t (Buildable -> 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 ~ ResolveBuildableMethod t Buildable, O.OverloadedMethod info Buildable p, R.HasField t Buildable p) => R.HasField t Buildable p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveBuildableMethod t Buildable, O.OverloadedMethodInfo info Buildable) => OL.IsLabel t (O.MethodProxy info Buildable) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
foreign import ccall "gtk_buildable_add_child" gtk_buildable_add_child ::
Ptr Buildable ->
Ptr Gtk.Builder.Builder ->
Ptr GObject.Object.Object ->
CString ->
IO ()
buildableAddChild ::
(B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) =>
a
-> b
-> c
-> Maybe (T.Text)
-> m ()
buildableAddChild :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsBuildable a, IsBuilder b,
IsObject c) =>
a -> b -> c -> Maybe Text -> m ()
buildableAddChild a
buildable b
builder c
child Maybe Text
type_ = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Buildable
buildable' <- a -> IO (Ptr Buildable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buildable
Ptr Builder
builder' <- b -> IO (Ptr Builder)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
builder
Ptr Object
child' <- c -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
child
Ptr CChar
maybeType_ <- case Maybe Text
type_ of
Maybe Text
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
nullPtr
Just Text
jType_ -> do
Ptr CChar
jType_' <- Text -> IO (Ptr CChar)
textToCString Text
jType_
Ptr CChar -> IO (Ptr CChar)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
jType_'
Ptr Buildable -> Ptr Builder -> Ptr Object -> Ptr CChar -> IO ()
gtk_buildable_add_child Ptr Buildable
buildable' Ptr Builder
builder' Ptr Object
child' Ptr CChar
maybeType_
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buildable
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
builder
c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr c
child
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
maybeType_
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BuildableAddChildMethodInfo
instance (signature ~ (b -> c -> Maybe (T.Text) -> m ()), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) => O.OverloadedMethod BuildableAddChildMethodInfo a signature where
overloadedMethod = buildableAddChild
instance O.OverloadedMethodInfo BuildableAddChildMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.Buildable.buildableAddChild",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-Buildable.html#v:buildableAddChild"
})
#endif
foreign import ccall "gtk_buildable_construct_child" gtk_buildable_construct_child ::
Ptr Buildable ->
Ptr Gtk.Builder.Builder ->
CString ->
IO (Ptr GObject.Object.Object)
buildableConstructChild ::
(B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) =>
a
-> b
-> T.Text
-> m GObject.Object.Object
buildableConstructChild :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) =>
a -> b -> Text -> m Object
buildableConstructChild a
buildable b
builder Text
name = IO Object -> m Object
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Object -> m Object) -> IO Object -> m Object
forall a b. (a -> b) -> a -> b
$ do
Ptr Buildable
buildable' <- a -> IO (Ptr Buildable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buildable
Ptr Builder
builder' <- b -> IO (Ptr Builder)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
builder
Ptr CChar
name' <- Text -> IO (Ptr CChar)
textToCString Text
name
Ptr Object
result <- Ptr Buildable -> Ptr Builder -> Ptr CChar -> IO (Ptr Object)
gtk_buildable_construct_child Ptr Buildable
buildable' Ptr Builder
builder' Ptr CChar
name'
Text -> Ptr Object -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"buildableConstructChild" Ptr Object
result
Object
result' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Object -> Object
GObject.Object.Object) Ptr Object
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buildable
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
builder
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
name'
Object -> IO Object
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Object
result'
#if defined(ENABLE_OVERLOADING)
data BuildableConstructChildMethodInfo
instance (signature ~ (b -> T.Text -> m GObject.Object.Object), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) => O.OverloadedMethod BuildableConstructChildMethodInfo a signature where
overloadedMethod = buildableConstructChild
instance O.OverloadedMethodInfo BuildableConstructChildMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.Buildable.buildableConstructChild",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-Buildable.html#v:buildableConstructChild"
})
#endif
foreign import ccall "gtk_buildable_custom_finished" gtk_buildable_custom_finished ::
Ptr Buildable ->
Ptr Gtk.Builder.Builder ->
Ptr GObject.Object.Object ->
CString ->
Ptr () ->
IO ()
buildableCustomFinished ::
(B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) =>
a
-> b
-> Maybe (c)
-> T.Text
-> Ptr ()
-> m ()
buildableCustomFinished :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsBuildable a, IsBuilder b,
IsObject c) =>
a -> b -> Maybe c -> Text -> Ptr () -> m ()
buildableCustomFinished a
buildable b
builder Maybe c
child Text
tagname Ptr ()
data_ = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Buildable
buildable' <- a -> IO (Ptr Buildable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buildable
Ptr Builder
builder' <- b -> IO (Ptr Builder)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
builder
Ptr Object
maybeChild <- case Maybe c
child of
Maybe c
Nothing -> Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
forall a. Ptr a
nullPtr
Just c
jChild -> do
Ptr Object
jChild' <- c -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
jChild
Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
jChild'
Ptr CChar
tagname' <- Text -> IO (Ptr CChar)
textToCString Text
tagname
Ptr Buildable
-> Ptr Builder -> Ptr Object -> Ptr CChar -> Ptr () -> IO ()
gtk_buildable_custom_finished Ptr Buildable
buildable' Ptr Builder
builder' Ptr Object
maybeChild Ptr CChar
tagname' Ptr ()
data_
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buildable
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
builder
Maybe c -> (c -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe c
child c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
tagname'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BuildableCustomFinishedMethodInfo
instance (signature ~ (b -> Maybe (c) -> T.Text -> Ptr () -> m ()), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) => O.OverloadedMethod BuildableCustomFinishedMethodInfo a signature where
overloadedMethod = buildableCustomFinished
instance O.OverloadedMethodInfo BuildableCustomFinishedMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.Buildable.buildableCustomFinished",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-Buildable.html#v:buildableCustomFinished"
})
#endif
foreign import ccall "gtk_buildable_custom_tag_end" gtk_buildable_custom_tag_end ::
Ptr Buildable ->
Ptr Gtk.Builder.Builder ->
Ptr GObject.Object.Object ->
CString ->
Ptr () ->
IO ()
buildableCustomTagEnd ::
(B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) =>
a
-> b
-> Maybe (c)
-> T.Text
-> Ptr ()
-> m ()
buildableCustomTagEnd :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsBuildable a, IsBuilder b,
IsObject c) =>
a -> b -> Maybe c -> Text -> Ptr () -> m ()
buildableCustomTagEnd a
buildable b
builder Maybe c
child Text
tagname Ptr ()
data_ = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Buildable
buildable' <- a -> IO (Ptr Buildable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buildable
Ptr Builder
builder' <- b -> IO (Ptr Builder)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
builder
Ptr Object
maybeChild <- case Maybe c
child of
Maybe c
Nothing -> Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
forall a. Ptr a
nullPtr
Just c
jChild -> do
Ptr Object
jChild' <- c -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
jChild
Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
jChild'
Ptr CChar
tagname' <- Text -> IO (Ptr CChar)
textToCString Text
tagname
Ptr Buildable
-> Ptr Builder -> Ptr Object -> Ptr CChar -> Ptr () -> IO ()
gtk_buildable_custom_tag_end Ptr Buildable
buildable' Ptr Builder
builder' Ptr Object
maybeChild Ptr CChar
tagname' Ptr ()
data_
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buildable
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
builder
Maybe c -> (c -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe c
child c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
tagname'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BuildableCustomTagEndMethodInfo
instance (signature ~ (b -> Maybe (c) -> T.Text -> Ptr () -> m ()), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) => O.OverloadedMethod BuildableCustomTagEndMethodInfo a signature where
overloadedMethod = buildableCustomTagEnd
instance O.OverloadedMethodInfo BuildableCustomTagEndMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.Buildable.buildableCustomTagEnd",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-Buildable.html#v:buildableCustomTagEnd"
})
#endif
foreign import ccall "gtk_buildable_custom_tag_start" gtk_buildable_custom_tag_start ::
Ptr Buildable ->
Ptr Gtk.Builder.Builder ->
Ptr GObject.Object.Object ->
CString ->
Ptr GLib.MarkupParser.MarkupParser ->
Ptr (Ptr ()) ->
IO CInt
buildableCustomTagStart ::
(B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) =>
a
-> b
-> Maybe (c)
-> T.Text
-> m ((Bool, GLib.MarkupParser.MarkupParser, Ptr ()))
buildableCustomTagStart :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsBuildable a, IsBuilder b,
IsObject c) =>
a -> b -> Maybe c -> Text -> m (Bool, MarkupParser, Ptr ())
buildableCustomTagStart a
buildable b
builder Maybe c
child Text
tagname = IO (Bool, MarkupParser, Ptr ()) -> m (Bool, MarkupParser, Ptr ())
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, MarkupParser, Ptr ()) -> m (Bool, MarkupParser, Ptr ()))
-> IO (Bool, MarkupParser, Ptr ())
-> m (Bool, MarkupParser, Ptr ())
forall a b. (a -> b) -> a -> b
$ do
Ptr Buildable
buildable' <- a -> IO (Ptr Buildable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buildable
Ptr Builder
builder' <- b -> IO (Ptr Builder)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
builder
Ptr Object
maybeChild <- case Maybe c
child of
Maybe c
Nothing -> Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
forall a. Ptr a
nullPtr
Just c
jChild -> do
Ptr Object
jChild' <- c -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
jChild
Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
jChild'
Ptr CChar
tagname' <- Text -> IO (Ptr CChar)
textToCString Text
tagname
Ptr MarkupParser
parser <- Int -> IO (Ptr MarkupParser)
forall a. Int -> IO (Ptr a)
SP.callocBytes Int
40 :: IO (Ptr GLib.MarkupParser.MarkupParser)
Ptr (Ptr ())
data_ <- IO (Ptr (Ptr ()))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (Ptr ()))
CInt
result <- Ptr Buildable
-> Ptr Builder
-> Ptr Object
-> Ptr CChar
-> Ptr MarkupParser
-> Ptr (Ptr ())
-> IO CInt
gtk_buildable_custom_tag_start Ptr Buildable
buildable' Ptr Builder
builder' Ptr Object
maybeChild Ptr CChar
tagname' Ptr MarkupParser
parser Ptr (Ptr ())
data_
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
MarkupParser
parser' <- ((ManagedPtr MarkupParser -> MarkupParser)
-> Ptr MarkupParser -> IO MarkupParser
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr MarkupParser -> MarkupParser
GLib.MarkupParser.MarkupParser) Ptr MarkupParser
parser
Ptr ()
data_' <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr ())
data_
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buildable
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
builder
Maybe c -> (c -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe c
child c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
tagname'
Ptr (Ptr ()) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr ())
data_
(Bool, MarkupParser, Ptr ()) -> IO (Bool, MarkupParser, Ptr ())
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', MarkupParser
parser', Ptr ()
data_')
#if defined(ENABLE_OVERLOADING)
data BuildableCustomTagStartMethodInfo
instance (signature ~ (b -> Maybe (c) -> T.Text -> m ((Bool, GLib.MarkupParser.MarkupParser, Ptr ()))), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b, GObject.Object.IsObject c) => O.OverloadedMethod BuildableCustomTagStartMethodInfo a signature where
overloadedMethod = buildableCustomTagStart
instance O.OverloadedMethodInfo BuildableCustomTagStartMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.Buildable.buildableCustomTagStart",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-Buildable.html#v:buildableCustomTagStart"
})
#endif
foreign import ccall "gtk_buildable_get_internal_child" gtk_buildable_get_internal_child ::
Ptr Buildable ->
Ptr Gtk.Builder.Builder ->
CString ->
IO (Ptr GObject.Object.Object)
buildableGetInternalChild ::
(B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) =>
a
-> b
-> T.Text
-> m GObject.Object.Object
buildableGetInternalChild :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) =>
a -> b -> Text -> m Object
buildableGetInternalChild a
buildable b
builder Text
childname = IO Object -> m Object
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Object -> m Object) -> IO Object -> m Object
forall a b. (a -> b) -> a -> b
$ do
Ptr Buildable
buildable' <- a -> IO (Ptr Buildable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buildable
Ptr Builder
builder' <- b -> IO (Ptr Builder)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
builder
Ptr CChar
childname' <- Text -> IO (Ptr CChar)
textToCString Text
childname
Ptr Object
result <- Ptr Buildable -> Ptr Builder -> Ptr CChar -> IO (Ptr Object)
gtk_buildable_get_internal_child Ptr Buildable
buildable' Ptr Builder
builder' Ptr CChar
childname'
Text -> Ptr Object -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"buildableGetInternalChild" Ptr Object
result
Object
result' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
GObject.Object.Object) Ptr Object
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buildable
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
builder
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
childname'
Object -> IO Object
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Object
result'
#if defined(ENABLE_OVERLOADING)
data BuildableGetInternalChildMethodInfo
instance (signature ~ (b -> T.Text -> m GObject.Object.Object), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) => O.OverloadedMethod BuildableGetInternalChildMethodInfo a signature where
overloadedMethod = buildableGetInternalChild
instance O.OverloadedMethodInfo BuildableGetInternalChildMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.Buildable.buildableGetInternalChild",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-Buildable.html#v:buildableGetInternalChild"
})
#endif
foreign import ccall "gtk_buildable_get_name" gtk_buildable_get_name ::
Ptr Buildable ->
IO CString
buildableGetName ::
(B.CallStack.HasCallStack, MonadIO m, IsBuildable a) =>
a
-> m T.Text
buildableGetName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBuildable a) =>
a -> m Text
buildableGetName a
buildable = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr Buildable
buildable' <- a -> IO (Ptr Buildable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buildable
Ptr CChar
result <- Ptr Buildable -> IO (Ptr CChar)
gtk_buildable_get_name Ptr Buildable
buildable'
Text -> Ptr CChar -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"buildableGetName" Ptr CChar
result
Text
result' <- HasCallStack => Ptr CChar -> IO Text
Ptr CChar -> IO Text
cstringToText Ptr CChar
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buildable
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data BuildableGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsBuildable a) => O.OverloadedMethod BuildableGetNameMethodInfo a signature where
overloadedMethod = buildableGetName
instance O.OverloadedMethodInfo BuildableGetNameMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.Buildable.buildableGetName",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-Buildable.html#v:buildableGetName"
})
#endif
foreign import ccall "gtk_buildable_parser_finished" gtk_buildable_parser_finished ::
Ptr Buildable ->
Ptr Gtk.Builder.Builder ->
IO ()
buildableParserFinished ::
(B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) =>
a
-> b
-> m ()
buildableParserFinished :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) =>
a -> b -> m ()
buildableParserFinished a
buildable b
builder = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Buildable
buildable' <- a -> IO (Ptr Buildable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buildable
Ptr Builder
builder' <- b -> IO (Ptr Builder)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
builder
Ptr Buildable -> Ptr Builder -> IO ()
gtk_buildable_parser_finished Ptr Buildable
buildable' Ptr Builder
builder'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buildable
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
builder
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BuildableParserFinishedMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) => O.OverloadedMethod BuildableParserFinishedMethodInfo a signature where
overloadedMethod = buildableParserFinished
instance O.OverloadedMethodInfo BuildableParserFinishedMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.Buildable.buildableParserFinished",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-Buildable.html#v:buildableParserFinished"
})
#endif
foreign import ccall "gtk_buildable_set_buildable_property" gtk_buildable_set_buildable_property ::
Ptr Buildable ->
Ptr Gtk.Builder.Builder ->
CString ->
Ptr GValue ->
IO ()
buildableSetBuildableProperty ::
(B.CallStack.HasCallStack, MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) =>
a
-> b
-> T.Text
-> GValue
-> m ()
buildableSetBuildableProperty :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) =>
a -> b -> Text -> GValue -> m ()
buildableSetBuildableProperty a
buildable b
builder Text
name GValue
value = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Buildable
buildable' <- a -> IO (Ptr Buildable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buildable
Ptr Builder
builder' <- b -> IO (Ptr Builder)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
builder
Ptr CChar
name' <- Text -> IO (Ptr CChar)
textToCString Text
name
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr Buildable -> Ptr Builder -> Ptr CChar -> Ptr GValue -> IO ()
gtk_buildable_set_buildable_property Ptr Buildable
buildable' Ptr Builder
builder' Ptr CChar
name' Ptr GValue
value'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buildable
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
builder
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
name'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BuildableSetBuildablePropertyMethodInfo
instance (signature ~ (b -> T.Text -> GValue -> m ()), MonadIO m, IsBuildable a, Gtk.Builder.IsBuilder b) => O.OverloadedMethod BuildableSetBuildablePropertyMethodInfo a signature where
overloadedMethod = buildableSetBuildableProperty
instance O.OverloadedMethodInfo BuildableSetBuildablePropertyMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.Buildable.buildableSetBuildableProperty",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-Buildable.html#v:buildableSetBuildableProperty"
})
#endif
foreign import ccall "gtk_buildable_set_name" gtk_buildable_set_name ::
Ptr Buildable ->
CString ->
IO ()
buildableSetName ::
(B.CallStack.HasCallStack, MonadIO m, IsBuildable a) =>
a
-> T.Text
-> m ()
buildableSetName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsBuildable a) =>
a -> Text -> m ()
buildableSetName a
buildable Text
name = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Buildable
buildable' <- a -> IO (Ptr Buildable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buildable
Ptr CChar
name' <- Text -> IO (Ptr CChar)
textToCString Text
name
Ptr Buildable -> Ptr CChar -> IO ()
gtk_buildable_set_name Ptr Buildable
buildable' Ptr CChar
name'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buildable
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
name'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data BuildableSetNameMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsBuildable a) => O.OverloadedMethod BuildableSetNameMethodInfo a signature where
overloadedMethod = buildableSetName
instance O.OverloadedMethodInfo BuildableSetNameMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Interfaces.Buildable.buildableSetName",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Interfaces-Buildable.html#v:buildableSetName"
})
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Buildable = BuildableSignalList
type BuildableSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif