{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- /No description available in the introspection data./

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.Gtk.Objects.FixedLayoutChild
    ( 

-- * Exported types
    FixedLayoutChild(..)                    ,
    IsFixedLayoutChild                      ,
    toFixedLayoutChild                      ,
    noFixedLayoutChild                      ,


 -- * Methods
-- ** Overloaded methods #method:Overloaded methods#

#if defined(ENABLE_OVERLOADING)
    ResolveFixedLayoutChildMethod           ,
#endif


-- ** getPosition #method:getPosition#

#if defined(ENABLE_OVERLOADING)
    FixedLayoutChildGetPositionMethodInfo   ,
#endif
    fixedLayoutChildGetPosition             ,


-- ** setPosition #method:setPosition#

#if defined(ENABLE_OVERLOADING)
    FixedLayoutChildSetPositionMethodInfo   ,
#endif
    fixedLayoutChildSetPosition             ,




 -- * Properties
-- ** position #attr:position#
-- | /No description available in the introspection data./

#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

-- | Memory-managed wrapper type.
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
    

-- | Convert 'FixedLayoutChild' to and from 'Data.GI.Base.GValue.GValue' with 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
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
        
    

-- | Type class for types which can be safely cast to `FixedLayoutChild`, for instance with `toFixedLayoutChild`.
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]

-- | Cast to `FixedLayoutChild`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
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

-- | A convenience alias for `Nothing` :: `Maybe` `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

-- VVV Prop "position"
   -- Type: TInterface (Name {namespace = "Gsk", name = "Transform"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just True,Just False)

-- | Get the value of the “@position@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' fixedLayoutChild #position
-- @
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

-- | Set the value of the “@position@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' fixedLayoutChild [ #position 'Data.GI.Base.Attributes.:=' value ]
-- @
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)

-- | Construct a `GValueConstruct` with valid value for the “@position@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
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

-- method FixedLayoutChild::get_position
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "child"
--           , argType =
--               TInterface Name { namespace = "Gtk" , name = "FixedLayoutChild" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkFixedLayoutChild"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TInterface Name { namespace = "Gsk" , name = "Transform" })
-- throws : False
-- Skip return : False

foreign import ccall "gtk_fixed_layout_child_get_position" gtk_fixed_layout_child_get_position :: 
    Ptr FixedLayoutChild ->                 -- child : TInterface (Name {namespace = "Gtk", name = "FixedLayoutChild"})
    IO (Ptr Gsk.Transform.Transform)

-- | Retrieves the transformation of the child of a t'GI.Gtk.Objects.FixedLayout.FixedLayout'.
fixedLayoutChildGetPosition ::
    (B.CallStack.HasCallStack, MonadIO m, IsFixedLayoutChild a) =>
    a
    -- ^ /@child@/: a t'GI.Gtk.Objects.FixedLayoutChild.FixedLayoutChild'
    -> m (Maybe Gsk.Transform.Transform)
    -- ^ __Returns:__ a t'GI.Gsk.Structs.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

-- method FixedLayoutChild::set_position
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "child"
--           , argType =
--               TInterface Name { namespace = "Gtk" , name = "FixedLayoutChild" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkFixedLayoutChild"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "position"
--           , argType =
--               TInterface Name { namespace = "Gsk" , name = "Transform" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GskTransform" , sinceVersion = Nothing }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_fixed_layout_child_set_position" gtk_fixed_layout_child_set_position :: 
    Ptr FixedLayoutChild ->                 -- child : TInterface (Name {namespace = "Gtk", name = "FixedLayoutChild"})
    Ptr Gsk.Transform.Transform ->          -- position : TInterface (Name {namespace = "Gsk", name = "Transform"})
    IO ()

-- | Sets the transformation of the child of a t'GI.Gtk.Objects.FixedLayout.FixedLayout'.
fixedLayoutChildSetPosition ::
    (B.CallStack.HasCallStack, MonadIO m, IsFixedLayoutChild a) =>
    a
    -- ^ /@child@/: a t'GI.Gtk.Objects.FixedLayoutChild.FixedLayoutChild'
    -> Gsk.Transform.Transform
    -- ^ /@position@/: a t'GI.Gsk.Structs.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