#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gtk.Interfaces.Orientable
(
Orientable(..) ,
noOrientable ,
IsOrientable ,
toOrientable ,
#if ENABLE_OVERLOADING
OrientableGetOrientationMethodInfo ,
#endif
orientableGetOrientation ,
#if ENABLE_OVERLOADING
OrientableSetOrientationMethodInfo ,
#endif
orientableSetOrientation ,
#if ENABLE_OVERLOADING
OrientableOrientationPropertyInfo ,
#endif
constructOrientableOrientation ,
getOrientableOrientation ,
#if ENABLE_OVERLOADING
orientableOrientation ,
#endif
setOrientableOrientation ,
) 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.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.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
newtype Orientable = Orientable (ManagedPtr Orientable)
noOrientable :: Maybe Orientable
noOrientable = Nothing
#if ENABLE_OVERLOADING
type instance O.SignalList Orientable = OrientableSignalList
type OrientableSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_orientable_get_type"
c_gtk_orientable_get_type :: IO GType
instance GObject Orientable where
gobjectType _ = c_gtk_orientable_get_type
class GObject o => IsOrientable o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError Orientable a) =>
IsOrientable a
#endif
instance IsOrientable Orientable
instance GObject.Object.IsObject Orientable
toOrientable :: (MonadIO m, IsOrientable o) => o -> m Orientable
toOrientable = liftIO . unsafeCastTo Orientable
getOrientableOrientation :: (MonadIO m, IsOrientable o) => o -> m Gtk.Enums.Orientation
getOrientableOrientation obj = liftIO $ getObjectPropertyEnum obj "orientation"
setOrientableOrientation :: (MonadIO m, IsOrientable o) => o -> Gtk.Enums.Orientation -> m ()
setOrientableOrientation obj val = liftIO $ setObjectPropertyEnum obj "orientation" val
constructOrientableOrientation :: (IsOrientable o) => Gtk.Enums.Orientation -> IO (GValueConstruct o)
constructOrientableOrientation val = constructObjectPropertyEnum "orientation" val
#if ENABLE_OVERLOADING
data OrientableOrientationPropertyInfo
instance AttrInfo OrientableOrientationPropertyInfo where
type AttrAllowedOps OrientableOrientationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint OrientableOrientationPropertyInfo = (~) Gtk.Enums.Orientation
type AttrBaseTypeConstraint OrientableOrientationPropertyInfo = IsOrientable
type AttrGetType OrientableOrientationPropertyInfo = Gtk.Enums.Orientation
type AttrLabel OrientableOrientationPropertyInfo = "orientation"
type AttrOrigin OrientableOrientationPropertyInfo = Orientable
attrGet _ = getOrientableOrientation
attrSet _ = setOrientableOrientation
attrConstruct _ = constructOrientableOrientation
attrClear _ = undefined
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList Orientable
type instance O.AttributeList Orientable = OrientableAttributeList
type OrientableAttributeList = ('[ '("orientation", OrientableOrientationPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
orientableOrientation :: AttrLabelProxy "orientation"
orientableOrientation = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
type family ResolveOrientableMethod (t :: Symbol) (o :: *) :: * where
ResolveOrientableMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveOrientableMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveOrientableMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveOrientableMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveOrientableMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveOrientableMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveOrientableMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveOrientableMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveOrientableMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveOrientableMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveOrientableMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveOrientableMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveOrientableMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveOrientableMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveOrientableMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveOrientableMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveOrientableMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveOrientableMethod "getOrientation" o = OrientableGetOrientationMethodInfo
ResolveOrientableMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveOrientableMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveOrientableMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveOrientableMethod "setOrientation" o = OrientableSetOrientationMethodInfo
ResolveOrientableMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveOrientableMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveOrientableMethod t Orientable, O.MethodInfo info Orientable p) => O.IsLabelProxy t (Orientable -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveOrientableMethod t Orientable, O.MethodInfo info Orientable p) => O.IsLabel t (Orientable -> 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
#endif
foreign import ccall "gtk_orientable_get_orientation" gtk_orientable_get_orientation ::
Ptr Orientable ->
IO CUInt
orientableGetOrientation ::
(B.CallStack.HasCallStack, MonadIO m, IsOrientable a) =>
a
-> m Gtk.Enums.Orientation
orientableGetOrientation orientable = liftIO $ do
orientable' <- unsafeManagedPtrCastPtr orientable
result <- gtk_orientable_get_orientation orientable'
let result' = (toEnum . fromIntegral) result
touchManagedPtr orientable
return result'
#if ENABLE_OVERLOADING
data OrientableGetOrientationMethodInfo
instance (signature ~ (m Gtk.Enums.Orientation), MonadIO m, IsOrientable a) => O.MethodInfo OrientableGetOrientationMethodInfo a signature where
overloadedMethod _ = orientableGetOrientation
#endif
foreign import ccall "gtk_orientable_set_orientation" gtk_orientable_set_orientation ::
Ptr Orientable ->
CUInt ->
IO ()
orientableSetOrientation ::
(B.CallStack.HasCallStack, MonadIO m, IsOrientable a) =>
a
-> Gtk.Enums.Orientation
-> m ()
orientableSetOrientation orientable orientation = liftIO $ do
orientable' <- unsafeManagedPtrCastPtr orientable
let orientation' = (fromIntegral . fromEnum) orientation
gtk_orientable_set_orientation orientable' orientation'
touchManagedPtr orientable
return ()
#if ENABLE_OVERLOADING
data OrientableSetOrientationMethodInfo
instance (signature ~ (Gtk.Enums.Orientation -> m ()), MonadIO m, IsOrientable a) => O.MethodInfo OrientableSetOrientationMethodInfo a signature where
overloadedMethod _ = orientableSetOrientation
#endif