{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Objects.RcStyle
(
RcStyle(..) ,
IsRcStyle ,
toRcStyle ,
#if defined(ENABLE_OVERLOADING)
ResolveRcStyleMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
RcStyleCopyMethodInfo ,
#endif
rcStyleCopy ,
rcStyleNew ,
) 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
newtype RcStyle = RcStyle (SP.ManagedPtr RcStyle)
deriving (RcStyle -> RcStyle -> Bool
(RcStyle -> RcStyle -> Bool)
-> (RcStyle -> RcStyle -> Bool) -> Eq RcStyle
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RcStyle -> RcStyle -> Bool
== :: RcStyle -> RcStyle -> Bool
$c/= :: RcStyle -> RcStyle -> Bool
/= :: RcStyle -> RcStyle -> Bool
Eq)
instance SP.ManagedPtrNewtype RcStyle where
toManagedPtr :: RcStyle -> ManagedPtr RcStyle
toManagedPtr (RcStyle ManagedPtr RcStyle
p) = ManagedPtr RcStyle
p
foreign import ccall "gtk_rc_style_get_type"
c_gtk_rc_style_get_type :: IO B.Types.GType
instance B.Types.TypedObject RcStyle where
glibType :: IO GType
glibType = IO GType
c_gtk_rc_style_get_type
instance B.Types.GObject RcStyle
class (SP.GObject o, O.IsDescendantOf RcStyle o) => IsRcStyle o
instance (SP.GObject o, O.IsDescendantOf RcStyle o) => IsRcStyle o
instance O.HasParentTypes RcStyle
type instance O.ParentTypes RcStyle = '[GObject.Object.Object]
toRcStyle :: (MIO.MonadIO m, IsRcStyle o) => o -> m RcStyle
toRcStyle :: forall (m :: * -> *) o. (MonadIO m, IsRcStyle o) => o -> m RcStyle
toRcStyle = IO RcStyle -> m RcStyle
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO RcStyle -> m RcStyle) -> (o -> IO RcStyle) -> o -> m RcStyle
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr RcStyle -> RcStyle) -> o -> IO RcStyle
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr RcStyle -> RcStyle
RcStyle
instance B.GValue.IsGValue (Maybe RcStyle) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_rc_style_get_type
gvalueSet_ :: Ptr GValue -> Maybe RcStyle -> IO ()
gvalueSet_ Ptr GValue
gv Maybe RcStyle
P.Nothing = Ptr GValue -> Ptr RcStyle -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr RcStyle
forall a. Ptr a
FP.nullPtr :: FP.Ptr RcStyle)
gvalueSet_ Ptr GValue
gv (P.Just RcStyle
obj) = RcStyle -> (Ptr RcStyle -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr RcStyle
obj (Ptr GValue -> Ptr RcStyle -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe RcStyle)
gvalueGet_ Ptr GValue
gv = do
Ptr RcStyle
ptr <- Ptr GValue -> IO (Ptr RcStyle)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr RcStyle)
if Ptr RcStyle
ptr Ptr RcStyle -> Ptr RcStyle -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr RcStyle
forall a. Ptr a
FP.nullPtr
then RcStyle -> Maybe RcStyle
forall a. a -> Maybe a
P.Just (RcStyle -> Maybe RcStyle) -> IO RcStyle -> IO (Maybe RcStyle)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr RcStyle -> RcStyle) -> Ptr RcStyle -> IO RcStyle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr RcStyle -> RcStyle
RcStyle Ptr RcStyle
ptr
else Maybe RcStyle -> IO (Maybe RcStyle)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe RcStyle
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveRcStyleMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveRcStyleMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveRcStyleMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveRcStyleMethod "copy" o = RcStyleCopyMethodInfo
ResolveRcStyleMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveRcStyleMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveRcStyleMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveRcStyleMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveRcStyleMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveRcStyleMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveRcStyleMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveRcStyleMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveRcStyleMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveRcStyleMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveRcStyleMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveRcStyleMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveRcStyleMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveRcStyleMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveRcStyleMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveRcStyleMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveRcStyleMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveRcStyleMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveRcStyleMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveRcStyleMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveRcStyleMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRcStyleMethod t RcStyle, O.OverloadedMethod info RcStyle p) => OL.IsLabel t (RcStyle -> 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 ~ ResolveRcStyleMethod t RcStyle, O.OverloadedMethod info RcStyle p, R.HasField t RcStyle p) => R.HasField t RcStyle p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveRcStyleMethod t RcStyle, O.OverloadedMethodInfo info RcStyle) => OL.IsLabel t (O.MethodProxy info RcStyle) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList RcStyle
type instance O.AttributeList RcStyle = RcStyleAttributeList
type RcStyleAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList RcStyle = RcStyleSignalList
type RcStyleSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "gtk_rc_style_new" gtk_rc_style_new ::
IO (Ptr RcStyle)
{-# DEPRECATED rcStyleNew ["(Since version 3.0)","Use t'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
rcStyleNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m RcStyle
rcStyleNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m RcStyle
rcStyleNew = IO RcStyle -> m RcStyle
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO RcStyle -> m RcStyle) -> IO RcStyle -> m RcStyle
forall a b. (a -> b) -> a -> b
$ do
Ptr RcStyle
result <- IO (Ptr RcStyle)
gtk_rc_style_new
Text -> Ptr RcStyle -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"rcStyleNew" Ptr RcStyle
result
RcStyle
result' <- ((ManagedPtr RcStyle -> RcStyle) -> Ptr RcStyle -> IO RcStyle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr RcStyle -> RcStyle
RcStyle) Ptr RcStyle
result
RcStyle -> IO RcStyle
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return RcStyle
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gtk_rc_style_copy" gtk_rc_style_copy ::
Ptr RcStyle ->
IO (Ptr RcStyle)
{-# DEPRECATED rcStyleCopy ["(Since version 3.0)","Use t'GI.Gtk.Objects.CssProvider.CssProvider' instead."] #-}
rcStyleCopy ::
(B.CallStack.HasCallStack, MonadIO m, IsRcStyle a) =>
a
-> m RcStyle
rcStyleCopy :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsRcStyle a) =>
a -> m RcStyle
rcStyleCopy a
orig = IO RcStyle -> m RcStyle
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO RcStyle -> m RcStyle) -> IO RcStyle -> m RcStyle
forall a b. (a -> b) -> a -> b
$ do
Ptr RcStyle
orig' <- a -> IO (Ptr RcStyle)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
orig
Ptr RcStyle
result <- Ptr RcStyle -> IO (Ptr RcStyle)
gtk_rc_style_copy Ptr RcStyle
orig'
Text -> Ptr RcStyle -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"rcStyleCopy" Ptr RcStyle
result
RcStyle
result' <- ((ManagedPtr RcStyle -> RcStyle) -> Ptr RcStyle -> IO RcStyle
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr RcStyle -> RcStyle
RcStyle) Ptr RcStyle
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
orig
RcStyle -> IO RcStyle
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return RcStyle
result'
#if defined(ENABLE_OVERLOADING)
data RcStyleCopyMethodInfo
instance (signature ~ (m RcStyle), MonadIO m, IsRcStyle a) => O.OverloadedMethod RcStyleCopyMethodInfo a signature where
overloadedMethod = rcStyleCopy
instance O.OverloadedMethodInfo RcStyleCopyMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.RcStyle.rcStyleCopy",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Objects-RcStyle.html#v:rcStyleCopy"
})
#endif