{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GtkSource.Objects.Tag
(
Tag(..) ,
IsTag ,
toTag ,
noTag ,
#if defined(ENABLE_OVERLOADING)
ResolveTagMethod ,
#endif
tagNew ,
#if defined(ENABLE_OVERLOADING)
TagDrawSpacesPropertyInfo ,
#endif
constructTagDrawSpaces ,
getTagDrawSpaces ,
setTagDrawSpaces ,
#if defined(ENABLE_OVERLOADING)
tagDrawSpaces ,
#endif
#if defined(ENABLE_OVERLOADING)
TagDrawSpacesSetPropertyInfo ,
#endif
constructTagDrawSpacesSet ,
getTagDrawSpacesSet ,
setTagDrawSpacesSet ,
#if defined(ENABLE_OVERLOADING)
tagDrawSpacesSet ,
#endif
) 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.GI.Base.Signals as B.Signals
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 qualified GI.Gtk.Objects.TextTag as Gtk.TextTag
newtype Tag = Tag (ManagedPtr Tag)
deriving (Tag -> Tag -> Bool
(Tag -> Tag -> Bool) -> (Tag -> Tag -> Bool) -> Eq Tag
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Tag -> Tag -> Bool
$c/= :: Tag -> Tag -> Bool
== :: Tag -> Tag -> Bool
$c== :: Tag -> Tag -> Bool
Eq)
foreign import ccall "gtk_source_tag_get_type"
c_gtk_source_tag_get_type :: IO GType
instance GObject Tag where
gobjectType :: IO GType
gobjectType = IO GType
c_gtk_source_tag_get_type
instance B.GValue.IsGValue Tag where
toGValue :: Tag -> IO GValue
toGValue o :: Tag
o = do
GType
gtype <- IO GType
c_gtk_source_tag_get_type
Tag -> (Ptr Tag -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Tag
o (GType -> (GValue -> Ptr Tag -> IO ()) -> Ptr Tag -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Tag -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO Tag
fromGValue gv :: GValue
gv = do
Ptr Tag
ptr <- GValue -> IO (Ptr Tag)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr Tag)
(ManagedPtr Tag -> Tag) -> Ptr Tag -> IO Tag
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Tag -> Tag
Tag Ptr Tag
ptr
class (GObject o, O.IsDescendantOf Tag o) => IsTag o
instance (GObject o, O.IsDescendantOf Tag o) => IsTag o
instance O.HasParentTypes Tag
type instance O.ParentTypes Tag = '[Gtk.TextTag.TextTag, GObject.Object.Object]
toTag :: (MonadIO m, IsTag o) => o -> m Tag
toTag :: o -> m Tag
toTag = IO Tag -> m Tag
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Tag -> m Tag) -> (o -> IO Tag) -> o -> m Tag
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Tag -> Tag) -> o -> IO Tag
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Tag -> Tag
Tag
noTag :: Maybe Tag
noTag :: Maybe Tag
noTag = Maybe Tag
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveTagMethod (t :: Symbol) (o :: *) :: * where
ResolveTagMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTagMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTagMethod "changed" o = Gtk.TextTag.TextTagChangedMethodInfo
ResolveTagMethod "event" o = Gtk.TextTag.TextTagEventMethodInfo
ResolveTagMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTagMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTagMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveTagMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTagMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTagMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTagMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveTagMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTagMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTagMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTagMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTagMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTagMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveTagMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTagMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTagMethod "getPriority" o = Gtk.TextTag.TextTagGetPriorityMethodInfo
ResolveTagMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTagMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTagMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTagMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveTagMethod "setPriority" o = Gtk.TextTag.TextTagSetPriorityMethodInfo
ResolveTagMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTagMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTagMethod t Tag, O.MethodInfo info Tag p) => OL.IsLabel t (Tag -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getTagDrawSpaces :: (MonadIO m, IsTag o) => o -> m Bool
getTagDrawSpaces :: o -> m Bool
getTagDrawSpaces obj :: o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj "draw-spaces"
setTagDrawSpaces :: (MonadIO m, IsTag o) => o -> Bool -> m ()
setTagDrawSpaces :: o -> Bool -> m ()
setTagDrawSpaces obj :: o
obj val :: Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj "draw-spaces" Bool
val
constructTagDrawSpaces :: (IsTag o) => Bool -> IO (GValueConstruct o)
constructTagDrawSpaces :: Bool -> IO (GValueConstruct o)
constructTagDrawSpaces val :: Bool
val = String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool "draw-spaces" Bool
val
#if defined(ENABLE_OVERLOADING)
data TagDrawSpacesPropertyInfo
instance AttrInfo TagDrawSpacesPropertyInfo where
type AttrAllowedOps TagDrawSpacesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint TagDrawSpacesPropertyInfo = IsTag
type AttrSetTypeConstraint TagDrawSpacesPropertyInfo = (~) Bool
type AttrTransferTypeConstraint TagDrawSpacesPropertyInfo = (~) Bool
type AttrTransferType TagDrawSpacesPropertyInfo = Bool
type AttrGetType TagDrawSpacesPropertyInfo = Bool
type AttrLabel TagDrawSpacesPropertyInfo = "draw-spaces"
type AttrOrigin TagDrawSpacesPropertyInfo = Tag
attrGet = getTagDrawSpaces
attrSet = setTagDrawSpaces
attrTransfer _ v = do
return v
attrConstruct = constructTagDrawSpaces
attrClear = undefined
#endif
getTagDrawSpacesSet :: (MonadIO m, IsTag o) => o -> m Bool
getTagDrawSpacesSet :: o -> m Bool
getTagDrawSpacesSet obj :: o
obj = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj "draw-spaces-set"
setTagDrawSpacesSet :: (MonadIO m, IsTag o) => o -> Bool -> m ()
setTagDrawSpacesSet :: o -> Bool -> m ()
setTagDrawSpacesSet obj :: o
obj val :: Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj "draw-spaces-set" Bool
val
constructTagDrawSpacesSet :: (IsTag o) => Bool -> IO (GValueConstruct o)
constructTagDrawSpacesSet :: Bool -> IO (GValueConstruct o)
constructTagDrawSpacesSet val :: Bool
val = String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool "draw-spaces-set" Bool
val
#if defined(ENABLE_OVERLOADING)
data TagDrawSpacesSetPropertyInfo
instance AttrInfo TagDrawSpacesSetPropertyInfo where
type AttrAllowedOps TagDrawSpacesSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint TagDrawSpacesSetPropertyInfo = IsTag
type AttrSetTypeConstraint TagDrawSpacesSetPropertyInfo = (~) Bool
type AttrTransferTypeConstraint TagDrawSpacesSetPropertyInfo = (~) Bool
type AttrTransferType TagDrawSpacesSetPropertyInfo = Bool
type AttrGetType TagDrawSpacesSetPropertyInfo = Bool
type AttrLabel TagDrawSpacesSetPropertyInfo = "draw-spaces-set"
type AttrOrigin TagDrawSpacesSetPropertyInfo = Tag
attrGet = getTagDrawSpacesSet
attrSet = setTagDrawSpacesSet
attrTransfer _ v = do
return v
attrConstruct = constructTagDrawSpacesSet
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Tag
type instance O.AttributeList Tag = TagAttributeList
type TagAttributeList = ('[ '("accumulativeMargin", Gtk.TextTag.TextTagAccumulativeMarginPropertyInfo), '("background", Gtk.TextTag.TextTagBackgroundPropertyInfo), '("backgroundFullHeight", Gtk.TextTag.TextTagBackgroundFullHeightPropertyInfo), '("backgroundFullHeightSet", Gtk.TextTag.TextTagBackgroundFullHeightSetPropertyInfo), '("backgroundGdk", Gtk.TextTag.TextTagBackgroundGdkPropertyInfo), '("backgroundRgba", Gtk.TextTag.TextTagBackgroundRgbaPropertyInfo), '("backgroundSet", Gtk.TextTag.TextTagBackgroundSetPropertyInfo), '("direction", Gtk.TextTag.TextTagDirectionPropertyInfo), '("drawSpaces", TagDrawSpacesPropertyInfo), '("drawSpacesSet", TagDrawSpacesSetPropertyInfo), '("editable", Gtk.TextTag.TextTagEditablePropertyInfo), '("editableSet", Gtk.TextTag.TextTagEditableSetPropertyInfo), '("fallback", Gtk.TextTag.TextTagFallbackPropertyInfo), '("fallbackSet", Gtk.TextTag.TextTagFallbackSetPropertyInfo), '("family", Gtk.TextTag.TextTagFamilyPropertyInfo), '("familySet", Gtk.TextTag.TextTagFamilySetPropertyInfo), '("font", Gtk.TextTag.TextTagFontPropertyInfo), '("fontDesc", Gtk.TextTag.TextTagFontDescPropertyInfo), '("fontFeatures", Gtk.TextTag.TextTagFontFeaturesPropertyInfo), '("fontFeaturesSet", Gtk.TextTag.TextTagFontFeaturesSetPropertyInfo), '("foreground", Gtk.TextTag.TextTagForegroundPropertyInfo), '("foregroundGdk", Gtk.TextTag.TextTagForegroundGdkPropertyInfo), '("foregroundRgba", Gtk.TextTag.TextTagForegroundRgbaPropertyInfo), '("foregroundSet", Gtk.TextTag.TextTagForegroundSetPropertyInfo), '("indent", Gtk.TextTag.TextTagIndentPropertyInfo), '("indentSet", Gtk.TextTag.TextTagIndentSetPropertyInfo), '("invisible", Gtk.TextTag.TextTagInvisiblePropertyInfo), '("invisibleSet", Gtk.TextTag.TextTagInvisibleSetPropertyInfo), '("justification", Gtk.TextTag.TextTagJustificationPropertyInfo), '("justificationSet", Gtk.TextTag.TextTagJustificationSetPropertyInfo), '("language", Gtk.TextTag.TextTagLanguagePropertyInfo), '("languageSet", Gtk.TextTag.TextTagLanguageSetPropertyInfo), '("leftMargin", Gtk.TextTag.TextTagLeftMarginPropertyInfo), '("leftMarginSet", Gtk.TextTag.TextTagLeftMarginSetPropertyInfo), '("letterSpacing", Gtk.TextTag.TextTagLetterSpacingPropertyInfo), '("letterSpacingSet", Gtk.TextTag.TextTagLetterSpacingSetPropertyInfo), '("name", Gtk.TextTag.TextTagNamePropertyInfo), '("paragraphBackground", Gtk.TextTag.TextTagParagraphBackgroundPropertyInfo), '("paragraphBackgroundGdk", Gtk.TextTag.TextTagParagraphBackgroundGdkPropertyInfo), '("paragraphBackgroundRgba", Gtk.TextTag.TextTagParagraphBackgroundRgbaPropertyInfo), '("paragraphBackgroundSet", Gtk.TextTag.TextTagParagraphBackgroundSetPropertyInfo), '("pixelsAboveLines", Gtk.TextTag.TextTagPixelsAboveLinesPropertyInfo), '("pixelsAboveLinesSet", Gtk.TextTag.TextTagPixelsAboveLinesSetPropertyInfo), '("pixelsBelowLines", Gtk.TextTag.TextTagPixelsBelowLinesPropertyInfo), '("pixelsBelowLinesSet", Gtk.TextTag.TextTagPixelsBelowLinesSetPropertyInfo), '("pixelsInsideWrap", Gtk.TextTag.TextTagPixelsInsideWrapPropertyInfo), '("pixelsInsideWrapSet", Gtk.TextTag.TextTagPixelsInsideWrapSetPropertyInfo), '("rightMargin", Gtk.TextTag.TextTagRightMarginPropertyInfo), '("rightMarginSet", Gtk.TextTag.TextTagRightMarginSetPropertyInfo), '("rise", Gtk.TextTag.TextTagRisePropertyInfo), '("riseSet", Gtk.TextTag.TextTagRiseSetPropertyInfo), '("scale", Gtk.TextTag.TextTagScalePropertyInfo), '("scaleSet", Gtk.TextTag.TextTagScaleSetPropertyInfo), '("size", Gtk.TextTag.TextTagSizePropertyInfo), '("sizePoints", Gtk.TextTag.TextTagSizePointsPropertyInfo), '("sizeSet", Gtk.TextTag.TextTagSizeSetPropertyInfo), '("stretch", Gtk.TextTag.TextTagStretchPropertyInfo), '("stretchSet", Gtk.TextTag.TextTagStretchSetPropertyInfo), '("strikethrough", Gtk.TextTag.TextTagStrikethroughPropertyInfo), '("strikethroughRgba", Gtk.TextTag.TextTagStrikethroughRgbaPropertyInfo), '("strikethroughRgbaSet", Gtk.TextTag.TextTagStrikethroughRgbaSetPropertyInfo), '("strikethroughSet", Gtk.TextTag.TextTagStrikethroughSetPropertyInfo), '("style", Gtk.TextTag.TextTagStylePropertyInfo), '("styleSet", Gtk.TextTag.TextTagStyleSetPropertyInfo), '("tabs", Gtk.TextTag.TextTagTabsPropertyInfo), '("tabsSet", Gtk.TextTag.TextTagTabsSetPropertyInfo), '("underline", Gtk.TextTag.TextTagUnderlinePropertyInfo), '("underlineRgba", Gtk.TextTag.TextTagUnderlineRgbaPropertyInfo), '("underlineRgbaSet", Gtk.TextTag.TextTagUnderlineRgbaSetPropertyInfo), '("underlineSet", Gtk.TextTag.TextTagUnderlineSetPropertyInfo), '("variant", Gtk.TextTag.TextTagVariantPropertyInfo), '("variantSet", Gtk.TextTag.TextTagVariantSetPropertyInfo), '("weight", Gtk.TextTag.TextTagWeightPropertyInfo), '("weightSet", Gtk.TextTag.TextTagWeightSetPropertyInfo), '("wrapMode", Gtk.TextTag.TextTagWrapModePropertyInfo), '("wrapModeSet", Gtk.TextTag.TextTagWrapModeSetPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
tagDrawSpaces :: AttrLabelProxy "drawSpaces"
tagDrawSpaces = AttrLabelProxy
tagDrawSpacesSet :: AttrLabelProxy "drawSpacesSet"
tagDrawSpacesSet = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Tag = TagSignalList
type TagSignalList = ('[ '("event", Gtk.TextTag.TextTagEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_source_tag_new" gtk_source_tag_new ::
CString ->
IO (Ptr Tag)
tagNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (T.Text)
-> m Tag
tagNew :: Maybe Text -> m Tag
tagNew name :: Maybe Text
name = IO Tag -> m Tag
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Tag -> m Tag) -> IO Tag -> m Tag
forall a b. (a -> b) -> a -> b
$ do
Ptr CChar
maybeName <- case Maybe Text
name of
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
nullPtr
Just jName :: Text
jName -> do
Ptr CChar
jName' <- Text -> IO (Ptr CChar)
textToCString Text
jName
Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
jName'
Ptr Tag
result <- Ptr CChar -> IO (Ptr Tag)
gtk_source_tag_new Ptr CChar
maybeName
Text -> Ptr Tag -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "tagNew" Ptr Tag
result
Tag
result' <- ((ManagedPtr Tag -> Tag) -> Ptr Tag -> IO Tag
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Tag -> Tag
Tag) Ptr Tag
result
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
maybeName
Tag -> IO Tag
forall (m :: * -> *) a. Monad m => a -> m a
return Tag
result'
#if defined(ENABLE_OVERLOADING)
#endif