#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GObject.Flags
(
BindingFlags(..) ,
ConnectFlags(..) ,
ParamFlags(..) ,
SignalFlags(..) ,
SignalMatchType(..) ,
TypeDebugFlags(..) ,
TypeFlags(..) ,
TypeFundamentalFlags(..) ,
) 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.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.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
data TypeFundamentalFlags =
TypeFundamentalFlagsClassed
| TypeFundamentalFlagsInstantiatable
| TypeFundamentalFlagsDerivable
| TypeFundamentalFlagsDeepDerivable
| AnotherTypeFundamentalFlags Int
deriving (Int -> TypeFundamentalFlags -> ShowS
[TypeFundamentalFlags] -> ShowS
TypeFundamentalFlags -> String
(Int -> TypeFundamentalFlags -> ShowS)
-> (TypeFundamentalFlags -> String)
-> ([TypeFundamentalFlags] -> ShowS)
-> Show TypeFundamentalFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TypeFundamentalFlags] -> ShowS
$cshowList :: [TypeFundamentalFlags] -> ShowS
show :: TypeFundamentalFlags -> String
$cshow :: TypeFundamentalFlags -> String
showsPrec :: Int -> TypeFundamentalFlags -> ShowS
$cshowsPrec :: Int -> TypeFundamentalFlags -> ShowS
Show, TypeFundamentalFlags -> TypeFundamentalFlags -> Bool
(TypeFundamentalFlags -> TypeFundamentalFlags -> Bool)
-> (TypeFundamentalFlags -> TypeFundamentalFlags -> Bool)
-> Eq TypeFundamentalFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TypeFundamentalFlags -> TypeFundamentalFlags -> Bool
$c/= :: TypeFundamentalFlags -> TypeFundamentalFlags -> Bool
== :: TypeFundamentalFlags -> TypeFundamentalFlags -> Bool
$c== :: TypeFundamentalFlags -> TypeFundamentalFlags -> Bool
Eq)
instance P.Enum TypeFundamentalFlags where
fromEnum :: TypeFundamentalFlags -> Int
fromEnum TypeFundamentalFlags
TypeFundamentalFlagsClassed = Int
1
fromEnum TypeFundamentalFlags
TypeFundamentalFlagsInstantiatable = Int
2
fromEnum TypeFundamentalFlags
TypeFundamentalFlagsDerivable = Int
4
fromEnum TypeFundamentalFlags
TypeFundamentalFlagsDeepDerivable = Int
8
fromEnum (AnotherTypeFundamentalFlags Int
k) = Int
k
toEnum :: Int -> TypeFundamentalFlags
toEnum Int
1 = TypeFundamentalFlags
TypeFundamentalFlagsClassed
toEnum Int
2 = TypeFundamentalFlags
TypeFundamentalFlagsInstantiatable
toEnum Int
4 = TypeFundamentalFlags
TypeFundamentalFlagsDerivable
toEnum Int
8 = TypeFundamentalFlags
TypeFundamentalFlagsDeepDerivable
toEnum Int
k = Int -> TypeFundamentalFlags
AnotherTypeFundamentalFlags Int
k
instance P.Ord TypeFundamentalFlags where
compare :: TypeFundamentalFlags -> TypeFundamentalFlags -> Ordering
compare TypeFundamentalFlags
a TypeFundamentalFlags
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (TypeFundamentalFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum TypeFundamentalFlags
a) (TypeFundamentalFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum TypeFundamentalFlags
b)
instance IsGFlag TypeFundamentalFlags
data TypeFlags =
TypeFlagsAbstract
| TypeFlagsValueAbstract
| TypeFlagsFinal
| AnotherTypeFlags Int
deriving (Int -> TypeFlags -> ShowS
[TypeFlags] -> ShowS
TypeFlags -> String
(Int -> TypeFlags -> ShowS)
-> (TypeFlags -> String)
-> ([TypeFlags] -> ShowS)
-> Show TypeFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TypeFlags] -> ShowS
$cshowList :: [TypeFlags] -> ShowS
show :: TypeFlags -> String
$cshow :: TypeFlags -> String
showsPrec :: Int -> TypeFlags -> ShowS
$cshowsPrec :: Int -> TypeFlags -> ShowS
Show, TypeFlags -> TypeFlags -> Bool
(TypeFlags -> TypeFlags -> Bool)
-> (TypeFlags -> TypeFlags -> Bool) -> Eq TypeFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TypeFlags -> TypeFlags -> Bool
$c/= :: TypeFlags -> TypeFlags -> Bool
== :: TypeFlags -> TypeFlags -> Bool
$c== :: TypeFlags -> TypeFlags -> Bool
Eq)
instance P.Enum TypeFlags where
fromEnum :: TypeFlags -> Int
fromEnum TypeFlags
TypeFlagsAbstract = Int
16
fromEnum TypeFlags
TypeFlagsValueAbstract = Int
32
fromEnum TypeFlags
TypeFlagsFinal = Int
64
fromEnum (AnotherTypeFlags Int
k) = Int
k
toEnum :: Int -> TypeFlags
toEnum Int
16 = TypeFlags
TypeFlagsAbstract
toEnum Int
32 = TypeFlags
TypeFlagsValueAbstract
toEnum Int
64 = TypeFlags
TypeFlagsFinal
toEnum Int
k = Int -> TypeFlags
AnotherTypeFlags Int
k
instance P.Ord TypeFlags where
compare :: TypeFlags -> TypeFlags -> Ordering
compare TypeFlags
a TypeFlags
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (TypeFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum TypeFlags
a) (TypeFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum TypeFlags
b)
instance IsGFlag TypeFlags
{-# DEPRECATED TypeDebugFlags ["(Since version 2.36)","'GI.GObject.Functions.typeInit' is now done automatically"] #-}
data TypeDebugFlags =
TypeDebugFlagsNone
| TypeDebugFlagsObjects
| TypeDebugFlagsSignals
| TypeDebugFlagsInstanceCount
| TypeDebugFlagsMask
| AnotherTypeDebugFlags Int
deriving (Int -> TypeDebugFlags -> ShowS
[TypeDebugFlags] -> ShowS
TypeDebugFlags -> String
(Int -> TypeDebugFlags -> ShowS)
-> (TypeDebugFlags -> String)
-> ([TypeDebugFlags] -> ShowS)
-> Show TypeDebugFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TypeDebugFlags] -> ShowS
$cshowList :: [TypeDebugFlags] -> ShowS
show :: TypeDebugFlags -> String
$cshow :: TypeDebugFlags -> String
showsPrec :: Int -> TypeDebugFlags -> ShowS
$cshowsPrec :: Int -> TypeDebugFlags -> ShowS
Show, TypeDebugFlags -> TypeDebugFlags -> Bool
(TypeDebugFlags -> TypeDebugFlags -> Bool)
-> (TypeDebugFlags -> TypeDebugFlags -> Bool) -> Eq TypeDebugFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TypeDebugFlags -> TypeDebugFlags -> Bool
$c/= :: TypeDebugFlags -> TypeDebugFlags -> Bool
== :: TypeDebugFlags -> TypeDebugFlags -> Bool
$c== :: TypeDebugFlags -> TypeDebugFlags -> Bool
Eq)
instance P.Enum TypeDebugFlags where
fromEnum :: TypeDebugFlags -> Int
fromEnum TypeDebugFlags
TypeDebugFlagsNone = Int
0
fromEnum TypeDebugFlags
TypeDebugFlagsObjects = Int
1
fromEnum TypeDebugFlags
TypeDebugFlagsSignals = Int
2
fromEnum TypeDebugFlags
TypeDebugFlagsInstanceCount = Int
4
fromEnum TypeDebugFlags
TypeDebugFlagsMask = Int
7
fromEnum (AnotherTypeDebugFlags Int
k) = Int
k
toEnum :: Int -> TypeDebugFlags
toEnum Int
0 = TypeDebugFlags
TypeDebugFlagsNone
toEnum Int
1 = TypeDebugFlags
TypeDebugFlagsObjects
toEnum Int
2 = TypeDebugFlags
TypeDebugFlagsSignals
toEnum Int
4 = TypeDebugFlags
TypeDebugFlagsInstanceCount
toEnum Int
7 = TypeDebugFlags
TypeDebugFlagsMask
toEnum Int
k = Int -> TypeDebugFlags
AnotherTypeDebugFlags Int
k
instance P.Ord TypeDebugFlags where
compare :: TypeDebugFlags -> TypeDebugFlags -> Ordering
compare TypeDebugFlags
a TypeDebugFlags
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (TypeDebugFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum TypeDebugFlags
a) (TypeDebugFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum TypeDebugFlags
b)
instance IsGFlag TypeDebugFlags
data SignalMatchType =
SignalMatchTypeId
| SignalMatchTypeDetail
| SignalMatchTypeClosure
| SignalMatchTypeFunc
| SignalMatchTypeData
| SignalMatchTypeUnblocked
| AnotherSignalMatchType Int
deriving (Int -> SignalMatchType -> ShowS
[SignalMatchType] -> ShowS
SignalMatchType -> String
(Int -> SignalMatchType -> ShowS)
-> (SignalMatchType -> String)
-> ([SignalMatchType] -> ShowS)
-> Show SignalMatchType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SignalMatchType] -> ShowS
$cshowList :: [SignalMatchType] -> ShowS
show :: SignalMatchType -> String
$cshow :: SignalMatchType -> String
showsPrec :: Int -> SignalMatchType -> ShowS
$cshowsPrec :: Int -> SignalMatchType -> ShowS
Show, SignalMatchType -> SignalMatchType -> Bool
(SignalMatchType -> SignalMatchType -> Bool)
-> (SignalMatchType -> SignalMatchType -> Bool)
-> Eq SignalMatchType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SignalMatchType -> SignalMatchType -> Bool
$c/= :: SignalMatchType -> SignalMatchType -> Bool
== :: SignalMatchType -> SignalMatchType -> Bool
$c== :: SignalMatchType -> SignalMatchType -> Bool
Eq)
instance P.Enum SignalMatchType where
fromEnum :: SignalMatchType -> Int
fromEnum SignalMatchType
SignalMatchTypeId = Int
1
fromEnum SignalMatchType
SignalMatchTypeDetail = Int
2
fromEnum SignalMatchType
SignalMatchTypeClosure = Int
4
fromEnum SignalMatchType
SignalMatchTypeFunc = Int
8
fromEnum SignalMatchType
SignalMatchTypeData = Int
16
fromEnum SignalMatchType
SignalMatchTypeUnblocked = Int
32
fromEnum (AnotherSignalMatchType Int
k) = Int
k
toEnum :: Int -> SignalMatchType
toEnum Int
1 = SignalMatchType
SignalMatchTypeId
toEnum Int
2 = SignalMatchType
SignalMatchTypeDetail
toEnum Int
4 = SignalMatchType
SignalMatchTypeClosure
toEnum Int
8 = SignalMatchType
SignalMatchTypeFunc
toEnum Int
16 = SignalMatchType
SignalMatchTypeData
toEnum Int
32 = SignalMatchType
SignalMatchTypeUnblocked
toEnum Int
k = Int -> SignalMatchType
AnotherSignalMatchType Int
k
instance P.Ord SignalMatchType where
compare :: SignalMatchType -> SignalMatchType -> Ordering
compare SignalMatchType
a SignalMatchType
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (SignalMatchType -> Int
forall a. Enum a => a -> Int
P.fromEnum SignalMatchType
a) (SignalMatchType -> Int
forall a. Enum a => a -> Int
P.fromEnum SignalMatchType
b)
instance IsGFlag SignalMatchType
data SignalFlags =
SignalFlagsRunFirst
| SignalFlagsRunLast
| SignalFlagsRunCleanup
| SignalFlagsNoRecurse
| SignalFlagsDetailed
| SignalFlagsAction
| SignalFlagsNoHooks
| SignalFlagsMustCollect
| SignalFlagsDeprecated
| SignalFlagsAccumulatorFirstRun
| AnotherSignalFlags Int
deriving (Int -> SignalFlags -> ShowS
[SignalFlags] -> ShowS
SignalFlags -> String
(Int -> SignalFlags -> ShowS)
-> (SignalFlags -> String)
-> ([SignalFlags] -> ShowS)
-> Show SignalFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SignalFlags] -> ShowS
$cshowList :: [SignalFlags] -> ShowS
show :: SignalFlags -> String
$cshow :: SignalFlags -> String
showsPrec :: Int -> SignalFlags -> ShowS
$cshowsPrec :: Int -> SignalFlags -> ShowS
Show, SignalFlags -> SignalFlags -> Bool
(SignalFlags -> SignalFlags -> Bool)
-> (SignalFlags -> SignalFlags -> Bool) -> Eq SignalFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SignalFlags -> SignalFlags -> Bool
$c/= :: SignalFlags -> SignalFlags -> Bool
== :: SignalFlags -> SignalFlags -> Bool
$c== :: SignalFlags -> SignalFlags -> Bool
Eq)
instance P.Enum SignalFlags where
fromEnum :: SignalFlags -> Int
fromEnum SignalFlags
SignalFlagsRunFirst = Int
1
fromEnum SignalFlags
SignalFlagsRunLast = Int
2
fromEnum SignalFlags
SignalFlagsRunCleanup = Int
4
fromEnum SignalFlags
SignalFlagsNoRecurse = Int
8
fromEnum SignalFlags
SignalFlagsDetailed = Int
16
fromEnum SignalFlags
SignalFlagsAction = Int
32
fromEnum SignalFlags
SignalFlagsNoHooks = Int
64
fromEnum SignalFlags
SignalFlagsMustCollect = Int
128
fromEnum SignalFlags
SignalFlagsDeprecated = Int
256
fromEnum SignalFlags
SignalFlagsAccumulatorFirstRun = Int
131072
fromEnum (AnotherSignalFlags Int
k) = Int
k
toEnum :: Int -> SignalFlags
toEnum Int
1 = SignalFlags
SignalFlagsRunFirst
toEnum Int
2 = SignalFlags
SignalFlagsRunLast
toEnum Int
4 = SignalFlags
SignalFlagsRunCleanup
toEnum Int
8 = SignalFlags
SignalFlagsNoRecurse
toEnum Int
16 = SignalFlags
SignalFlagsDetailed
toEnum Int
32 = SignalFlags
SignalFlagsAction
toEnum Int
64 = SignalFlags
SignalFlagsNoHooks
toEnum Int
128 = SignalFlags
SignalFlagsMustCollect
toEnum Int
256 = SignalFlags
SignalFlagsDeprecated
toEnum Int
131072 = SignalFlags
SignalFlagsAccumulatorFirstRun
toEnum Int
k = Int -> SignalFlags
AnotherSignalFlags Int
k
instance P.Ord SignalFlags where
compare :: SignalFlags -> SignalFlags -> Ordering
compare SignalFlags
a SignalFlags
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (SignalFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum SignalFlags
a) (SignalFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum SignalFlags
b)
instance IsGFlag SignalFlags
data ParamFlags =
ParamFlagsReadable
| ParamFlagsWritable
| ParamFlagsReadwrite
| ParamFlagsConstruct
| ParamFlagsConstructOnly
| ParamFlagsLaxValidation
| ParamFlagsStaticName
| ParamFlagsPrivate
| ParamFlagsStaticNick
| ParamFlagsStaticBlurb
| ParamFlagsExplicitNotify
| ParamFlagsDeprecated
| AnotherParamFlags Int
deriving (Int -> ParamFlags -> ShowS
[ParamFlags] -> ShowS
ParamFlags -> String
(Int -> ParamFlags -> ShowS)
-> (ParamFlags -> String)
-> ([ParamFlags] -> ShowS)
-> Show ParamFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ParamFlags] -> ShowS
$cshowList :: [ParamFlags] -> ShowS
show :: ParamFlags -> String
$cshow :: ParamFlags -> String
showsPrec :: Int -> ParamFlags -> ShowS
$cshowsPrec :: Int -> ParamFlags -> ShowS
Show, ParamFlags -> ParamFlags -> Bool
(ParamFlags -> ParamFlags -> Bool)
-> (ParamFlags -> ParamFlags -> Bool) -> Eq ParamFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ParamFlags -> ParamFlags -> Bool
$c/= :: ParamFlags -> ParamFlags -> Bool
== :: ParamFlags -> ParamFlags -> Bool
$c== :: ParamFlags -> ParamFlags -> Bool
Eq)
instance P.Enum ParamFlags where
fromEnum :: ParamFlags -> Int
fromEnum ParamFlags
ParamFlagsReadable = Int
1
fromEnum ParamFlags
ParamFlagsWritable = Int
2
fromEnum ParamFlags
ParamFlagsReadwrite = Int
3
fromEnum ParamFlags
ParamFlagsConstruct = Int
4
fromEnum ParamFlags
ParamFlagsConstructOnly = Int
8
fromEnum ParamFlags
ParamFlagsLaxValidation = Int
16
fromEnum ParamFlags
ParamFlagsStaticName = Int
32
fromEnum ParamFlags
ParamFlagsPrivate = Int
32
fromEnum ParamFlags
ParamFlagsStaticNick = Int
64
fromEnum ParamFlags
ParamFlagsStaticBlurb = Int
128
fromEnum ParamFlags
ParamFlagsExplicitNotify = Int
1073741824
fromEnum ParamFlags
ParamFlagsDeprecated = Int
2147483648
fromEnum (AnotherParamFlags Int
k) = Int
k
toEnum :: Int -> ParamFlags
toEnum Int
1 = ParamFlags
ParamFlagsReadable
toEnum Int
2 = ParamFlags
ParamFlagsWritable
toEnum Int
3 = ParamFlags
ParamFlagsReadwrite
toEnum Int
4 = ParamFlags
ParamFlagsConstruct
toEnum Int
8 = ParamFlags
ParamFlagsConstructOnly
toEnum Int
16 = ParamFlags
ParamFlagsLaxValidation
toEnum Int
32 = ParamFlags
ParamFlagsStaticName
toEnum Int
64 = ParamFlags
ParamFlagsStaticNick
toEnum Int
128 = ParamFlags
ParamFlagsStaticBlurb
toEnum Int
1073741824 = ParamFlags
ParamFlagsExplicitNotify
toEnum Int
2147483648 = ParamFlags
ParamFlagsDeprecated
toEnum Int
k = Int -> ParamFlags
AnotherParamFlags Int
k
instance P.Ord ParamFlags where
compare :: ParamFlags -> ParamFlags -> Ordering
compare ParamFlags
a ParamFlags
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (ParamFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum ParamFlags
a) (ParamFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum ParamFlags
b)
instance IsGFlag ParamFlags
data ConnectFlags =
ConnectFlagsAfter
| ConnectFlagsSwapped
| AnotherConnectFlags Int
deriving (Int -> ConnectFlags -> ShowS
[ConnectFlags] -> ShowS
ConnectFlags -> String
(Int -> ConnectFlags -> ShowS)
-> (ConnectFlags -> String)
-> ([ConnectFlags] -> ShowS)
-> Show ConnectFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConnectFlags] -> ShowS
$cshowList :: [ConnectFlags] -> ShowS
show :: ConnectFlags -> String
$cshow :: ConnectFlags -> String
showsPrec :: Int -> ConnectFlags -> ShowS
$cshowsPrec :: Int -> ConnectFlags -> ShowS
Show, ConnectFlags -> ConnectFlags -> Bool
(ConnectFlags -> ConnectFlags -> Bool)
-> (ConnectFlags -> ConnectFlags -> Bool) -> Eq ConnectFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConnectFlags -> ConnectFlags -> Bool
$c/= :: ConnectFlags -> ConnectFlags -> Bool
== :: ConnectFlags -> ConnectFlags -> Bool
$c== :: ConnectFlags -> ConnectFlags -> Bool
Eq)
instance P.Enum ConnectFlags where
fromEnum :: ConnectFlags -> Int
fromEnum ConnectFlags
ConnectFlagsAfter = Int
1
fromEnum ConnectFlags
ConnectFlagsSwapped = Int
2
fromEnum (AnotherConnectFlags Int
k) = Int
k
toEnum :: Int -> ConnectFlags
toEnum Int
1 = ConnectFlags
ConnectFlagsAfter
toEnum Int
2 = ConnectFlags
ConnectFlagsSwapped
toEnum Int
k = Int -> ConnectFlags
AnotherConnectFlags Int
k
instance P.Ord ConnectFlags where
compare :: ConnectFlags -> ConnectFlags -> Ordering
compare ConnectFlags
a ConnectFlags
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (ConnectFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum ConnectFlags
a) (ConnectFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum ConnectFlags
b)
instance IsGFlag ConnectFlags
data BindingFlags =
BindingFlagsDefault
| BindingFlagsBidirectional
| BindingFlagsSyncCreate
| BindingFlagsInvertBoolean
| AnotherBindingFlags Int
deriving (Int -> BindingFlags -> ShowS
[BindingFlags] -> ShowS
BindingFlags -> String
(Int -> BindingFlags -> ShowS)
-> (BindingFlags -> String)
-> ([BindingFlags] -> ShowS)
-> Show BindingFlags
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BindingFlags] -> ShowS
$cshowList :: [BindingFlags] -> ShowS
show :: BindingFlags -> String
$cshow :: BindingFlags -> String
showsPrec :: Int -> BindingFlags -> ShowS
$cshowsPrec :: Int -> BindingFlags -> ShowS
Show, BindingFlags -> BindingFlags -> Bool
(BindingFlags -> BindingFlags -> Bool)
-> (BindingFlags -> BindingFlags -> Bool) -> Eq BindingFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BindingFlags -> BindingFlags -> Bool
$c/= :: BindingFlags -> BindingFlags -> Bool
== :: BindingFlags -> BindingFlags -> Bool
$c== :: BindingFlags -> BindingFlags -> Bool
Eq)
instance P.Enum BindingFlags where
fromEnum :: BindingFlags -> Int
fromEnum BindingFlags
BindingFlagsDefault = Int
0
fromEnum BindingFlags
BindingFlagsBidirectional = Int
1
fromEnum BindingFlags
BindingFlagsSyncCreate = Int
2
fromEnum BindingFlags
BindingFlagsInvertBoolean = Int
4
fromEnum (AnotherBindingFlags Int
k) = Int
k
toEnum :: Int -> BindingFlags
toEnum Int
0 = BindingFlags
BindingFlagsDefault
toEnum Int
1 = BindingFlags
BindingFlagsBidirectional
toEnum Int
2 = BindingFlags
BindingFlagsSyncCreate
toEnum Int
4 = BindingFlags
BindingFlagsInvertBoolean
toEnum Int
k = Int -> BindingFlags
AnotherBindingFlags Int
k
instance P.Ord BindingFlags where
compare :: BindingFlags -> BindingFlags -> Ordering
compare BindingFlags
a BindingFlags
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (BindingFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum BindingFlags
a) (BindingFlags -> Int
forall a. Enum a => a -> Int
P.fromEnum BindingFlags
b)
type instance O.ParentTypes BindingFlags = '[]
instance O.HasParentTypes BindingFlags
foreign import ccall "g_binding_flags_get_type" c_g_binding_flags_get_type ::
IO GType
instance B.Types.TypedObject BindingFlags where
glibType :: IO GType
glibType = IO GType
c_g_binding_flags_get_type
instance B.Types.BoxedFlags BindingFlags
instance IsGFlag BindingFlags