{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Objects.TreeModelSort
(
TreeModelSort(..) ,
IsTreeModelSort ,
toTreeModelSort ,
#if defined(ENABLE_OVERLOADING)
ResolveTreeModelSortMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
TreeModelSortClearCacheMethodInfo ,
#endif
treeModelSortClearCache ,
#if defined(ENABLE_OVERLOADING)
TreeModelSortConvertChildIterToIterMethodInfo,
#endif
treeModelSortConvertChildIterToIter ,
#if defined(ENABLE_OVERLOADING)
TreeModelSortConvertChildPathToPathMethodInfo,
#endif
treeModelSortConvertChildPathToPath ,
#if defined(ENABLE_OVERLOADING)
TreeModelSortConvertIterToChildIterMethodInfo,
#endif
treeModelSortConvertIterToChildIter ,
#if defined(ENABLE_OVERLOADING)
TreeModelSortConvertPathToChildPathMethodInfo,
#endif
treeModelSortConvertPathToChildPath ,
#if defined(ENABLE_OVERLOADING)
TreeModelSortGetModelMethodInfo ,
#endif
treeModelSortGetModel ,
#if defined(ENABLE_OVERLOADING)
TreeModelSortIterIsValidMethodInfo ,
#endif
treeModelSortIterIsValid ,
treeModelSortNewWithModel ,
#if defined(ENABLE_OVERLOADING)
TreeModelSortResetDefaultSortFuncMethodInfo,
#endif
treeModelSortResetDefaultSortFunc ,
#if defined(ENABLE_OVERLOADING)
TreeModelSortModelPropertyInfo ,
#endif
constructTreeModelSortModel ,
getTreeModelSortModel ,
#if defined(ENABLE_OVERLOADING)
treeModelSortModel ,
#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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
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 Control.Monad.IO.Class as MIO
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 {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeDragSource as Gtk.TreeDragSource
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeModel as Gtk.TreeModel
import {-# SOURCE #-} qualified GI.Gtk.Interfaces.TreeSortable as Gtk.TreeSortable
import {-# SOURCE #-} qualified GI.Gtk.Structs.TreeIter as Gtk.TreeIter
import {-# SOURCE #-} qualified GI.Gtk.Structs.TreePath as Gtk.TreePath
newtype TreeModelSort = TreeModelSort (SP.ManagedPtr TreeModelSort)
deriving (TreeModelSort -> TreeModelSort -> Bool
(TreeModelSort -> TreeModelSort -> Bool)
-> (TreeModelSort -> TreeModelSort -> Bool) -> Eq TreeModelSort
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TreeModelSort -> TreeModelSort -> Bool
$c/= :: TreeModelSort -> TreeModelSort -> Bool
== :: TreeModelSort -> TreeModelSort -> Bool
$c== :: TreeModelSort -> TreeModelSort -> Bool
Eq)
instance SP.ManagedPtrNewtype TreeModelSort where
toManagedPtr :: TreeModelSort -> ManagedPtr TreeModelSort
toManagedPtr (TreeModelSort ManagedPtr TreeModelSort
p) = ManagedPtr TreeModelSort
p
foreign import ccall "gtk_tree_model_sort_get_type"
c_gtk_tree_model_sort_get_type :: IO B.Types.GType
instance B.Types.TypedObject TreeModelSort where
glibType :: IO GType
glibType = IO GType
c_gtk_tree_model_sort_get_type
instance B.Types.GObject TreeModelSort
instance B.GValue.IsGValue TreeModelSort where
toGValue :: TreeModelSort -> IO GValue
toGValue TreeModelSort
o = do
GType
gtype <- IO GType
c_gtk_tree_model_sort_get_type
TreeModelSort -> (Ptr TreeModelSort -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TreeModelSort
o (GType
-> (GValue -> Ptr TreeModelSort -> IO ())
-> Ptr TreeModelSort
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr TreeModelSort -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO TreeModelSort
fromGValue GValue
gv = do
Ptr TreeModelSort
ptr <- GValue -> IO (Ptr TreeModelSort)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr TreeModelSort)
(ManagedPtr TreeModelSort -> TreeModelSort)
-> Ptr TreeModelSort -> IO TreeModelSort
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr TreeModelSort -> TreeModelSort
TreeModelSort Ptr TreeModelSort
ptr
class (SP.GObject o, O.IsDescendantOf TreeModelSort o) => IsTreeModelSort o
instance (SP.GObject o, O.IsDescendantOf TreeModelSort o) => IsTreeModelSort o
instance O.HasParentTypes TreeModelSort
type instance O.ParentTypes TreeModelSort = '[GObject.Object.Object, Gtk.TreeDragSource.TreeDragSource, Gtk.TreeModel.TreeModel, Gtk.TreeSortable.TreeSortable]
toTreeModelSort :: (MonadIO m, IsTreeModelSort o) => o -> m TreeModelSort
toTreeModelSort :: o -> m TreeModelSort
toTreeModelSort = IO TreeModelSort -> m TreeModelSort
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TreeModelSort -> m TreeModelSort)
-> (o -> IO TreeModelSort) -> o -> m TreeModelSort
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr TreeModelSort -> TreeModelSort)
-> o -> IO TreeModelSort
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr TreeModelSort -> TreeModelSort
TreeModelSort
#if defined(ENABLE_OVERLOADING)
type family ResolveTreeModelSortMethod (t :: Symbol) (o :: *) :: * where
ResolveTreeModelSortMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTreeModelSortMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTreeModelSortMethod "clearCache" o = TreeModelSortClearCacheMethodInfo
ResolveTreeModelSortMethod "convertChildIterToIter" o = TreeModelSortConvertChildIterToIterMethodInfo
ResolveTreeModelSortMethod "convertChildPathToPath" o = TreeModelSortConvertChildPathToPathMethodInfo
ResolveTreeModelSortMethod "convertIterToChildIter" o = TreeModelSortConvertIterToChildIterMethodInfo
ResolveTreeModelSortMethod "convertPathToChildPath" o = TreeModelSortConvertPathToChildPathMethodInfo
ResolveTreeModelSortMethod "dragDataDelete" o = Gtk.TreeDragSource.TreeDragSourceDragDataDeleteMethodInfo
ResolveTreeModelSortMethod "dragDataGet" o = Gtk.TreeDragSource.TreeDragSourceDragDataGetMethodInfo
ResolveTreeModelSortMethod "filterNew" o = Gtk.TreeModel.TreeModelFilterNewMethodInfo
ResolveTreeModelSortMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTreeModelSortMethod "foreach" o = Gtk.TreeModel.TreeModelForeachMethodInfo
ResolveTreeModelSortMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTreeModelSortMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveTreeModelSortMethod "hasDefaultSortFunc" o = Gtk.TreeSortable.TreeSortableHasDefaultSortFuncMethodInfo
ResolveTreeModelSortMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTreeModelSortMethod "iterChildren" o = Gtk.TreeModel.TreeModelIterChildrenMethodInfo
ResolveTreeModelSortMethod "iterHasChild" o = Gtk.TreeModel.TreeModelIterHasChildMethodInfo
ResolveTreeModelSortMethod "iterIsValid" o = TreeModelSortIterIsValidMethodInfo
ResolveTreeModelSortMethod "iterNChildren" o = Gtk.TreeModel.TreeModelIterNChildrenMethodInfo
ResolveTreeModelSortMethod "iterNext" o = Gtk.TreeModel.TreeModelIterNextMethodInfo
ResolveTreeModelSortMethod "iterNthChild" o = Gtk.TreeModel.TreeModelIterNthChildMethodInfo
ResolveTreeModelSortMethod "iterParent" o = Gtk.TreeModel.TreeModelIterParentMethodInfo
ResolveTreeModelSortMethod "iterPrevious" o = Gtk.TreeModel.TreeModelIterPreviousMethodInfo
ResolveTreeModelSortMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTreeModelSortMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTreeModelSortMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveTreeModelSortMethod "refNode" o = Gtk.TreeModel.TreeModelRefNodeMethodInfo
ResolveTreeModelSortMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTreeModelSortMethod "resetDefaultSortFunc" o = TreeModelSortResetDefaultSortFuncMethodInfo
ResolveTreeModelSortMethod "rowChanged" o = Gtk.TreeModel.TreeModelRowChangedMethodInfo
ResolveTreeModelSortMethod "rowDeleted" o = Gtk.TreeModel.TreeModelRowDeletedMethodInfo
ResolveTreeModelSortMethod "rowDraggable" o = Gtk.TreeDragSource.TreeDragSourceRowDraggableMethodInfo
ResolveTreeModelSortMethod "rowHasChildToggled" o = Gtk.TreeModel.TreeModelRowHasChildToggledMethodInfo
ResolveTreeModelSortMethod "rowInserted" o = Gtk.TreeModel.TreeModelRowInsertedMethodInfo
ResolveTreeModelSortMethod "rowsReordered" o = Gtk.TreeModel.TreeModelRowsReorderedMethodInfo
ResolveTreeModelSortMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTreeModelSortMethod "sortColumnChanged" o = Gtk.TreeSortable.TreeSortableSortColumnChangedMethodInfo
ResolveTreeModelSortMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTreeModelSortMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTreeModelSortMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTreeModelSortMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveTreeModelSortMethod "unrefNode" o = Gtk.TreeModel.TreeModelUnrefNodeMethodInfo
ResolveTreeModelSortMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTreeModelSortMethod "getColumnType" o = Gtk.TreeModel.TreeModelGetColumnTypeMethodInfo
ResolveTreeModelSortMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTreeModelSortMethod "getFlags" o = Gtk.TreeModel.TreeModelGetFlagsMethodInfo
ResolveTreeModelSortMethod "getIter" o = Gtk.TreeModel.TreeModelGetIterMethodInfo
ResolveTreeModelSortMethod "getIterFirst" o = Gtk.TreeModel.TreeModelGetIterFirstMethodInfo
ResolveTreeModelSortMethod "getIterFromString" o = Gtk.TreeModel.TreeModelGetIterFromStringMethodInfo
ResolveTreeModelSortMethod "getModel" o = TreeModelSortGetModelMethodInfo
ResolveTreeModelSortMethod "getNColumns" o = Gtk.TreeModel.TreeModelGetNColumnsMethodInfo
ResolveTreeModelSortMethod "getPath" o = Gtk.TreeModel.TreeModelGetPathMethodInfo
ResolveTreeModelSortMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTreeModelSortMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTreeModelSortMethod "getSortColumnId" o = Gtk.TreeSortable.TreeSortableGetSortColumnIdMethodInfo
ResolveTreeModelSortMethod "getStringFromIter" o = Gtk.TreeModel.TreeModelGetStringFromIterMethodInfo
ResolveTreeModelSortMethod "getValue" o = Gtk.TreeModel.TreeModelGetValueMethodInfo
ResolveTreeModelSortMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTreeModelSortMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveTreeModelSortMethod "setDefaultSortFunc" o = Gtk.TreeSortable.TreeSortableSetDefaultSortFuncMethodInfo
ResolveTreeModelSortMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTreeModelSortMethod "setSortColumnId" o = Gtk.TreeSortable.TreeSortableSetSortColumnIdMethodInfo
ResolveTreeModelSortMethod "setSortFunc" o = Gtk.TreeSortable.TreeSortableSetSortFuncMethodInfo
ResolveTreeModelSortMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTreeModelSortMethod t TreeModelSort, O.MethodInfo info TreeModelSort p) => OL.IsLabel t (TreeModelSort -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getTreeModelSortModel :: (MonadIO m, IsTreeModelSort o) => o -> m Gtk.TreeModel.TreeModel
getTreeModelSortModel :: o -> m TreeModel
getTreeModelSortModel o
obj = IO TreeModel -> m TreeModel
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TreeModel -> m TreeModel) -> IO TreeModel -> m TreeModel
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe TreeModel) -> IO TreeModel
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getTreeModelSortModel" (IO (Maybe TreeModel) -> IO TreeModel)
-> IO (Maybe TreeModel) -> IO TreeModel
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr TreeModel -> TreeModel)
-> IO (Maybe TreeModel)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"model" ManagedPtr TreeModel -> TreeModel
Gtk.TreeModel.TreeModel
constructTreeModelSortModel :: (IsTreeModelSort o, MIO.MonadIO m, Gtk.TreeModel.IsTreeModel a) => a -> m (GValueConstruct o)
constructTreeModelSortModel :: a -> m (GValueConstruct o)
constructTreeModelSortModel a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"model" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)
#if defined(ENABLE_OVERLOADING)
data TreeModelSortModelPropertyInfo
instance AttrInfo TreeModelSortModelPropertyInfo where
type AttrAllowedOps TreeModelSortModelPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint TreeModelSortModelPropertyInfo = IsTreeModelSort
type AttrSetTypeConstraint TreeModelSortModelPropertyInfo = Gtk.TreeModel.IsTreeModel
type AttrTransferTypeConstraint TreeModelSortModelPropertyInfo = Gtk.TreeModel.IsTreeModel
type AttrTransferType TreeModelSortModelPropertyInfo = Gtk.TreeModel.TreeModel
type AttrGetType TreeModelSortModelPropertyInfo = Gtk.TreeModel.TreeModel
type AttrLabel TreeModelSortModelPropertyInfo = "model"
type AttrOrigin TreeModelSortModelPropertyInfo = TreeModelSort
attrGet = getTreeModelSortModel
attrSet = undefined
attrTransfer _ v = do
unsafeCastTo Gtk.TreeModel.TreeModel v
attrConstruct = constructTreeModelSortModel
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TreeModelSort
type instance O.AttributeList TreeModelSort = TreeModelSortAttributeList
type TreeModelSortAttributeList = ('[ '("model", TreeModelSortModelPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
treeModelSortModel :: AttrLabelProxy "model"
treeModelSortModel = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList TreeModelSort = TreeModelSortSignalList
type TreeModelSortSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("rowChanged", Gtk.TreeModel.TreeModelRowChangedSignalInfo), '("rowDeleted", Gtk.TreeModel.TreeModelRowDeletedSignalInfo), '("rowHasChildToggled", Gtk.TreeModel.TreeModelRowHasChildToggledSignalInfo), '("rowInserted", Gtk.TreeModel.TreeModelRowInsertedSignalInfo), '("sortColumnChanged", Gtk.TreeSortable.TreeSortableSortColumnChangedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_tree_model_sort_new_with_model" gtk_tree_model_sort_new_with_model ::
Ptr Gtk.TreeModel.TreeModel ->
IO (Ptr TreeModelSort)
treeModelSortNewWithModel ::
(B.CallStack.HasCallStack, MonadIO m, Gtk.TreeModel.IsTreeModel a) =>
a
-> m TreeModelSort
treeModelSortNewWithModel :: a -> m TreeModelSort
treeModelSortNewWithModel a
childModel = IO TreeModelSort -> m TreeModelSort
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TreeModelSort -> m TreeModelSort)
-> IO TreeModelSort -> m TreeModelSort
forall a b. (a -> b) -> a -> b
$ do
Ptr TreeModel
childModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
childModel
Ptr TreeModelSort
result <- Ptr TreeModel -> IO (Ptr TreeModelSort)
gtk_tree_model_sort_new_with_model Ptr TreeModel
childModel'
Text -> Ptr TreeModelSort -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"treeModelSortNewWithModel" Ptr TreeModelSort
result
TreeModelSort
result' <- ((ManagedPtr TreeModelSort -> TreeModelSort)
-> Ptr TreeModelSort -> IO TreeModelSort
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr TreeModelSort -> TreeModelSort
TreeModelSort) Ptr TreeModelSort
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
childModel
TreeModelSort -> IO TreeModelSort
forall (m :: * -> *) a. Monad m => a -> m a
return TreeModelSort
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gtk_tree_model_sort_clear_cache" gtk_tree_model_sort_clear_cache ::
Ptr TreeModelSort ->
IO ()
treeModelSortClearCache ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> m ()
treeModelSortClearCache :: a -> m ()
treeModelSortClearCache a
treeModelSort = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr TreeModelSort
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
Ptr TreeModelSort -> IO ()
gtk_tree_model_sort_clear_cache Ptr TreeModelSort
treeModelSort'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
treeModelSort
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelSortClearCacheMethodInfo
instance (signature ~ (m ()), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortClearCacheMethodInfo a signature where
overloadedMethod = treeModelSortClearCache
#endif
foreign import ccall "gtk_tree_model_sort_convert_child_iter_to_iter" gtk_tree_model_sort_convert_child_iter_to_iter ::
Ptr TreeModelSort ->
Ptr Gtk.TreeIter.TreeIter ->
Ptr Gtk.TreeIter.TreeIter ->
IO CInt
treeModelSortConvertChildIterToIter ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> Gtk.TreeIter.TreeIter
-> m ((Bool, Gtk.TreeIter.TreeIter))
treeModelSortConvertChildIterToIter :: a -> TreeIter -> m (Bool, TreeIter)
treeModelSortConvertChildIterToIter a
treeModelSort TreeIter
childIter = IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, TreeIter) -> m (Bool, TreeIter))
-> IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a b. (a -> b) -> a -> b
$ do
Ptr TreeModelSort
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
Ptr TreeIter
sortIter <- Int -> IO (Ptr TreeIter)
forall a. GBoxed a => Int -> IO (Ptr a)
SP.callocBoxedBytes Int
32 :: IO (Ptr Gtk.TreeIter.TreeIter)
Ptr TreeIter
childIter' <- TreeIter -> IO (Ptr TreeIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TreeIter
childIter
CInt
result <- Ptr TreeModelSort -> Ptr TreeIter -> Ptr TreeIter -> IO CInt
gtk_tree_model_sort_convert_child_iter_to_iter Ptr TreeModelSort
treeModelSort' Ptr TreeIter
sortIter Ptr TreeIter
childIter'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
TreeIter
sortIter' <- ((ManagedPtr TreeIter -> TreeIter) -> Ptr TreeIter -> IO TreeIter
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TreeIter -> TreeIter
Gtk.TreeIter.TreeIter) Ptr TreeIter
sortIter
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
treeModelSort
TreeIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TreeIter
childIter
(Bool, TreeIter) -> IO (Bool, TreeIter)
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', TreeIter
sortIter')
#if defined(ENABLE_OVERLOADING)
data TreeModelSortConvertChildIterToIterMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortConvertChildIterToIterMethodInfo a signature where
overloadedMethod = treeModelSortConvertChildIterToIter
#endif
foreign import ccall "gtk_tree_model_sort_convert_child_path_to_path" gtk_tree_model_sort_convert_child_path_to_path ::
Ptr TreeModelSort ->
Ptr Gtk.TreePath.TreePath ->
IO (Ptr Gtk.TreePath.TreePath)
treeModelSortConvertChildPathToPath ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> Gtk.TreePath.TreePath
-> m (Maybe Gtk.TreePath.TreePath)
treeModelSortConvertChildPathToPath :: a -> TreePath -> m (Maybe TreePath)
treeModelSortConvertChildPathToPath a
treeModelSort TreePath
childPath = IO (Maybe TreePath) -> m (Maybe TreePath)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe TreePath) -> m (Maybe TreePath))
-> IO (Maybe TreePath) -> m (Maybe TreePath)
forall a b. (a -> b) -> a -> b
$ do
Ptr TreeModelSort
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
Ptr TreePath
childPath' <- TreePath -> IO (Ptr TreePath)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TreePath
childPath
Ptr TreePath
result <- Ptr TreeModelSort -> Ptr TreePath -> IO (Ptr TreePath)
gtk_tree_model_sort_convert_child_path_to_path Ptr TreeModelSort
treeModelSort' Ptr TreePath
childPath'
Maybe TreePath
maybeResult <- Ptr TreePath
-> (Ptr TreePath -> IO TreePath) -> IO (Maybe TreePath)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr TreePath
result ((Ptr TreePath -> IO TreePath) -> IO (Maybe TreePath))
-> (Ptr TreePath -> IO TreePath) -> IO (Maybe TreePath)
forall a b. (a -> b) -> a -> b
$ \Ptr TreePath
result' -> do
TreePath
result'' <- ((ManagedPtr TreePath -> TreePath) -> Ptr TreePath -> IO TreePath
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TreePath -> TreePath
Gtk.TreePath.TreePath) Ptr TreePath
result'
TreePath -> IO TreePath
forall (m :: * -> *) a. Monad m => a -> m a
return TreePath
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
treeModelSort
TreePath -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TreePath
childPath
Maybe TreePath -> IO (Maybe TreePath)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe TreePath
maybeResult
#if defined(ENABLE_OVERLOADING)
data TreeModelSortConvertChildPathToPathMethodInfo
instance (signature ~ (Gtk.TreePath.TreePath -> m (Maybe Gtk.TreePath.TreePath)), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortConvertChildPathToPathMethodInfo a signature where
overloadedMethod = treeModelSortConvertChildPathToPath
#endif
foreign import ccall "gtk_tree_model_sort_convert_iter_to_child_iter" gtk_tree_model_sort_convert_iter_to_child_iter ::
Ptr TreeModelSort ->
Ptr Gtk.TreeIter.TreeIter ->
Ptr Gtk.TreeIter.TreeIter ->
IO ()
treeModelSortConvertIterToChildIter ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> Gtk.TreeIter.TreeIter
-> m (Gtk.TreeIter.TreeIter)
treeModelSortConvertIterToChildIter :: a -> TreeIter -> m TreeIter
treeModelSortConvertIterToChildIter a
treeModelSort TreeIter
sortedIter = IO TreeIter -> m TreeIter
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TreeIter -> m TreeIter) -> IO TreeIter -> m TreeIter
forall a b. (a -> b) -> a -> b
$ do
Ptr TreeModelSort
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
Ptr TreeIter
childIter <- Int -> IO (Ptr TreeIter)
forall a. GBoxed a => Int -> IO (Ptr a)
SP.callocBoxedBytes Int
32 :: IO (Ptr Gtk.TreeIter.TreeIter)
Ptr TreeIter
sortedIter' <- TreeIter -> IO (Ptr TreeIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TreeIter
sortedIter
Ptr TreeModelSort -> Ptr TreeIter -> Ptr TreeIter -> IO ()
gtk_tree_model_sort_convert_iter_to_child_iter Ptr TreeModelSort
treeModelSort' Ptr TreeIter
childIter Ptr TreeIter
sortedIter'
TreeIter
childIter' <- ((ManagedPtr TreeIter -> TreeIter) -> Ptr TreeIter -> IO TreeIter
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TreeIter -> TreeIter
Gtk.TreeIter.TreeIter) Ptr TreeIter
childIter
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
treeModelSort
TreeIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TreeIter
sortedIter
TreeIter -> IO TreeIter
forall (m :: * -> *) a. Monad m => a -> m a
return TreeIter
childIter'
#if defined(ENABLE_OVERLOADING)
data TreeModelSortConvertIterToChildIterMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortConvertIterToChildIterMethodInfo a signature where
overloadedMethod = treeModelSortConvertIterToChildIter
#endif
foreign import ccall "gtk_tree_model_sort_convert_path_to_child_path" gtk_tree_model_sort_convert_path_to_child_path ::
Ptr TreeModelSort ->
Ptr Gtk.TreePath.TreePath ->
IO (Ptr Gtk.TreePath.TreePath)
treeModelSortConvertPathToChildPath ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> Gtk.TreePath.TreePath
-> m (Maybe Gtk.TreePath.TreePath)
treeModelSortConvertPathToChildPath :: a -> TreePath -> m (Maybe TreePath)
treeModelSortConvertPathToChildPath a
treeModelSort TreePath
sortedPath = IO (Maybe TreePath) -> m (Maybe TreePath)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe TreePath) -> m (Maybe TreePath))
-> IO (Maybe TreePath) -> m (Maybe TreePath)
forall a b. (a -> b) -> a -> b
$ do
Ptr TreeModelSort
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
Ptr TreePath
sortedPath' <- TreePath -> IO (Ptr TreePath)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TreePath
sortedPath
Ptr TreePath
result <- Ptr TreeModelSort -> Ptr TreePath -> IO (Ptr TreePath)
gtk_tree_model_sort_convert_path_to_child_path Ptr TreeModelSort
treeModelSort' Ptr TreePath
sortedPath'
Maybe TreePath
maybeResult <- Ptr TreePath
-> (Ptr TreePath -> IO TreePath) -> IO (Maybe TreePath)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr TreePath
result ((Ptr TreePath -> IO TreePath) -> IO (Maybe TreePath))
-> (Ptr TreePath -> IO TreePath) -> IO (Maybe TreePath)
forall a b. (a -> b) -> a -> b
$ \Ptr TreePath
result' -> do
TreePath
result'' <- ((ManagedPtr TreePath -> TreePath) -> Ptr TreePath -> IO TreePath
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr TreePath -> TreePath
Gtk.TreePath.TreePath) Ptr TreePath
result'
TreePath -> IO TreePath
forall (m :: * -> *) a. Monad m => a -> m a
return TreePath
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
treeModelSort
TreePath -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TreePath
sortedPath
Maybe TreePath -> IO (Maybe TreePath)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe TreePath
maybeResult
#if defined(ENABLE_OVERLOADING)
data TreeModelSortConvertPathToChildPathMethodInfo
instance (signature ~ (Gtk.TreePath.TreePath -> m (Maybe Gtk.TreePath.TreePath)), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortConvertPathToChildPathMethodInfo a signature where
overloadedMethod = treeModelSortConvertPathToChildPath
#endif
foreign import ccall "gtk_tree_model_sort_get_model" gtk_tree_model_sort_get_model ::
Ptr TreeModelSort ->
IO (Ptr Gtk.TreeModel.TreeModel)
treeModelSortGetModel ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> m Gtk.TreeModel.TreeModel
treeModelSortGetModel :: a -> m TreeModel
treeModelSortGetModel a
treeModel = IO TreeModel -> m TreeModel
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TreeModel -> m TreeModel) -> IO TreeModel -> m TreeModel
forall a b. (a -> b) -> a -> b
$ do
Ptr TreeModelSort
treeModel' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
Ptr TreeModel
result <- Ptr TreeModelSort -> IO (Ptr TreeModel)
gtk_tree_model_sort_get_model Ptr TreeModelSort
treeModel'
Text -> Ptr TreeModel -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"treeModelSortGetModel" Ptr TreeModel
result
TreeModel
result' <- ((ManagedPtr TreeModel -> TreeModel)
-> Ptr TreeModel -> IO TreeModel
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr TreeModel -> TreeModel
Gtk.TreeModel.TreeModel) Ptr TreeModel
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
treeModel
TreeModel -> IO TreeModel
forall (m :: * -> *) a. Monad m => a -> m a
return TreeModel
result'
#if defined(ENABLE_OVERLOADING)
data TreeModelSortGetModelMethodInfo
instance (signature ~ (m Gtk.TreeModel.TreeModel), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortGetModelMethodInfo a signature where
overloadedMethod = treeModelSortGetModel
#endif
foreign import ccall "gtk_tree_model_sort_iter_is_valid" gtk_tree_model_sort_iter_is_valid ::
Ptr TreeModelSort ->
Ptr Gtk.TreeIter.TreeIter ->
IO CInt
treeModelSortIterIsValid ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> Gtk.TreeIter.TreeIter
-> m Bool
treeModelSortIterIsValid :: a -> TreeIter -> m Bool
treeModelSortIterIsValid a
treeModelSort TreeIter
iter = 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
$ do
Ptr TreeModelSort
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
Ptr TreeIter
iter' <- TreeIter -> IO (Ptr TreeIter)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TreeIter
iter
CInt
result <- Ptr TreeModelSort -> Ptr TreeIter -> IO CInt
gtk_tree_model_sort_iter_is_valid Ptr TreeModelSort
treeModelSort' Ptr TreeIter
iter'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
treeModelSort
TreeIter -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TreeIter
iter
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data TreeModelSortIterIsValidMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortIterIsValidMethodInfo a signature where
overloadedMethod = treeModelSortIterIsValid
#endif
foreign import ccall "gtk_tree_model_sort_reset_default_sort_func" gtk_tree_model_sort_reset_default_sort_func ::
Ptr TreeModelSort ->
IO ()
treeModelSortResetDefaultSortFunc ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> m ()
treeModelSortResetDefaultSortFunc :: a -> m ()
treeModelSortResetDefaultSortFunc a
treeModelSort = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr TreeModelSort
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
Ptr TreeModelSort -> IO ()
gtk_tree_model_sort_reset_default_sort_func Ptr TreeModelSort
treeModelSort'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
treeModelSort
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelSortResetDefaultSortFuncMethodInfo
instance (signature ~ (m ()), MonadIO m, IsTreeModelSort a) => O.MethodInfo TreeModelSortResetDefaultSortFuncMethodInfo a signature where
overloadedMethod = treeModelSortResetDefaultSortFunc
#endif