#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GtkSource.Structs.RegionIter
(
RegionIter(..) ,
newZeroRegionIter ,
noRegionIter ,
#if ENABLE_OVERLOADING
RegionIterGetSubregionMethodInfo ,
#endif
regionIterGetSubregion ,
#if ENABLE_OVERLOADING
RegionIterIsEndMethodInfo ,
#endif
regionIterIsEnd ,
#if ENABLE_OVERLOADING
RegionIterNextMethodInfo ,
#endif
regionIterNext ,
) 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.Gtk.Structs.TextIter as Gtk.TextIter
newtype RegionIter = RegionIter (ManagedPtr RegionIter)
instance WrappedPtr RegionIter where
wrappedPtrCalloc = callocBytes 24
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr RegionIter)
wrappedPtrFree = Just ptr_to_g_free
newZeroRegionIter :: MonadIO m => m RegionIter
newZeroRegionIter = liftIO $ wrappedPtrCalloc >>= wrapPtr RegionIter
instance tag ~ 'AttrSet => Constructible RegionIter tag where
new _ attrs = do
o <- newZeroRegionIter
GI.Attributes.set o attrs
return o
noRegionIter :: Maybe RegionIter
noRegionIter = Nothing
#if ENABLE_OVERLOADING
instance O.HasAttributeList RegionIter
type instance O.AttributeList RegionIter = RegionIterAttributeList
type RegionIterAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_source_region_iter_get_subregion" gtk_source_region_iter_get_subregion ::
Ptr RegionIter ->
Ptr Gtk.TextIter.TextIter ->
Ptr Gtk.TextIter.TextIter ->
IO CInt
regionIterGetSubregion ::
(B.CallStack.HasCallStack, MonadIO m) =>
RegionIter
-> m ((Bool, Gtk.TextIter.TextIter, Gtk.TextIter.TextIter))
regionIterGetSubregion iter = liftIO $ do
iter' <- unsafeManagedPtrGetPtr iter
start <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
end <- callocBoxedBytes 80 :: IO (Ptr Gtk.TextIter.TextIter)
result <- gtk_source_region_iter_get_subregion iter' start end
let result' = (/= 0) result
start' <- (wrapBoxed Gtk.TextIter.TextIter) start
end' <- (wrapBoxed Gtk.TextIter.TextIter) end
touchManagedPtr iter
return (result', start', end')
#if ENABLE_OVERLOADING
data RegionIterGetSubregionMethodInfo
instance (signature ~ (m ((Bool, Gtk.TextIter.TextIter, Gtk.TextIter.TextIter))), MonadIO m) => O.MethodInfo RegionIterGetSubregionMethodInfo RegionIter signature where
overloadedMethod _ = regionIterGetSubregion
#endif
foreign import ccall "gtk_source_region_iter_is_end" gtk_source_region_iter_is_end ::
Ptr RegionIter ->
IO CInt
regionIterIsEnd ::
(B.CallStack.HasCallStack, MonadIO m) =>
RegionIter
-> m Bool
regionIterIsEnd iter = liftIO $ do
iter' <- unsafeManagedPtrGetPtr iter
result <- gtk_source_region_iter_is_end iter'
let result' = (/= 0) result
touchManagedPtr iter
return result'
#if ENABLE_OVERLOADING
data RegionIterIsEndMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RegionIterIsEndMethodInfo RegionIter signature where
overloadedMethod _ = regionIterIsEnd
#endif
foreign import ccall "gtk_source_region_iter_next" gtk_source_region_iter_next ::
Ptr RegionIter ->
IO CInt
regionIterNext ::
(B.CallStack.HasCallStack, MonadIO m) =>
RegionIter
-> m Bool
regionIterNext iter = liftIO $ do
iter' <- unsafeManagedPtrGetPtr iter
result <- gtk_source_region_iter_next iter'
let result' = (/= 0) result
touchManagedPtr iter
return result'
#if ENABLE_OVERLOADING
data RegionIterNextMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RegionIterNextMethodInfo RegionIter signature where
overloadedMethod _ = regionIterNext
#endif
#if ENABLE_OVERLOADING
type family ResolveRegionIterMethod (t :: Symbol) (o :: *) :: * where
ResolveRegionIterMethod "isEnd" o = RegionIterIsEndMethodInfo
ResolveRegionIterMethod "next" o = RegionIterNextMethodInfo
ResolveRegionIterMethod "getSubregion" o = RegionIterGetSubregionMethodInfo
ResolveRegionIterMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRegionIterMethod t RegionIter, O.MethodInfo info RegionIter p) => OL.IsLabel t (RegionIter -> 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