#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GtkSource.Objects.Tag
(
Tag(..) ,
IsTag ,
toTag ,
noTag ,
tagNew ,
#if ENABLE_OVERLOADING
TagDrawSpacesPropertyInfo ,
#endif
constructTagDrawSpaces ,
getTagDrawSpaces ,
setTagDrawSpaces ,
#if ENABLE_OVERLOADING
tagDrawSpaces ,
#endif
#if ENABLE_OVERLOADING
TagDrawSpacesSetPropertyInfo ,
#endif
constructTagDrawSpacesSet ,
getTagDrawSpacesSet ,
setTagDrawSpacesSet ,
#if 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.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)
foreign import ccall "gtk_source_tag_get_type"
c_gtk_source_tag_get_type :: IO GType
instance GObject Tag where
gobjectType = c_gtk_source_tag_get_type
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 = liftIO . unsafeCastTo Tag
noTag :: Maybe Tag
noTag = Nothing
#if 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 "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 (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
getTagDrawSpaces :: (MonadIO m, IsTag o) => o -> m Bool
getTagDrawSpaces obj = liftIO $ B.Properties.getObjectPropertyBool obj "draw-spaces"
setTagDrawSpaces :: (MonadIO m, IsTag o) => o -> Bool -> m ()
setTagDrawSpaces obj val = liftIO $ B.Properties.setObjectPropertyBool obj "draw-spaces" val
constructTagDrawSpaces :: (IsTag o) => Bool -> IO (GValueConstruct o)
constructTagDrawSpaces val = B.Properties.constructObjectPropertyBool "draw-spaces" val
#if ENABLE_OVERLOADING
data TagDrawSpacesPropertyInfo
instance AttrInfo TagDrawSpacesPropertyInfo where
type AttrAllowedOps TagDrawSpacesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint TagDrawSpacesPropertyInfo = (~) Bool
type AttrBaseTypeConstraint TagDrawSpacesPropertyInfo = IsTag
type AttrGetType TagDrawSpacesPropertyInfo = Bool
type AttrLabel TagDrawSpacesPropertyInfo = "draw-spaces"
type AttrOrigin TagDrawSpacesPropertyInfo = Tag
attrGet _ = getTagDrawSpaces
attrSet _ = setTagDrawSpaces
attrConstruct _ = constructTagDrawSpaces
attrClear _ = undefined
#endif
getTagDrawSpacesSet :: (MonadIO m, IsTag o) => o -> m Bool
getTagDrawSpacesSet obj = liftIO $ B.Properties.getObjectPropertyBool obj "draw-spaces-set"
setTagDrawSpacesSet :: (MonadIO m, IsTag o) => o -> Bool -> m ()
setTagDrawSpacesSet obj val = liftIO $ B.Properties.setObjectPropertyBool obj "draw-spaces-set" val
constructTagDrawSpacesSet :: (IsTag o) => Bool -> IO (GValueConstruct o)
constructTagDrawSpacesSet val = B.Properties.constructObjectPropertyBool "draw-spaces-set" val
#if ENABLE_OVERLOADING
data TagDrawSpacesSetPropertyInfo
instance AttrInfo TagDrawSpacesSetPropertyInfo where
type AttrAllowedOps TagDrawSpacesSetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint TagDrawSpacesSetPropertyInfo = (~) Bool
type AttrBaseTypeConstraint TagDrawSpacesSetPropertyInfo = IsTag
type AttrGetType TagDrawSpacesSetPropertyInfo = Bool
type AttrLabel TagDrawSpacesSetPropertyInfo = "draw-spaces-set"
type AttrOrigin TagDrawSpacesSetPropertyInfo = Tag
attrGet _ = getTagDrawSpacesSet
attrSet _ = setTagDrawSpacesSet
attrConstruct _ = constructTagDrawSpacesSet
attrClear _ = undefined
#endif
#if 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 ENABLE_OVERLOADING
tagDrawSpaces :: AttrLabelProxy "drawSpaces"
tagDrawSpaces = AttrLabelProxy
tagDrawSpacesSet :: AttrLabelProxy "drawSpacesSet"
tagDrawSpacesSet = AttrLabelProxy
#endif
#if 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 name = liftIO $ do
maybeName <- case name of
Nothing -> return nullPtr
Just jName -> do
jName' <- textToCString jName
return jName'
result <- gtk_source_tag_new maybeName
checkUnexpectedReturnNULL "tagNew" result
result' <- (wrapObject Tag) result
freeMem maybeName
return result'
#if ENABLE_OVERLOADING
#endif