{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Objects.FixedLayoutChild
(
FixedLayoutChild(..) ,
IsFixedLayoutChild ,
toFixedLayoutChild ,
noFixedLayoutChild ,
#if defined(ENABLE_OVERLOADING)
ResolveFixedLayoutChildMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
FixedLayoutChildGetPositionMethodInfo ,
#endif
fixedLayoutChildGetPosition ,
#if defined(ENABLE_OVERLOADING)
FixedLayoutChildSetPositionMethodInfo ,
#endif
fixedLayoutChildSetPosition ,
#if defined(ENABLE_OVERLOADING)
FixedLayoutChildPositionPropertyInfo ,
#endif
constructFixedLayoutChildPosition ,
#if defined(ENABLE_OVERLOADING)
fixedLayoutChildPosition ,
#endif
getFixedLayoutChildPosition ,
setFixedLayoutChildPosition ,
) 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 qualified GI.Gsk.Structs.Transform as Gsk.Transform
import {-# SOURCE #-} qualified GI.Gtk.Objects.LayoutChild as Gtk.LayoutChild
newtype FixedLayoutChild = FixedLayoutChild (ManagedPtr FixedLayoutChild)
deriving (FixedLayoutChild -> FixedLayoutChild -> Bool
(FixedLayoutChild -> FixedLayoutChild -> Bool)
-> (FixedLayoutChild -> FixedLayoutChild -> Bool)
-> Eq FixedLayoutChild
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FixedLayoutChild -> FixedLayoutChild -> Bool
$c/= :: FixedLayoutChild -> FixedLayoutChild -> Bool
== :: FixedLayoutChild -> FixedLayoutChild -> Bool
$c== :: FixedLayoutChild -> FixedLayoutChild -> Bool
Eq)
foreign import ccall "gtk_fixed_layout_child_get_type"
c_gtk_fixed_layout_child_get_type :: IO GType
instance GObject FixedLayoutChild where
gobjectType :: IO GType
gobjectType = IO GType
c_gtk_fixed_layout_child_get_type
instance B.GValue.IsGValue FixedLayoutChild where
toGValue :: FixedLayoutChild -> IO GValue
toGValue o :: FixedLayoutChild
o = do
GType
gtype <- IO GType
c_gtk_fixed_layout_child_get_type
FixedLayoutChild
-> (Ptr FixedLayoutChild -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr FixedLayoutChild
o (GType
-> (GValue -> Ptr FixedLayoutChild -> IO ())
-> Ptr FixedLayoutChild
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr FixedLayoutChild -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO FixedLayoutChild
fromGValue gv :: GValue
gv = do
Ptr FixedLayoutChild
ptr <- GValue -> IO (Ptr FixedLayoutChild)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr FixedLayoutChild)
(ManagedPtr FixedLayoutChild -> FixedLayoutChild)
-> Ptr FixedLayoutChild -> IO FixedLayoutChild
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr FixedLayoutChild -> FixedLayoutChild
FixedLayoutChild Ptr FixedLayoutChild
ptr
class (GObject o, O.IsDescendantOf FixedLayoutChild o) => IsFixedLayoutChild o
instance (GObject o, O.IsDescendantOf FixedLayoutChild o) => IsFixedLayoutChild o
instance O.HasParentTypes FixedLayoutChild
type instance O.ParentTypes FixedLayoutChild = '[Gtk.LayoutChild.LayoutChild, GObject.Object.Object]
toFixedLayoutChild :: (MonadIO m, IsFixedLayoutChild o) => o -> m FixedLayoutChild
toFixedLayoutChild :: o -> m FixedLayoutChild
toFixedLayoutChild = IO FixedLayoutChild -> m FixedLayoutChild
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FixedLayoutChild -> m FixedLayoutChild)
-> (o -> IO FixedLayoutChild) -> o -> m FixedLayoutChild
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr FixedLayoutChild -> FixedLayoutChild)
-> o -> IO FixedLayoutChild
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr FixedLayoutChild -> FixedLayoutChild
FixedLayoutChild
noFixedLayoutChild :: Maybe FixedLayoutChild
noFixedLayoutChild :: Maybe FixedLayoutChild
noFixedLayoutChild = Maybe FixedLayoutChild
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveFixedLayoutChildMethod (t :: Symbol) (o :: *) :: * where
ResolveFixedLayoutChildMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveFixedLayoutChildMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveFixedLayoutChildMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveFixedLayoutChildMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveFixedLayoutChildMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveFixedLayoutChildMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveFixedLayoutChildMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveFixedLayoutChildMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveFixedLayoutChildMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveFixedLayoutChildMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveFixedLayoutChildMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveFixedLayoutChildMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveFixedLayoutChildMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveFixedLayoutChildMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveFixedLayoutChildMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveFixedLayoutChildMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveFixedLayoutChildMethod "getChildWidget" o = Gtk.LayoutChild.LayoutChildGetChildWidgetMethodInfo
ResolveFixedLayoutChildMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveFixedLayoutChildMethod "getLayoutManager" o = Gtk.LayoutChild.LayoutChildGetLayoutManagerMethodInfo
ResolveFixedLayoutChildMethod "getPosition" o = FixedLayoutChildGetPositionMethodInfo
ResolveFixedLayoutChildMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveFixedLayoutChildMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveFixedLayoutChildMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveFixedLayoutChildMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveFixedLayoutChildMethod "setPosition" o = FixedLayoutChildSetPositionMethodInfo
ResolveFixedLayoutChildMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveFixedLayoutChildMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFixedLayoutChildMethod t FixedLayoutChild, O.MethodInfo info FixedLayoutChild p) => OL.IsLabel t (FixedLayoutChild -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getFixedLayoutChildPosition :: (MonadIO m, IsFixedLayoutChild o) => o -> m (Maybe Gsk.Transform.Transform)
getFixedLayoutChildPosition :: o -> m (Maybe Transform)
getFixedLayoutChildPosition obj :: o
obj = IO (Maybe Transform) -> m (Maybe Transform)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Transform) -> m (Maybe Transform))
-> IO (Maybe Transform) -> m (Maybe Transform)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr Transform -> Transform)
-> IO (Maybe Transform)
forall a b.
(GObject a, BoxedObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj "position" ManagedPtr Transform -> Transform
Gsk.Transform.Transform
setFixedLayoutChildPosition :: (MonadIO m, IsFixedLayoutChild o) => o -> Gsk.Transform.Transform -> m ()
setFixedLayoutChildPosition :: o -> Transform -> m ()
setFixedLayoutChildPosition obj :: o
obj val :: Transform
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Transform -> IO ()
forall a b.
(GObject a, BoxedObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj "position" (Transform -> Maybe Transform
forall a. a -> Maybe a
Just Transform
val)
constructFixedLayoutChildPosition :: (IsFixedLayoutChild o) => Gsk.Transform.Transform -> IO (GValueConstruct o)
constructFixedLayoutChildPosition :: Transform -> IO (GValueConstruct o)
constructFixedLayoutChildPosition val :: Transform
val = String -> Maybe Transform -> IO (GValueConstruct o)
forall a o.
BoxedObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed "position" (Transform -> Maybe Transform
forall a. a -> Maybe a
Just Transform
val)
#if defined(ENABLE_OVERLOADING)
data FixedLayoutChildPositionPropertyInfo
instance AttrInfo FixedLayoutChildPositionPropertyInfo where
type AttrAllowedOps FixedLayoutChildPositionPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint FixedLayoutChildPositionPropertyInfo = IsFixedLayoutChild
type AttrSetTypeConstraint FixedLayoutChildPositionPropertyInfo = (~) Gsk.Transform.Transform
type AttrTransferTypeConstraint FixedLayoutChildPositionPropertyInfo = (~) Gsk.Transform.Transform
type AttrTransferType FixedLayoutChildPositionPropertyInfo = Gsk.Transform.Transform
type AttrGetType FixedLayoutChildPositionPropertyInfo = (Maybe Gsk.Transform.Transform)
type AttrLabel FixedLayoutChildPositionPropertyInfo = "position"
type AttrOrigin FixedLayoutChildPositionPropertyInfo = FixedLayoutChild
attrGet = getFixedLayoutChildPosition
attrSet = setFixedLayoutChildPosition
attrTransfer _ v = do
return v
attrConstruct = constructFixedLayoutChildPosition
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList FixedLayoutChild
type instance O.AttributeList FixedLayoutChild = FixedLayoutChildAttributeList
type FixedLayoutChildAttributeList = ('[ '("childWidget", Gtk.LayoutChild.LayoutChildChildWidgetPropertyInfo), '("layoutManager", Gtk.LayoutChild.LayoutChildLayoutManagerPropertyInfo), '("position", FixedLayoutChildPositionPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
fixedLayoutChildPosition :: AttrLabelProxy "position"
fixedLayoutChildPosition = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList FixedLayoutChild = FixedLayoutChildSignalList
type FixedLayoutChildSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_fixed_layout_child_get_position" gtk_fixed_layout_child_get_position ::
Ptr FixedLayoutChild ->
IO (Ptr Gsk.Transform.Transform)
fixedLayoutChildGetPosition ::
(B.CallStack.HasCallStack, MonadIO m, IsFixedLayoutChild a) =>
a
-> m (Maybe Gsk.Transform.Transform)
fixedLayoutChildGetPosition :: a -> m (Maybe Transform)
fixedLayoutChildGetPosition child :: a
child = IO (Maybe Transform) -> m (Maybe Transform)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Transform) -> m (Maybe Transform))
-> IO (Maybe Transform) -> m (Maybe Transform)
forall a b. (a -> b) -> a -> b
$ do
Ptr FixedLayoutChild
child' <- a -> IO (Ptr FixedLayoutChild)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
child
Ptr Transform
result <- Ptr FixedLayoutChild -> IO (Ptr Transform)
gtk_fixed_layout_child_get_position Ptr FixedLayoutChild
child'
Maybe Transform
maybeResult <- Ptr Transform
-> (Ptr Transform -> IO Transform) -> IO (Maybe Transform)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Transform
result ((Ptr Transform -> IO Transform) -> IO (Maybe Transform))
-> (Ptr Transform -> IO Transform) -> IO (Maybe Transform)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr Transform
result' -> do
Transform
result'' <- ((ManagedPtr Transform -> Transform)
-> Ptr Transform -> IO Transform
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Transform -> Transform
Gsk.Transform.Transform) Ptr Transform
result'
Transform -> IO Transform
forall (m :: * -> *) a. Monad m => a -> m a
return Transform
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
child
Maybe Transform -> IO (Maybe Transform)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Transform
maybeResult
#if defined(ENABLE_OVERLOADING)
data FixedLayoutChildGetPositionMethodInfo
instance (signature ~ (m (Maybe Gsk.Transform.Transform)), MonadIO m, IsFixedLayoutChild a) => O.MethodInfo FixedLayoutChildGetPositionMethodInfo a signature where
overloadedMethod = fixedLayoutChildGetPosition
#endif
foreign import ccall "gtk_fixed_layout_child_set_position" gtk_fixed_layout_child_set_position ::
Ptr FixedLayoutChild ->
Ptr Gsk.Transform.Transform ->
IO ()
fixedLayoutChildSetPosition ::
(B.CallStack.HasCallStack, MonadIO m, IsFixedLayoutChild a) =>
a
-> Gsk.Transform.Transform
-> m ()
fixedLayoutChildSetPosition :: a -> Transform -> m ()
fixedLayoutChildSetPosition child :: a
child position :: Transform
position = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FixedLayoutChild
child' <- a -> IO (Ptr FixedLayoutChild)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
child
Ptr Transform
position' <- Transform -> IO (Ptr Transform)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Transform
position
Ptr FixedLayoutChild -> Ptr Transform -> IO ()
gtk_fixed_layout_child_set_position Ptr FixedLayoutChild
child' Ptr Transform
position'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
child
Transform -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Transform
position
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FixedLayoutChildSetPositionMethodInfo
instance (signature ~ (Gsk.Transform.Transform -> m ()), MonadIO m, IsFixedLayoutChild a) => O.MethodInfo FixedLayoutChildSetPositionMethodInfo a signature where
overloadedMethod = fixedLayoutChildSetPosition
#endif