module GI.GtkSource.Structs.RegionIter
(
RegionIter(..) ,
newZeroRegionIter ,
noRegionIter ,
RegionIterGetSubregionMethodInfo ,
regionIterGetSubregion ,
RegionIterIsEndMethodInfo ,
regionIterIsEnd ,
RegionIterNextMethodInfo ,
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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 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
instance O.HasAttributeList RegionIter
type instance O.AttributeList RegionIter = RegionIterAttributeList
type RegionIterAttributeList = ('[ ] :: [(Symbol, *)])
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')
data RegionIterGetSubregionMethodInfo
instance (signature ~ (m (Bool,Gtk.TextIter.TextIter,Gtk.TextIter.TextIter)), MonadIO m) => O.MethodInfo RegionIterGetSubregionMethodInfo RegionIter signature where
overloadedMethod _ = regionIterGetSubregion
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'
data RegionIterIsEndMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RegionIterIsEndMethodInfo RegionIter signature where
overloadedMethod _ = regionIterIsEnd
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'
data RegionIterNextMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RegionIterNextMethodInfo RegionIter signature where
overloadedMethod _ = regionIterNext
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) => O.IsLabelProxy t (RegionIter -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveRegionIterMethod t RegionIter, O.MethodInfo info RegionIter p) => O.IsLabel t (RegionIter -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif