gi-gtk-3.0.28: GI/Gtk/Objects/StyleProperties.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
GtkStyleProperties provides the storage for style information
that is used by 'GI.Gtk.Objects.StyleContext.StyleContext' and other 'GI.Gtk.Interfaces.StyleProvider.StyleProvider'
implementations.
Before style properties can be stored in GtkStyleProperties, they
must be registered with @/gtk_style_properties_register_property()/@.
Unless you are writing a 'GI.Gtk.Interfaces.StyleProvider.StyleProvider' implementation, you
are unlikely to use this API directly, as @/gtk_style_context_get()/@
and its variants are the preferred way to access styling information
from widget implementations and theming engine implementations
should use the APIs provided by 'GI.Gtk.Objects.ThemingEngine.ThemingEngine' instead.
'GI.Gtk.Objects.StyleProperties.StyleProperties' has been deprecated in GTK 3.16. The CSS
machinery does not use it anymore and all users of this object
have been deprecated.
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gtk.Objects.StyleProperties
(
-- * Exported types
StyleProperties(..) ,
IsStyleProperties ,
toStyleProperties ,
noStyleProperties ,
-- * Methods
-- ** clear #method:clear#
#if ENABLE_OVERLOADING
StylePropertiesClearMethodInfo ,
#endif
stylePropertiesClear ,
-- ** getProperty #method:getProperty#
#if ENABLE_OVERLOADING
StylePropertiesGetPropertyMethodInfo ,
#endif
stylePropertiesGetProperty ,
-- ** lookupColor #method:lookupColor#
#if ENABLE_OVERLOADING
StylePropertiesLookupColorMethodInfo ,
#endif
stylePropertiesLookupColor ,
-- ** mapColor #method:mapColor#
#if ENABLE_OVERLOADING
StylePropertiesMapColorMethodInfo ,
#endif
stylePropertiesMapColor ,
-- ** merge #method:merge#
#if ENABLE_OVERLOADING
StylePropertiesMergeMethodInfo ,
#endif
stylePropertiesMerge ,
-- ** new #method:new#
stylePropertiesNew ,
-- ** setProperty #method:setProperty#
#if ENABLE_OVERLOADING
StylePropertiesSetPropertyMethodInfo ,
#endif
stylePropertiesSetProperty ,
-- ** unsetProperty #method:unsetProperty#
#if ENABLE_OVERLOADING
StylePropertiesUnsetPropertyMethodInfo ,
#endif
stylePropertiesUnsetProperty ,
) 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 qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.StyleProvider as Gtk.StyleProvider
import {-# SOURCE #-} qualified GI.Gtk.Structs.SymbolicColor as Gtk.SymbolicColor
-- | Memory-managed wrapper type.
newtype StyleProperties = StyleProperties (ManagedPtr StyleProperties)
foreign import ccall "gtk_style_properties_get_type"
c_gtk_style_properties_get_type :: IO GType
instance GObject StyleProperties where
gobjectType = c_gtk_style_properties_get_type
-- | Type class for types which can be safely cast to `StyleProperties`, for instance with `toStyleProperties`.
class (GObject o, O.IsDescendantOf StyleProperties o) => IsStyleProperties o
instance (GObject o, O.IsDescendantOf StyleProperties o) => IsStyleProperties o
instance O.HasParentTypes StyleProperties
type instance O.ParentTypes StyleProperties = '[GObject.Object.Object, Gtk.StyleProvider.StyleProvider]
-- | Cast to `StyleProperties`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toStyleProperties :: (MonadIO m, IsStyleProperties o) => o -> m StyleProperties
toStyleProperties = liftIO . unsafeCastTo StyleProperties
-- | A convenience alias for `Nothing` :: `Maybe` `StyleProperties`.
noStyleProperties :: Maybe StyleProperties
noStyleProperties = Nothing
#if ENABLE_OVERLOADING
type family ResolveStylePropertiesMethod (t :: Symbol) (o :: *) :: * where
ResolveStylePropertiesMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveStylePropertiesMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveStylePropertiesMethod "clear" o = StylePropertiesClearMethodInfo
ResolveStylePropertiesMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveStylePropertiesMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveStylePropertiesMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveStylePropertiesMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveStylePropertiesMethod "lookupColor" o = StylePropertiesLookupColorMethodInfo
ResolveStylePropertiesMethod "mapColor" o = StylePropertiesMapColorMethodInfo
ResolveStylePropertiesMethod "merge" o = StylePropertiesMergeMethodInfo
ResolveStylePropertiesMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveStylePropertiesMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveStylePropertiesMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveStylePropertiesMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveStylePropertiesMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveStylePropertiesMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveStylePropertiesMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveStylePropertiesMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveStylePropertiesMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveStylePropertiesMethod "unsetProperty" o = StylePropertiesUnsetPropertyMethodInfo
ResolveStylePropertiesMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveStylePropertiesMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveStylePropertiesMethod "getIconFactory" o = Gtk.StyleProvider.StyleProviderGetIconFactoryMethodInfo
ResolveStylePropertiesMethod "getProperty" o = StylePropertiesGetPropertyMethodInfo
ResolveStylePropertiesMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveStylePropertiesMethod "getStyle" o = Gtk.StyleProvider.StyleProviderGetStyleMethodInfo
ResolveStylePropertiesMethod "getStyleProperty" o = Gtk.StyleProvider.StyleProviderGetStylePropertyMethodInfo
ResolveStylePropertiesMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveStylePropertiesMethod "setProperty" o = StylePropertiesSetPropertyMethodInfo
ResolveStylePropertiesMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveStylePropertiesMethod t StyleProperties, O.MethodInfo info StyleProperties p) => OL.IsLabel t (StyleProperties -> 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
#if ENABLE_OVERLOADING
instance O.HasAttributeList StyleProperties
type instance O.AttributeList StyleProperties = StylePropertiesAttributeList
type StylePropertiesAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList StyleProperties = StylePropertiesSignalList
type StylePropertiesSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
-- method StyleProperties::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StyleProperties"}))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_style_properties_new" gtk_style_properties_new ::
IO (Ptr StyleProperties)
{-# DEPRECATED stylePropertiesNew ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
{- |
Returns a newly created 'GI.Gtk.Objects.StyleProperties.StyleProperties'
-}
stylePropertiesNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m StyleProperties
{- ^ __Returns:__ a new 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
stylePropertiesNew = liftIO $ do
result <- gtk_style_properties_new
checkUnexpectedReturnNULL "stylePropertiesNew" result
result' <- (wrapObject StyleProperties) result
return result'
#if ENABLE_OVERLOADING
#endif
-- method StyleProperties::clear
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_style_properties_clear" gtk_style_properties_clear ::
Ptr StyleProperties -> -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
IO ()
{-# DEPRECATED stylePropertiesClear ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
{- |
Clears all style information from /@props@/.
-}
stylePropertiesClear ::
(B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
a
{- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
-> m ()
stylePropertiesClear props = liftIO $ do
props' <- unsafeManagedPtrCastPtr props
gtk_style_properties_clear props'
touchManagedPtr props
return ()
#if ENABLE_OVERLOADING
data StylePropertiesClearMethodInfo
instance (signature ~ (m ()), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesClearMethodInfo a signature where
overloadedMethod _ = stylePropertiesClear
#endif
-- method StyleProperties::get_property
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "style property name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to retrieve the property value for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the style property value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_style_properties_get_property" gtk_style_properties_get_property ::
Ptr StyleProperties -> -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
CString -> -- property : TBasicType TUTF8
CUInt -> -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
Ptr GValue -> -- value : TInterface (Name {namespace = "GObject", name = "Value"})
IO CInt
{-# DEPRECATED stylePropertiesGetProperty ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
{- |
Gets a style property from /@props@/ for the given state. When done with /@value@/,
'GI.GObject.Structs.Value.valueUnset' needs to be called to free any allocated memory.
/Since: 3.0/
-}
stylePropertiesGetProperty ::
(B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
a
{- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
-> T.Text
{- ^ /@property@/: style property name -}
-> [Gtk.Flags.StateFlags]
{- ^ /@state@/: state to retrieve the property value for -}
-> m ((Bool, GValue))
{- ^ __Returns:__ 'True' if the property exists in /@props@/, 'False' otherwise -}
stylePropertiesGetProperty props property state = liftIO $ do
props' <- unsafeManagedPtrCastPtr props
property' <- textToCString property
let state' = gflagsToWord state
value <- callocBoxedBytes 24 :: IO (Ptr GValue)
result <- gtk_style_properties_get_property props' property' state' value
let result' = (/= 0) result
value' <- (wrapBoxed GValue) value
touchManagedPtr props
freeMem property'
return (result', value')
#if ENABLE_OVERLOADING
data StylePropertiesGetPropertyMethodInfo
instance (signature ~ (T.Text -> [Gtk.Flags.StateFlags] -> m ((Bool, GValue))), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesGetPropertyMethodInfo a signature where
overloadedMethod _ = stylePropertiesGetProperty
#endif
-- method StyleProperties::lookup_color
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "color name to lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_style_properties_lookup_color" gtk_style_properties_lookup_color ::
Ptr StyleProperties -> -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
CString -> -- name : TBasicType TUTF8
IO (Ptr Gtk.SymbolicColor.SymbolicColor)
{-# DEPRECATED stylePropertiesLookupColor ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
{- |
Returns the symbolic color that is mapped
to /@name@/.
/Since: 3.0/
-}
stylePropertiesLookupColor ::
(B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
a
{- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
-> T.Text
{- ^ /@name@/: color name to lookup -}
-> m Gtk.SymbolicColor.SymbolicColor
{- ^ __Returns:__ The mapped color -}
stylePropertiesLookupColor props name = liftIO $ do
props' <- unsafeManagedPtrCastPtr props
name' <- textToCString name
result <- gtk_style_properties_lookup_color props' name'
checkUnexpectedReturnNULL "stylePropertiesLookupColor" result
result' <- (newBoxed Gtk.SymbolicColor.SymbolicColor) result
touchManagedPtr props
freeMem name'
return result'
#if ENABLE_OVERLOADING
data StylePropertiesLookupColorMethodInfo
instance (signature ~ (T.Text -> m Gtk.SymbolicColor.SymbolicColor), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesLookupColorMethodInfo a signature where
overloadedMethod _ = stylePropertiesLookupColor
#endif
-- method StyleProperties::map_color
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "color name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "color", argType = TInterface (Name {namespace = "Gtk", name = "SymbolicColor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GtkSymbolicColor to map @name to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_style_properties_map_color" gtk_style_properties_map_color ::
Ptr StyleProperties -> -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
CString -> -- name : TBasicType TUTF8
Ptr Gtk.SymbolicColor.SymbolicColor -> -- color : TInterface (Name {namespace = "Gtk", name = "SymbolicColor"})
IO ()
{-# DEPRECATED stylePropertiesMapColor ["(Since version 3.8)","'GI.Gtk.Structs.SymbolicColor.SymbolicColor' is deprecated."] #-}
{- |
Maps /@color@/ so it can be referenced by /@name@/. See
'GI.Gtk.Objects.StyleProperties.stylePropertiesLookupColor'
/Since: 3.0/
-}
stylePropertiesMapColor ::
(B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
a
{- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
-> T.Text
{- ^ /@name@/: color name -}
-> Gtk.SymbolicColor.SymbolicColor
{- ^ /@color@/: 'GI.Gtk.Structs.SymbolicColor.SymbolicColor' to map /@name@/ to -}
-> m ()
stylePropertiesMapColor props name color = liftIO $ do
props' <- unsafeManagedPtrCastPtr props
name' <- textToCString name
color' <- unsafeManagedPtrGetPtr color
gtk_style_properties_map_color props' name' color'
touchManagedPtr props
touchManagedPtr color
freeMem name'
return ()
#if ENABLE_OVERLOADING
data StylePropertiesMapColorMethodInfo
instance (signature ~ (T.Text -> Gtk.SymbolicColor.SymbolicColor -> m ()), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesMapColorMethodInfo a signature where
overloadedMethod _ = stylePropertiesMapColor
#endif
-- method StyleProperties::merge
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "props_to_merge", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a second #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replace", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to replace values or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_style_properties_merge" gtk_style_properties_merge ::
Ptr StyleProperties -> -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
Ptr StyleProperties -> -- props_to_merge : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
CInt -> -- replace : TBasicType TBoolean
IO ()
{-# DEPRECATED stylePropertiesMerge ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
{- |
Merges into /@props@/ all the style information contained
in /@propsToMerge@/. If /@replace@/ is 'True', the values
will be overwritten, if it is 'False', the older values
will prevail.
/Since: 3.0/
-}
stylePropertiesMerge ::
(B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a, IsStyleProperties b) =>
a
{- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
-> b
{- ^ /@propsToMerge@/: a second 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
-> Bool
{- ^ /@replace@/: whether to replace values or not -}
-> m ()
stylePropertiesMerge props propsToMerge replace = liftIO $ do
props' <- unsafeManagedPtrCastPtr props
propsToMerge' <- unsafeManagedPtrCastPtr propsToMerge
let replace' = (fromIntegral . fromEnum) replace
gtk_style_properties_merge props' propsToMerge' replace'
touchManagedPtr props
touchManagedPtr propsToMerge
return ()
#if ENABLE_OVERLOADING
data StylePropertiesMergeMethodInfo
instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsStyleProperties a, IsStyleProperties b) => O.MethodInfo StylePropertiesMergeMethodInfo a signature where
overloadedMethod _ = stylePropertiesMerge
#endif
-- method StyleProperties::set_property
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "styling property to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to set the value for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new value for the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_style_properties_set_property" gtk_style_properties_set_property ::
Ptr StyleProperties -> -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
CString -> -- property : TBasicType TUTF8
CUInt -> -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
Ptr GValue -> -- value : TInterface (Name {namespace = "GObject", name = "Value"})
IO ()
{-# DEPRECATED stylePropertiesSetProperty ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
{- |
Sets a styling property in /@props@/.
/Since: 3.0/
-}
stylePropertiesSetProperty ::
(B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
a
{- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
-> T.Text
{- ^ /@property@/: styling property to set -}
-> [Gtk.Flags.StateFlags]
{- ^ /@state@/: state to set the value for -}
-> GValue
{- ^ /@value@/: new value for the property -}
-> m ()
stylePropertiesSetProperty props property state value = liftIO $ do
props' <- unsafeManagedPtrCastPtr props
property' <- textToCString property
let state' = gflagsToWord state
value' <- unsafeManagedPtrGetPtr value
gtk_style_properties_set_property props' property' state' value'
touchManagedPtr props
touchManagedPtr value
freeMem property'
return ()
#if ENABLE_OVERLOADING
data StylePropertiesSetPropertyMethodInfo
instance (signature ~ (T.Text -> [Gtk.Flags.StateFlags] -> GValue -> m ()), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesSetPropertyMethodInfo a signature where
overloadedMethod _ = stylePropertiesSetProperty
#endif
-- method StyleProperties::unset_property
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "props", argType = TInterface (Name {namespace = "Gtk", name = "StyleProperties"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkStyleProperties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "property to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_style_properties_unset_property" gtk_style_properties_unset_property ::
Ptr StyleProperties -> -- props : TInterface (Name {namespace = "Gtk", name = "StyleProperties"})
CString -> -- property : TBasicType TUTF8
CUInt -> -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
IO ()
{-# DEPRECATED stylePropertiesUnsetProperty ["(Since version 3.16)","'GI.Gtk.Objects.StyleProperties.StyleProperties' are deprecated."] #-}
{- |
Unsets a style property in /@props@/.
/Since: 3.0/
-}
stylePropertiesUnsetProperty ::
(B.CallStack.HasCallStack, MonadIO m, IsStyleProperties a) =>
a
{- ^ /@props@/: a 'GI.Gtk.Objects.StyleProperties.StyleProperties' -}
-> T.Text
{- ^ /@property@/: property to unset -}
-> [Gtk.Flags.StateFlags]
{- ^ /@state@/: state to unset -}
-> m ()
stylePropertiesUnsetProperty props property state = liftIO $ do
props' <- unsafeManagedPtrCastPtr props
property' <- textToCString property
let state' = gflagsToWord state
gtk_style_properties_unset_property props' property' state'
touchManagedPtr props
freeMem property'
return ()
#if ENABLE_OVERLOADING
data StylePropertiesUnsetPropertyMethodInfo
instance (signature ~ (T.Text -> [Gtk.Flags.StateFlags] -> m ()), MonadIO m, IsStyleProperties a) => O.MethodInfo StylePropertiesUnsetPropertyMethodInfo a signature where
overloadedMethod _ = stylePropertiesUnsetProperty
#endif