{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Objects.OverlayLayout
(
OverlayLayout(..) ,
IsOverlayLayout ,
toOverlayLayout ,
#if defined(ENABLE_OVERLOADING)
ResolveOverlayLayoutMethod ,
#endif
overlayLayoutNew ,
) 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.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gtk.Objects.LayoutManager as Gtk.LayoutManager
newtype OverlayLayout = OverlayLayout (SP.ManagedPtr OverlayLayout)
deriving (OverlayLayout -> OverlayLayout -> Bool
(OverlayLayout -> OverlayLayout -> Bool)
-> (OverlayLayout -> OverlayLayout -> Bool) -> Eq OverlayLayout
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OverlayLayout -> OverlayLayout -> Bool
== :: OverlayLayout -> OverlayLayout -> Bool
$c/= :: OverlayLayout -> OverlayLayout -> Bool
/= :: OverlayLayout -> OverlayLayout -> Bool
Eq)
instance SP.ManagedPtrNewtype OverlayLayout where
toManagedPtr :: OverlayLayout -> ManagedPtr OverlayLayout
toManagedPtr (OverlayLayout ManagedPtr OverlayLayout
p) = ManagedPtr OverlayLayout
p
foreign import ccall "gtk_overlay_layout_get_type"
c_gtk_overlay_layout_get_type :: IO B.Types.GType
instance B.Types.TypedObject OverlayLayout where
glibType :: IO GType
glibType = IO GType
c_gtk_overlay_layout_get_type
instance B.Types.GObject OverlayLayout
class (SP.GObject o, O.IsDescendantOf OverlayLayout o) => IsOverlayLayout o
instance (SP.GObject o, O.IsDescendantOf OverlayLayout o) => IsOverlayLayout o
instance O.HasParentTypes OverlayLayout
type instance O.ParentTypes OverlayLayout = '[Gtk.LayoutManager.LayoutManager, GObject.Object.Object]
toOverlayLayout :: (MIO.MonadIO m, IsOverlayLayout o) => o -> m OverlayLayout
toOverlayLayout :: forall (m :: * -> *) o.
(MonadIO m, IsOverlayLayout o) =>
o -> m OverlayLayout
toOverlayLayout = IO OverlayLayout -> m OverlayLayout
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO OverlayLayout -> m OverlayLayout)
-> (o -> IO OverlayLayout) -> o -> m OverlayLayout
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr OverlayLayout -> OverlayLayout)
-> o -> IO OverlayLayout
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr OverlayLayout -> OverlayLayout
OverlayLayout
instance B.GValue.IsGValue (Maybe OverlayLayout) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_overlay_layout_get_type
gvalueSet_ :: Ptr GValue -> Maybe OverlayLayout -> IO ()
gvalueSet_ Ptr GValue
gv Maybe OverlayLayout
P.Nothing = Ptr GValue -> Ptr OverlayLayout -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr OverlayLayout
forall a. Ptr a
FP.nullPtr :: FP.Ptr OverlayLayout)
gvalueSet_ Ptr GValue
gv (P.Just OverlayLayout
obj) = OverlayLayout -> (Ptr OverlayLayout -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr OverlayLayout
obj (Ptr GValue -> Ptr OverlayLayout -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe OverlayLayout)
gvalueGet_ Ptr GValue
gv = do
Ptr OverlayLayout
ptr <- Ptr GValue -> IO (Ptr OverlayLayout)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr OverlayLayout)
if Ptr OverlayLayout
ptr Ptr OverlayLayout -> Ptr OverlayLayout -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr OverlayLayout
forall a. Ptr a
FP.nullPtr
then OverlayLayout -> Maybe OverlayLayout
forall a. a -> Maybe a
P.Just (OverlayLayout -> Maybe OverlayLayout)
-> IO OverlayLayout -> IO (Maybe OverlayLayout)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr OverlayLayout -> OverlayLayout)
-> Ptr OverlayLayout -> IO OverlayLayout
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr OverlayLayout -> OverlayLayout
OverlayLayout Ptr OverlayLayout
ptr
else Maybe OverlayLayout -> IO (Maybe OverlayLayout)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe OverlayLayout
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveOverlayLayoutMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveOverlayLayoutMethod "allocate" o = Gtk.LayoutManager.LayoutManagerAllocateMethodInfo
ResolveOverlayLayoutMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveOverlayLayoutMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveOverlayLayoutMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveOverlayLayoutMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveOverlayLayoutMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveOverlayLayoutMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveOverlayLayoutMethod "layoutChanged" o = Gtk.LayoutManager.LayoutManagerLayoutChangedMethodInfo
ResolveOverlayLayoutMethod "measure" o = Gtk.LayoutManager.LayoutManagerMeasureMethodInfo
ResolveOverlayLayoutMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveOverlayLayoutMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveOverlayLayoutMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveOverlayLayoutMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveOverlayLayoutMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveOverlayLayoutMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveOverlayLayoutMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveOverlayLayoutMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveOverlayLayoutMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveOverlayLayoutMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveOverlayLayoutMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveOverlayLayoutMethod "getLayoutChild" o = Gtk.LayoutManager.LayoutManagerGetLayoutChildMethodInfo
ResolveOverlayLayoutMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveOverlayLayoutMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveOverlayLayoutMethod "getRequestMode" o = Gtk.LayoutManager.LayoutManagerGetRequestModeMethodInfo
ResolveOverlayLayoutMethod "getWidget" o = Gtk.LayoutManager.LayoutManagerGetWidgetMethodInfo
ResolveOverlayLayoutMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveOverlayLayoutMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveOverlayLayoutMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveOverlayLayoutMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveOverlayLayoutMethod t OverlayLayout, O.OverloadedMethod info OverlayLayout p) => OL.IsLabel t (OverlayLayout -> 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 ~ ResolveOverlayLayoutMethod t OverlayLayout, O.OverloadedMethod info OverlayLayout p, R.HasField t OverlayLayout p) => R.HasField t OverlayLayout p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveOverlayLayoutMethod t OverlayLayout, O.OverloadedMethodInfo info OverlayLayout) => OL.IsLabel t (O.MethodProxy info OverlayLayout) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList OverlayLayout
type instance O.AttributeList OverlayLayout = OverlayLayoutAttributeList
type OverlayLayoutAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList OverlayLayout = OverlayLayoutSignalList
type OverlayLayoutSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "gtk_overlay_layout_new" gtk_overlay_layout_new ::
IO (Ptr OverlayLayout)
overlayLayoutNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m OverlayLayout
overlayLayoutNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m OverlayLayout
overlayLayoutNew = IO OverlayLayout -> m OverlayLayout
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO OverlayLayout -> m OverlayLayout)
-> IO OverlayLayout -> m OverlayLayout
forall a b. (a -> b) -> a -> b
$ do
Ptr OverlayLayout
result <- IO (Ptr OverlayLayout)
gtk_overlay_layout_new
Text -> Ptr OverlayLayout -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"overlayLayoutNew" Ptr OverlayLayout
result
OverlayLayout
result' <- ((ManagedPtr OverlayLayout -> OverlayLayout)
-> Ptr OverlayLayout -> IO OverlayLayout
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr OverlayLayout -> OverlayLayout
OverlayLayout) Ptr OverlayLayout
result
OverlayLayout -> IO OverlayLayout
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return OverlayLayout
result'
#if defined(ENABLE_OVERLOADING)
#endif