{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) /No description available in the introspection data./ -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.Gtk.Structs.FixedChild ( -- * Exported types FixedChild(..) , newZeroFixedChild , noFixedChild , -- * Properties -- ** widget #attr:widget# {- | /No description available in the introspection data./ -} clearFixedChildWidget , #if ENABLE_OVERLOADING fixedChild_widget , #endif getFixedChildWidget , setFixedChildWidget , -- ** x #attr:x# {- | /No description available in the introspection data./ -} #if ENABLE_OVERLOADING fixedChild_x , #endif getFixedChildX , setFixedChildX , -- ** y #attr:y# {- | /No description available in the introspection data./ -} #if ENABLE_OVERLOADING fixedChild_y , #endif getFixedChildY , setFixedChildY , ) 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.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 {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget -- | Memory-managed wrapper type. newtype FixedChild = FixedChild (ManagedPtr FixedChild) instance WrappedPtr FixedChild where wrappedPtrCalloc = callocBytes 16 wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr FixedChild) wrappedPtrFree = Just ptr_to_g_free -- | Construct a `FixedChild` struct initialized to zero. newZeroFixedChild :: MonadIO m => m FixedChild newZeroFixedChild = liftIO $ wrappedPtrCalloc >>= wrapPtr FixedChild instance tag ~ 'AttrSet => Constructible FixedChild tag where new _ attrs = do o <- newZeroFixedChild GI.Attributes.set o attrs return o -- | A convenience alias for `Nothing` :: `Maybe` `FixedChild`. noFixedChild :: Maybe FixedChild noFixedChild = Nothing {- | Get the value of the “@widget@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' fixedChild #widget @ -} getFixedChildWidget :: MonadIO m => FixedChild -> m (Maybe Gtk.Widget.Widget) getFixedChildWidget s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gtk.Widget.Widget) result <- SP.convertIfNonNull val $ \val' -> do val'' <- (newObject Gtk.Widget.Widget) val' return val'' return result {- | Set the value of the “@widget@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' fixedChild [ #widget 'Data.GI.Base.Attributes.:=' value ] @ -} setFixedChildWidget :: MonadIO m => FixedChild -> Ptr Gtk.Widget.Widget -> m () setFixedChildWidget s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 0) (val :: Ptr Gtk.Widget.Widget) {- | Set the value of the “@widget@” field to `Nothing`. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.clear' #widget @ -} clearFixedChildWidget :: MonadIO m => FixedChild -> m () clearFixedChildWidget s = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr Gtk.Widget.Widget) #if ENABLE_OVERLOADING data FixedChildWidgetFieldInfo instance AttrInfo FixedChildWidgetFieldInfo where type AttrAllowedOps FixedChildWidgetFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear] type AttrSetTypeConstraint FixedChildWidgetFieldInfo = (~) (Ptr Gtk.Widget.Widget) type AttrBaseTypeConstraint FixedChildWidgetFieldInfo = (~) FixedChild type AttrGetType FixedChildWidgetFieldInfo = Maybe Gtk.Widget.Widget type AttrLabel FixedChildWidgetFieldInfo = "widget" type AttrOrigin FixedChildWidgetFieldInfo = FixedChild attrGet _ = getFixedChildWidget attrSet _ = setFixedChildWidget attrConstruct = undefined attrClear _ = clearFixedChildWidget fixedChild_widget :: AttrLabelProxy "widget" fixedChild_widget = AttrLabelProxy #endif {- | Get the value of the “@x@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' fixedChild #x @ -} getFixedChildX :: MonadIO m => FixedChild -> m Int32 getFixedChildX s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 8) :: IO Int32 return val {- | Set the value of the “@x@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' fixedChild [ #x 'Data.GI.Base.Attributes.:=' value ] @ -} setFixedChildX :: MonadIO m => FixedChild -> Int32 -> m () setFixedChildX s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 8) (val :: Int32) #if ENABLE_OVERLOADING data FixedChildXFieldInfo instance AttrInfo FixedChildXFieldInfo where type AttrAllowedOps FixedChildXFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint FixedChildXFieldInfo = (~) Int32 type AttrBaseTypeConstraint FixedChildXFieldInfo = (~) FixedChild type AttrGetType FixedChildXFieldInfo = Int32 type AttrLabel FixedChildXFieldInfo = "x" type AttrOrigin FixedChildXFieldInfo = FixedChild attrGet _ = getFixedChildX attrSet _ = setFixedChildX attrConstruct = undefined attrClear _ = undefined fixedChild_x :: AttrLabelProxy "x" fixedChild_x = AttrLabelProxy #endif {- | Get the value of the “@y@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' fixedChild #y @ -} getFixedChildY :: MonadIO m => FixedChild -> m Int32 getFixedChildY s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 12) :: IO Int32 return val {- | Set the value of the “@y@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' fixedChild [ #y 'Data.GI.Base.Attributes.:=' value ] @ -} setFixedChildY :: MonadIO m => FixedChild -> Int32 -> m () setFixedChildY s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 12) (val :: Int32) #if ENABLE_OVERLOADING data FixedChildYFieldInfo instance AttrInfo FixedChildYFieldInfo where type AttrAllowedOps FixedChildYFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint FixedChildYFieldInfo = (~) Int32 type AttrBaseTypeConstraint FixedChildYFieldInfo = (~) FixedChild type AttrGetType FixedChildYFieldInfo = Int32 type AttrLabel FixedChildYFieldInfo = "y" type AttrOrigin FixedChildYFieldInfo = FixedChild attrGet _ = getFixedChildY attrSet _ = setFixedChildY attrConstruct = undefined attrClear _ = undefined fixedChild_y :: AttrLabelProxy "y" fixedChild_y = AttrLabelProxy #endif #if ENABLE_OVERLOADING instance O.HasAttributeList FixedChild type instance O.AttributeList FixedChild = FixedChildAttributeList type FixedChildAttributeList = ('[ '("widget", FixedChildWidgetFieldInfo), '("x", FixedChildXFieldInfo), '("y", FixedChildYFieldInfo)] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING type family ResolveFixedChildMethod (t :: Symbol) (o :: *) :: * where ResolveFixedChildMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveFixedChildMethod t FixedChild, O.MethodInfo info FixedChild p) => OL.IsLabel t (FixedChild -> p) where #if MIN_VERSION_base(4,10,0) fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #else fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif #endif