{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) /No description available in the introspection data./ -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.GtkSource.Objects.Region ( -- * Exported types Region(..) , IsRegion , toRegion , noRegion , -- * Methods -- ** addRegion #method:addRegion# #if ENABLE_OVERLOADING RegionAddRegionMethodInfo , #endif regionAddRegion , -- ** addSubregion #method:addSubregion# #if ENABLE_OVERLOADING RegionAddSubregionMethodInfo , #endif regionAddSubregion , -- ** getBounds #method:getBounds# #if ENABLE_OVERLOADING RegionGetBoundsMethodInfo , #endif regionGetBounds , -- ** getBuffer #method:getBuffer# #if ENABLE_OVERLOADING RegionGetBufferMethodInfo , #endif regionGetBuffer , -- ** getStartRegionIter #method:getStartRegionIter# #if ENABLE_OVERLOADING RegionGetStartRegionIterMethodInfo , #endif regionGetStartRegionIter , -- ** intersectRegion #method:intersectRegion# #if ENABLE_OVERLOADING RegionIntersectRegionMethodInfo , #endif regionIntersectRegion , -- ** intersectSubregion #method:intersectSubregion# #if ENABLE_OVERLOADING RegionIntersectSubregionMethodInfo , #endif regionIntersectSubregion , -- ** isEmpty #method:isEmpty# #if ENABLE_OVERLOADING RegionIsEmptyMethodInfo , #endif regionIsEmpty , -- ** new #method:new# regionNew , -- ** subtractRegion #method:subtractRegion# #if ENABLE_OVERLOADING RegionSubtractRegionMethodInfo , #endif regionSubtractRegion , -- ** subtractSubregion #method:subtractSubregion# #if ENABLE_OVERLOADING RegionSubtractSubregionMethodInfo , #endif regionSubtractSubregion , -- ** toString #method:toString# #if ENABLE_OVERLOADING RegionToStringMethodInfo , #endif regionToString , -- * Properties -- ** buffer #attr:buffer# {- | The 'GI.Gtk.Objects.TextBuffer.TextBuffer'. The 'GI.GtkSource.Objects.Region.Region' has a weak reference to the buffer. /Since: 3.22/ -} #if ENABLE_OVERLOADING RegionBufferPropertyInfo , #endif constructRegionBuffer , getRegionBuffer , #if ENABLE_OVERLOADING regionBuffer , #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.TextBuffer as Gtk.TextBuffer import qualified GI.Gtk.Structs.TextIter as Gtk.TextIter import {-# SOURCE #-} qualified GI.GtkSource.Structs.RegionIter as GtkSource.RegionIter -- | Memory-managed wrapper type. newtype Region = Region (ManagedPtr Region) foreign import ccall "gtk_source_region_get_type" c_gtk_source_region_get_type :: IO GType instance GObject Region where gobjectType = c_gtk_source_region_get_type -- | Type class for types which can be safely cast to `Region`, for instance with `toRegion`. class (GObject o, O.IsDescendantOf Region o) => IsRegion o instance (GObject o, O.IsDescendantOf Region o) => IsRegion o instance O.HasParentTypes Region type instance O.ParentTypes Region = '[GObject.Object.Object] -- | Cast to `Region`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toRegion :: (MonadIO m, IsRegion o) => o -> m Region toRegion = liftIO . unsafeCastTo Region -- | A convenience alias for `Nothing` :: `Maybe` `Region`. noRegion :: Maybe Region noRegion = Nothing #if ENABLE_OVERLOADING type family ResolveRegionMethod (t :: Symbol) (o :: *) :: * where ResolveRegionMethod "addRegion" o = RegionAddRegionMethodInfo ResolveRegionMethod "addSubregion" o = RegionAddSubregionMethodInfo ResolveRegionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveRegionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveRegionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveRegionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveRegionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo ResolveRegionMethod "intersectRegion" o = RegionIntersectRegionMethodInfo ResolveRegionMethod "intersectSubregion" o = RegionIntersectSubregionMethodInfo ResolveRegionMethod "isEmpty" o = RegionIsEmptyMethodInfo ResolveRegionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo ResolveRegionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo ResolveRegionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo ResolveRegionMethod "ref" o = GObject.Object.ObjectRefMethodInfo ResolveRegionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo ResolveRegionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo ResolveRegionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo ResolveRegionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo ResolveRegionMethod "subtractRegion" o = RegionSubtractRegionMethodInfo ResolveRegionMethod "subtractSubregion" o = RegionSubtractSubregionMethodInfo ResolveRegionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo ResolveRegionMethod "toString" o = RegionToStringMethodInfo ResolveRegionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo ResolveRegionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo ResolveRegionMethod "getBounds" o = RegionGetBoundsMethodInfo ResolveRegionMethod "getBuffer" o = RegionGetBufferMethodInfo ResolveRegionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo ResolveRegionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo ResolveRegionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo ResolveRegionMethod "getStartRegionIter" o = RegionGetStartRegionIterMethodInfo ResolveRegionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo ResolveRegionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo ResolveRegionMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveRegionMethod t Region, O.MethodInfo info Region p) => OL.IsLabel t (Region -> 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 -- VVV Prop "buffer" -- Type: TInterface (Name {namespace = "Gtk", name = "TextBuffer"}) -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly] -- Nullable: (Just True,Nothing) {- | Get the value of the “@buffer@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' region #buffer @ -} getRegionBuffer :: (MonadIO m, IsRegion o) => o -> m (Maybe Gtk.TextBuffer.TextBuffer) getRegionBuffer obj = liftIO $ B.Properties.getObjectPropertyObject obj "buffer" Gtk.TextBuffer.TextBuffer {- | Construct a `GValueConstruct` with valid value for the “@buffer@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructRegionBuffer :: (IsRegion o, Gtk.TextBuffer.IsTextBuffer a) => a -> IO (GValueConstruct o) constructRegionBuffer val = B.Properties.constructObjectPropertyObject "buffer" (Just val) #if ENABLE_OVERLOADING data RegionBufferPropertyInfo instance AttrInfo RegionBufferPropertyInfo where type AttrAllowedOps RegionBufferPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear] type AttrSetTypeConstraint RegionBufferPropertyInfo = Gtk.TextBuffer.IsTextBuffer type AttrBaseTypeConstraint RegionBufferPropertyInfo = IsRegion type AttrGetType RegionBufferPropertyInfo = (Maybe Gtk.TextBuffer.TextBuffer) type AttrLabel RegionBufferPropertyInfo = "buffer" type AttrOrigin RegionBufferPropertyInfo = Region attrGet _ = getRegionBuffer attrSet _ = undefined attrConstruct _ = constructRegionBuffer attrClear _ = undefined #endif #if ENABLE_OVERLOADING instance O.HasAttributeList Region type instance O.AttributeList Region = RegionAttributeList type RegionAttributeList = ('[ '("buffer", RegionBufferPropertyInfo)] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING regionBuffer :: AttrLabelProxy "buffer" regionBuffer = AttrLabelProxy #endif #if ENABLE_OVERLOADING type instance O.SignalList Region = RegionSignalList type RegionSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)]) #endif -- method Region::new -- method type : Constructor -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gtk", name = "TextBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTextBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "Region"})) -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_new" gtk_source_region_new :: Ptr Gtk.TextBuffer.TextBuffer -> -- buffer : TInterface (Name {namespace = "Gtk", name = "TextBuffer"}) IO (Ptr Region) {- | /No description available in the introspection data./ /Since: 3.22/ -} regionNew :: (B.CallStack.HasCallStack, MonadIO m, Gtk.TextBuffer.IsTextBuffer a) => a {- ^ /@buffer@/: a 'GI.Gtk.Objects.TextBuffer.TextBuffer'. -} -> m Region {- ^ __Returns:__ a new 'GI.GtkSource.Objects.Region.Region' object for /@buffer@/. -} regionNew buffer = liftIO $ do buffer' <- unsafeManagedPtrCastPtr buffer result <- gtk_source_region_new buffer' checkUnexpectedReturnNULL "regionNew" result result' <- (wrapObject Region) result touchManagedPtr buffer return result' #if ENABLE_OVERLOADING #endif -- method Region::add_region -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region_to_add", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkSourceRegion to add to @region, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_add_region" gtk_source_region_add_region :: Ptr Region -> -- region : TInterface (Name {namespace = "GtkSource", name = "Region"}) Ptr Region -> -- region_to_add : TInterface (Name {namespace = "GtkSource", name = "Region"}) IO () {- | Adds /@regionToAdd@/ to /@region@/. /@regionToAdd@/ is not modified. /Since: 3.22/ -} regionAddRegion :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a, IsRegion b) => a {- ^ /@region@/: a 'GI.GtkSource.Objects.Region.Region'. -} -> Maybe (b) {- ^ /@regionToAdd@/: the 'GI.GtkSource.Objects.Region.Region' to add to /@region@/, or 'Nothing'. -} -> m () regionAddRegion region regionToAdd = liftIO $ do region' <- unsafeManagedPtrCastPtr region maybeRegionToAdd <- case regionToAdd of Nothing -> return nullPtr Just jRegionToAdd -> do jRegionToAdd' <- unsafeManagedPtrCastPtr jRegionToAdd return jRegionToAdd' gtk_source_region_add_region region' maybeRegionToAdd touchManagedPtr region whenJust regionToAdd touchManagedPtr return () #if ENABLE_OVERLOADING data RegionAddRegionMethodInfo instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRegion a, IsRegion b) => O.MethodInfo RegionAddRegionMethodInfo a signature where overloadedMethod _ = regionAddRegion #endif -- method Region::add_subregion -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "_start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start of the subregion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "_end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the end of the subregion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_add_subregion" gtk_source_region_add_subregion :: Ptr Region -> -- region : TInterface (Name {namespace = "GtkSource", name = "Region"}) Ptr Gtk.TextIter.TextIter -> -- _start : TInterface (Name {namespace = "Gtk", name = "TextIter"}) Ptr Gtk.TextIter.TextIter -> -- _end : TInterface (Name {namespace = "Gtk", name = "TextIter"}) IO () {- | Adds the subregion delimited by /@start_@/ and /@end_@/ to /@region@/. /Since: 3.22/ -} regionAddSubregion :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a) => a {- ^ /@region@/: a 'GI.GtkSource.Objects.Region.Region'. -} -> Gtk.TextIter.TextIter {- ^ /@start_@/: the start of the subregion. -} -> Gtk.TextIter.TextIter {- ^ /@end_@/: the end of the subregion. -} -> m () regionAddSubregion region _start _end = liftIO $ do region' <- unsafeManagedPtrCastPtr region _start' <- unsafeManagedPtrGetPtr _start _end' <- unsafeManagedPtrGetPtr _end gtk_source_region_add_subregion region' _start' _end' touchManagedPtr region touchManagedPtr _start touchManagedPtr _end return () #if ENABLE_OVERLOADING data RegionAddSubregionMethodInfo instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsRegion a) => O.MethodInfo RegionAddSubregionMethodInfo a signature where overloadedMethod _ = regionAddSubregion #endif -- method Region::get_bounds -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize with the start of @region,\n or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize with the end of @region,\n or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_get_bounds" gtk_source_region_get_bounds :: Ptr Region -> -- region : TInterface (Name {namespace = "GtkSource", name = "Region"}) Ptr Gtk.TextIter.TextIter -> -- start : TInterface (Name {namespace = "Gtk", name = "TextIter"}) Ptr Gtk.TextIter.TextIter -> -- end : TInterface (Name {namespace = "Gtk", name = "TextIter"}) IO CInt {- | Gets the /@start@/ and /@end@/ bounds of the /@region@/. /Since: 3.22/ -} regionGetBounds :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a) => a {- ^ /@region@/: a 'GI.GtkSource.Objects.Region.Region'. -} -> m ((Bool, Gtk.TextIter.TextIter, Gtk.TextIter.TextIter)) {- ^ __Returns:__ 'True' if /@start@/ and /@end@/ have been set successfully (if non-'Nothing'), or 'False' if the /@region@/ is empty. -} regionGetBounds region = liftIO $ do region' <- unsafeManagedPtrCastPtr region start <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter) end <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter) result <- gtk_source_region_get_bounds region' start end let result' = (/= 0) result start' <- (wrapBoxed Gtk.TextIter.TextIter) start end' <- (wrapBoxed Gtk.TextIter.TextIter) end touchManagedPtr region return (result', start', end') #if ENABLE_OVERLOADING data RegionGetBoundsMethodInfo instance (signature ~ (m ((Bool, Gtk.TextIter.TextIter, Gtk.TextIter.TextIter))), MonadIO m, IsRegion a) => O.MethodInfo RegionGetBoundsMethodInfo a signature where overloadedMethod _ = regionGetBounds #endif -- method Region::get_buffer -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gtk", name = "TextBuffer"})) -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_get_buffer" gtk_source_region_get_buffer :: Ptr Region -> -- region : TInterface (Name {namespace = "GtkSource", name = "Region"}) IO (Ptr Gtk.TextBuffer.TextBuffer) {- | /No description available in the introspection data./ /Since: 3.22/ -} regionGetBuffer :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a) => a {- ^ /@region@/: a 'GI.GtkSource.Objects.Region.Region'. -} -> m (Maybe Gtk.TextBuffer.TextBuffer) {- ^ __Returns:__ the 'GI.Gtk.Objects.TextBuffer.TextBuffer'. -} regionGetBuffer region = liftIO $ do region' <- unsafeManagedPtrCastPtr region result <- gtk_source_region_get_buffer region' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newObject Gtk.TextBuffer.TextBuffer) result' return result'' touchManagedPtr region return maybeResult #if ENABLE_OVERLOADING data RegionGetBufferMethodInfo instance (signature ~ (m (Maybe Gtk.TextBuffer.TextBuffer)), MonadIO m, IsRegion a) => O.MethodInfo RegionGetBufferMethodInfo a signature where overloadedMethod _ = regionGetBuffer #endif -- method Region::get_start_region_iter -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iter", argType = TInterface (Name {namespace = "GtkSource", name = "RegionIter"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "iterator to initialize to the first subregion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_get_start_region_iter" gtk_source_region_get_start_region_iter :: Ptr Region -> -- region : TInterface (Name {namespace = "GtkSource", name = "Region"}) Ptr GtkSource.RegionIter.RegionIter -> -- iter : TInterface (Name {namespace = "GtkSource", name = "RegionIter"}) IO () {- | Initializes a 'GI.GtkSource.Structs.RegionIter.RegionIter' to the first subregion of /@region@/. If /@region@/ is empty, /@iter@/ will be initialized to the end iterator. /Since: 3.22/ -} regionGetStartRegionIter :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a) => a {- ^ /@region@/: a 'GI.GtkSource.Objects.Region.Region'. -} -> m (GtkSource.RegionIter.RegionIter) regionGetStartRegionIter region = liftIO $ do region' <- unsafeManagedPtrCastPtr region iter <- callocBytes 24 :: IO (Ptr GtkSource.RegionIter.RegionIter) gtk_source_region_get_start_region_iter region' iter iter' <- (wrapPtr GtkSource.RegionIter.RegionIter) iter touchManagedPtr region return iter' #if ENABLE_OVERLOADING data RegionGetStartRegionIterMethodInfo instance (signature ~ (m (GtkSource.RegionIter.RegionIter)), MonadIO m, IsRegion a) => O.MethodInfo RegionGetStartRegionIterMethodInfo a signature where overloadedMethod _ = regionGetStartRegionIter #endif -- method Region::intersect_region -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region1", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region2", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "Region"})) -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_intersect_region" gtk_source_region_intersect_region :: Ptr Region -> -- region1 : TInterface (Name {namespace = "GtkSource", name = "Region"}) Ptr Region -> -- region2 : TInterface (Name {namespace = "GtkSource", name = "Region"}) IO (Ptr Region) {- | Returns the intersection between /@region1@/ and /@region2@/. /@region1@/ and /@region2@/ are not modified. /Since: 3.22/ -} regionIntersectRegion :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a, IsRegion b) => a {- ^ /@region1@/: a 'GI.GtkSource.Objects.Region.Region', or 'Nothing'. -} -> Maybe (b) {- ^ /@region2@/: a 'GI.GtkSource.Objects.Region.Region', or 'Nothing'. -} -> m (Maybe Region) {- ^ __Returns:__ the intersection as a 'GI.GtkSource.Objects.Region.Region' object. -} regionIntersectRegion region1 region2 = liftIO $ do region1' <- unsafeManagedPtrCastPtr region1 maybeRegion2 <- case region2 of Nothing -> return nullPtr Just jRegion2 -> do jRegion2' <- unsafeManagedPtrCastPtr jRegion2 return jRegion2' result <- gtk_source_region_intersect_region region1' maybeRegion2 maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (wrapObject Region) result' return result'' touchManagedPtr region1 whenJust region2 touchManagedPtr return maybeResult #if ENABLE_OVERLOADING data RegionIntersectRegionMethodInfo instance (signature ~ (Maybe (b) -> m (Maybe Region)), MonadIO m, IsRegion a, IsRegion b) => O.MethodInfo RegionIntersectRegionMethodInfo a signature where overloadedMethod _ = regionIntersectRegion #endif -- method Region::intersect_subregion -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "_start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start of the subregion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "_end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the end of the subregion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "GtkSource", name = "Region"})) -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_intersect_subregion" gtk_source_region_intersect_subregion :: Ptr Region -> -- region : TInterface (Name {namespace = "GtkSource", name = "Region"}) Ptr Gtk.TextIter.TextIter -> -- _start : TInterface (Name {namespace = "Gtk", name = "TextIter"}) Ptr Gtk.TextIter.TextIter -> -- _end : TInterface (Name {namespace = "Gtk", name = "TextIter"}) IO (Ptr Region) {- | Returns the intersection between /@region@/ and the subregion delimited by /@start_@/ and /@end_@/. /@region@/ is not modified. /Since: 3.22/ -} regionIntersectSubregion :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a) => a {- ^ /@region@/: a 'GI.GtkSource.Objects.Region.Region'. -} -> Gtk.TextIter.TextIter {- ^ /@start_@/: the start of the subregion. -} -> Gtk.TextIter.TextIter {- ^ /@end_@/: the end of the subregion. -} -> m (Maybe Region) {- ^ __Returns:__ the intersection as a new 'GI.GtkSource.Objects.Region.Region'. -} regionIntersectSubregion region _start _end = liftIO $ do region' <- unsafeManagedPtrCastPtr region _start' <- unsafeManagedPtrGetPtr _start _end' <- unsafeManagedPtrGetPtr _end result <- gtk_source_region_intersect_subregion region' _start' _end' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (wrapObject Region) result' return result'' touchManagedPtr region touchManagedPtr _start touchManagedPtr _end return maybeResult #if ENABLE_OVERLOADING data RegionIntersectSubregionMethodInfo instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m (Maybe Region)), MonadIO m, IsRegion a) => O.MethodInfo RegionIntersectSubregionMethodInfo a signature where overloadedMethod _ = regionIntersectSubregion #endif -- method Region::is_empty -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_is_empty" gtk_source_region_is_empty :: Ptr Region -> -- region : TInterface (Name {namespace = "GtkSource", name = "Region"}) IO CInt {- | Returns whether the /@region@/ is empty. A 'Nothing' /@region@/ is considered empty. /Since: 3.22/ -} regionIsEmpty :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a) => a {- ^ /@region@/: a 'GI.GtkSource.Objects.Region.Region', or 'Nothing'. -} -> m Bool {- ^ __Returns:__ whether the /@region@/ is empty. -} regionIsEmpty region = liftIO $ do region' <- unsafeManagedPtrCastPtr region result <- gtk_source_region_is_empty region' let result' = (/= 0) result touchManagedPtr region return result' #if ENABLE_OVERLOADING data RegionIsEmptyMethodInfo instance (signature ~ (m Bool), MonadIO m, IsRegion a) => O.MethodInfo RegionIsEmptyMethodInfo a signature where overloadedMethod _ = regionIsEmpty #endif -- method Region::subtract_region -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "region_to_subtract", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GtkSourceRegion to subtract from\n @region, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_subtract_region" gtk_source_region_subtract_region :: Ptr Region -> -- region : TInterface (Name {namespace = "GtkSource", name = "Region"}) Ptr Region -> -- region_to_subtract : TInterface (Name {namespace = "GtkSource", name = "Region"}) IO () {- | Subtracts /@regionToSubtract@/ from /@region@/. /@regionToSubtract@/ is not modified. /Since: 3.22/ -} regionSubtractRegion :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a, IsRegion b) => a {- ^ /@region@/: a 'GI.GtkSource.Objects.Region.Region'. -} -> Maybe (b) {- ^ /@regionToSubtract@/: the 'GI.GtkSource.Objects.Region.Region' to subtract from /@region@/, or 'Nothing'. -} -> m () regionSubtractRegion region regionToSubtract = liftIO $ do region' <- unsafeManagedPtrCastPtr region maybeRegionToSubtract <- case regionToSubtract of Nothing -> return nullPtr Just jRegionToSubtract -> do jRegionToSubtract' <- unsafeManagedPtrCastPtr jRegionToSubtract return jRegionToSubtract' gtk_source_region_subtract_region region' maybeRegionToSubtract touchManagedPtr region whenJust regionToSubtract touchManagedPtr return () #if ENABLE_OVERLOADING data RegionSubtractRegionMethodInfo instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRegion a, IsRegion b) => O.MethodInfo RegionSubtractRegionMethodInfo a signature where overloadedMethod _ = regionSubtractRegion #endif -- method Region::subtract_subregion -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "_start", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start of the subregion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "_end", argType = TInterface (Name {namespace = "Gtk", name = "TextIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the end of the subregion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_subtract_subregion" gtk_source_region_subtract_subregion :: Ptr Region -> -- region : TInterface (Name {namespace = "GtkSource", name = "Region"}) Ptr Gtk.TextIter.TextIter -> -- _start : TInterface (Name {namespace = "Gtk", name = "TextIter"}) Ptr Gtk.TextIter.TextIter -> -- _end : TInterface (Name {namespace = "Gtk", name = "TextIter"}) IO () {- | Subtracts the subregion delimited by /@start_@/ and /@end_@/ from /@region@/. /Since: 3.22/ -} regionSubtractSubregion :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a) => a {- ^ /@region@/: a 'GI.GtkSource.Objects.Region.Region'. -} -> Gtk.TextIter.TextIter {- ^ /@start_@/: the start of the subregion. -} -> Gtk.TextIter.TextIter {- ^ /@end_@/: the end of the subregion. -} -> m () regionSubtractSubregion region _start _end = liftIO $ do region' <- unsafeManagedPtrCastPtr region _start' <- unsafeManagedPtrGetPtr _start _end' <- unsafeManagedPtrGetPtr _end gtk_source_region_subtract_subregion region' _start' _end' touchManagedPtr region touchManagedPtr _start touchManagedPtr _end return () #if ENABLE_OVERLOADING data RegionSubtractSubregionMethodInfo instance (signature ~ (Gtk.TextIter.TextIter -> Gtk.TextIter.TextIter -> m ()), MonadIO m, IsRegion a) => O.MethodInfo RegionSubtractSubregionMethodInfo a signature where overloadedMethod _ = regionSubtractSubregion #endif -- method Region::to_string -- method type : OrdinaryMethod -- Args : [Arg {argCName = "region", argType = TInterface (Name {namespace = "GtkSource", name = "Region"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkSourceRegion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gtk_source_region_to_string" gtk_source_region_to_string :: Ptr Region -> -- region : TInterface (Name {namespace = "GtkSource", name = "Region"}) IO CString {- | Gets a string represention of /@region@/, for debugging purposes. The returned string contains the character offsets of the subregions. It doesn\'t include a newline character at the end of the string. /Since: 3.22/ -} regionToString :: (B.CallStack.HasCallStack, MonadIO m, IsRegion a) => a {- ^ /@region@/: a 'GI.GtkSource.Objects.Region.Region'. -} -> m (Maybe T.Text) {- ^ __Returns:__ a string represention of /@region@/. Free with 'GI.GLib.Functions.free' when no longer needed. -} regionToString region = liftIO $ do region' <- unsafeManagedPtrCastPtr region result <- gtk_source_region_to_string region' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- cstringToText result' freeMem result' return result'' touchManagedPtr region return maybeResult #if ENABLE_OVERLOADING data RegionToStringMethodInfo instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsRegion a) => O.MethodInfo RegionToStringMethodInfo a signature where overloadedMethod _ = regionToString #endif