{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) -} module GI.GObject.Flags ( -- * Exported types TypeFundamentalFlags(..) , TypeFlags(..) , TypeDebugFlags(..) , SignalMatchType(..) , SignalFlags(..) , ParamFlags(..) , ConnectFlags(..) , BindingFlags(..) , ) where import Prelude () import Data.GI.Base.ShortPrelude import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map -- Flags TypeFundamentalFlags data TypeFundamentalFlags = TypeFundamentalFlagsClassed | TypeFundamentalFlagsInstantiatable | TypeFundamentalFlagsDerivable | TypeFundamentalFlagsDeepDerivable | AnotherTypeFundamentalFlags Int deriving (Show, Eq) instance Enum TypeFundamentalFlags where fromEnum TypeFundamentalFlagsClassed = 1 fromEnum TypeFundamentalFlagsInstantiatable = 2 fromEnum TypeFundamentalFlagsDerivable = 4 fromEnum TypeFundamentalFlagsDeepDerivable = 8 fromEnum (AnotherTypeFundamentalFlags k) = k toEnum 1 = TypeFundamentalFlagsClassed toEnum 2 = TypeFundamentalFlagsInstantiatable toEnum 4 = TypeFundamentalFlagsDerivable toEnum 8 = TypeFundamentalFlagsDeepDerivable toEnum k = AnotherTypeFundamentalFlags k instance IsGFlag TypeFundamentalFlags -- Flags TypeFlags data TypeFlags = TypeFlagsAbstract | TypeFlagsValueAbstract | AnotherTypeFlags Int deriving (Show, Eq) instance Enum TypeFlags where fromEnum TypeFlagsAbstract = 16 fromEnum TypeFlagsValueAbstract = 32 fromEnum (AnotherTypeFlags k) = k toEnum 16 = TypeFlagsAbstract toEnum 32 = TypeFlagsValueAbstract toEnum k = AnotherTypeFlags k instance IsGFlag TypeFlags -- Flags TypeDebugFlags {-# DEPRECATED TypeDebugFlags ["(Since version 2.36)","g_type_init() is now done automatically"]#-} data TypeDebugFlags = TypeDebugFlagsNone | TypeDebugFlagsObjects | TypeDebugFlagsSignals | TypeDebugFlagsInstanceCount | TypeDebugFlagsMask | AnotherTypeDebugFlags Int deriving (Show, Eq) instance Enum TypeDebugFlags where fromEnum TypeDebugFlagsNone = 0 fromEnum TypeDebugFlagsObjects = 1 fromEnum TypeDebugFlagsSignals = 2 fromEnum TypeDebugFlagsInstanceCount = 4 fromEnum TypeDebugFlagsMask = 7 fromEnum (AnotherTypeDebugFlags k) = k toEnum 0 = TypeDebugFlagsNone toEnum 1 = TypeDebugFlagsObjects toEnum 2 = TypeDebugFlagsSignals toEnum 4 = TypeDebugFlagsInstanceCount toEnum 7 = TypeDebugFlagsMask toEnum k = AnotherTypeDebugFlags k instance IsGFlag TypeDebugFlags -- Flags SignalMatchType data SignalMatchType = SignalMatchTypeId | SignalMatchTypeDetail | SignalMatchTypeClosure | SignalMatchTypeFunc | SignalMatchTypeData | SignalMatchTypeUnblocked | AnotherSignalMatchType Int deriving (Show, Eq) instance Enum SignalMatchType where fromEnum SignalMatchTypeId = 1 fromEnum SignalMatchTypeDetail = 2 fromEnum SignalMatchTypeClosure = 4 fromEnum SignalMatchTypeFunc = 8 fromEnum SignalMatchTypeData = 16 fromEnum SignalMatchTypeUnblocked = 32 fromEnum (AnotherSignalMatchType k) = k toEnum 1 = SignalMatchTypeId toEnum 2 = SignalMatchTypeDetail toEnum 4 = SignalMatchTypeClosure toEnum 8 = SignalMatchTypeFunc toEnum 16 = SignalMatchTypeData toEnum 32 = SignalMatchTypeUnblocked toEnum k = AnotherSignalMatchType k instance IsGFlag SignalMatchType -- Flags SignalFlags data SignalFlags = SignalFlagsRunFirst | SignalFlagsRunLast | SignalFlagsRunCleanup | SignalFlagsNoRecurse | SignalFlagsDetailed | SignalFlagsAction | SignalFlagsNoHooks | SignalFlagsMustCollect | SignalFlagsDeprecated | AnotherSignalFlags Int deriving (Show, Eq) instance Enum SignalFlags where fromEnum SignalFlagsRunFirst = 1 fromEnum SignalFlagsRunLast = 2 fromEnum SignalFlagsRunCleanup = 4 fromEnum SignalFlagsNoRecurse = 8 fromEnum SignalFlagsDetailed = 16 fromEnum SignalFlagsAction = 32 fromEnum SignalFlagsNoHooks = 64 fromEnum SignalFlagsMustCollect = 128 fromEnum SignalFlagsDeprecated = 256 fromEnum (AnotherSignalFlags k) = k toEnum 1 = SignalFlagsRunFirst toEnum 2 = SignalFlagsRunLast toEnum 4 = SignalFlagsRunCleanup toEnum 8 = SignalFlagsNoRecurse toEnum 16 = SignalFlagsDetailed toEnum 32 = SignalFlagsAction toEnum 64 = SignalFlagsNoHooks toEnum 128 = SignalFlagsMustCollect toEnum 256 = SignalFlagsDeprecated toEnum k = AnotherSignalFlags k instance IsGFlag SignalFlags -- Flags ParamFlags data ParamFlags = ParamFlagsReadable | ParamFlagsWritable | ParamFlagsReadwrite | ParamFlagsConstruct | ParamFlagsConstructOnly | ParamFlagsLaxValidation | ParamFlagsStaticName | ParamFlagsPrivate | ParamFlagsStaticNick | ParamFlagsStaticBlurb | ParamFlagsExplicitNotify | ParamFlagsDeprecated | AnotherParamFlags Int deriving (Show, Eq) instance Enum ParamFlags where fromEnum ParamFlagsReadable = 1 fromEnum ParamFlagsWritable = 2 fromEnum ParamFlagsReadwrite = 3 fromEnum ParamFlagsConstruct = 4 fromEnum ParamFlagsConstructOnly = 8 fromEnum ParamFlagsLaxValidation = 16 fromEnum ParamFlagsStaticName = 32 fromEnum ParamFlagsPrivate = 32 fromEnum ParamFlagsStaticNick = 64 fromEnum ParamFlagsStaticBlurb = 128 fromEnum ParamFlagsExplicitNotify = 1073741824 fromEnum ParamFlagsDeprecated = 2147483648 fromEnum (AnotherParamFlags k) = k toEnum 1 = ParamFlagsReadable toEnum 2 = ParamFlagsWritable toEnum 3 = ParamFlagsReadwrite toEnum 4 = ParamFlagsConstruct toEnum 8 = ParamFlagsConstructOnly toEnum 16 = ParamFlagsLaxValidation toEnum 32 = ParamFlagsStaticName toEnum 64 = ParamFlagsStaticNick toEnum 128 = ParamFlagsStaticBlurb toEnum 1073741824 = ParamFlagsExplicitNotify toEnum 2147483648 = ParamFlagsDeprecated toEnum k = AnotherParamFlags k instance IsGFlag ParamFlags -- Flags ConnectFlags data ConnectFlags = ConnectFlagsAfter | ConnectFlagsSwapped | AnotherConnectFlags Int deriving (Show, Eq) instance Enum ConnectFlags where fromEnum ConnectFlagsAfter = 1 fromEnum ConnectFlagsSwapped = 2 fromEnum (AnotherConnectFlags k) = k toEnum 1 = ConnectFlagsAfter toEnum 2 = ConnectFlagsSwapped toEnum k = AnotherConnectFlags k instance IsGFlag ConnectFlags -- Flags BindingFlags data BindingFlags = BindingFlagsDefault | BindingFlagsBidirectional | BindingFlagsSyncCreate | BindingFlagsInvertBoolean | AnotherBindingFlags Int deriving (Show, Eq) instance Enum BindingFlags where fromEnum BindingFlagsDefault = 0 fromEnum BindingFlagsBidirectional = 1 fromEnum BindingFlagsSyncCreate = 2 fromEnum BindingFlagsInvertBoolean = 4 fromEnum (AnotherBindingFlags k) = k toEnum 0 = BindingFlagsDefault toEnum 1 = BindingFlagsBidirectional toEnum 2 = BindingFlagsSyncCreate toEnum 4 = BindingFlagsInvertBoolean toEnum k = AnotherBindingFlags k foreign import ccall "g_binding_flags_get_type" c_g_binding_flags_get_type :: IO GType instance BoxedEnum BindingFlags where boxedEnumType _ = c_g_binding_flags_get_type instance IsGFlag BindingFlags