{-# 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.GHashTable as B.GHT
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.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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 GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Objects.ContentProvider as Gdk.ContentProvider
import qualified GI.Gtk.Callbacks as Gtk.Callbacks
import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
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
#else
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
#endif
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
$c== :: TreeModelSort -> TreeModelSort -> Bool
== :: TreeModelSort -> TreeModelSort -> Bool
$c/= :: TreeModelSort -> TreeModelSort -> Bool
/= :: 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
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 :: (MIO.MonadIO m, IsTreeModelSort o) => o -> m TreeModelSort
toTreeModelSort :: forall (m :: * -> *) o.
(MonadIO m, IsTreeModelSort o) =>
o -> m TreeModelSort
toTreeModelSort = IO TreeModelSort -> m TreeModelSort
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.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'
B.ManagedPtr.unsafeCastTo ManagedPtr TreeModelSort -> TreeModelSort
TreeModelSort
instance B.GValue.IsGValue (Maybe TreeModelSort) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_tree_model_sort_get_type
gvalueSet_ :: Ptr GValue -> Maybe TreeModelSort -> IO ()
gvalueSet_ Ptr GValue
gv Maybe TreeModelSort
P.Nothing = Ptr GValue -> Ptr TreeModelSort -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr TreeModelSort
forall a. Ptr a
FP.nullPtr :: FP.Ptr TreeModelSort)
gvalueSet_ Ptr GValue
gv (P.Just TreeModelSort
obj) = TreeModelSort -> (Ptr TreeModelSort -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TreeModelSort
obj (Ptr GValue -> Ptr TreeModelSort -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe TreeModelSort)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr TreeModelSort)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr TreeModelSort)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject TreeModelSort ptr
else return P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveTreeModelSortMethod (t :: Symbol) (o :: DK.Type) :: DK.Type 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.OverloadedMethod 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
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveTreeModelSortMethod t TreeModelSort, O.OverloadedMethod info TreeModelSort p, R.HasField t TreeModelSort p) => R.HasField t TreeModelSort p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveTreeModelSortMethod t TreeModelSort, O.OverloadedMethodInfo info TreeModelSort) => OL.IsLabel t (O.MethodProxy info TreeModelSort) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getTreeModelSortModel :: (MonadIO m, IsTreeModelSort o) => o -> m Gtk.TreeModel.TreeModel
getTreeModelSortModel :: forall (m :: * -> *) o.
(MonadIO m, IsTreeModelSort o) =>
o -> m TreeModel
getTreeModelSortModel o
obj = IO TreeModel -> m TreeModel
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.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 :: forall o (m :: * -> *) a.
(IsTreeModelSort o, MonadIO m, IsTreeModel a) =>
a -> m (GValueConstruct o)
constructTreeModelSortModel a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
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
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (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
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.TreeModelSort.model"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-TreeModelSort.html#g:attr:model"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TreeModelSort
type instance O.AttributeList TreeModelSort = TreeModelSortAttributeList
type TreeModelSortAttributeList = ('[ '("model", TreeModelSortModelPropertyInfo)] :: [(Symbol, DK.Type)])
#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, DK.Type)])
#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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModel a) =>
a -> m TreeModelSort
treeModelSortNewWithModel a
childModel = IO TreeModelSort -> m TreeModelSort
forall a. IO a -> m a
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
childModel' <- a -> IO (Ptr TreeModel)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
childModel
result <- gtk_tree_model_sort_new_with_model childModel'
checkUnexpectedReturnNULL "treeModelSortNewWithModel" result
result' <- (wrapObject TreeModelSort) result
touchManagedPtr childModel
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gtk_tree_model_sort_clear_cache" gtk_tree_model_sort_clear_cache ::
Ptr TreeModelSort ->
IO ()
{-# DEPRECATED treeModelSortClearCache ["(Since version 4.10)"] #-}
treeModelSortClearCache ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> m ()
treeModelSortClearCache :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModelSort a) =>
a -> m ()
treeModelSortClearCache a
treeModelSort = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
gtk_tree_model_sort_clear_cache treeModelSort'
touchManagedPtr treeModelSort
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelSortClearCacheMethodInfo
instance (signature ~ (m ()), MonadIO m, IsTreeModelSort a) => O.OverloadedMethod TreeModelSortClearCacheMethodInfo a signature where
overloadedMethod = treeModelSortClearCache
instance O.OverloadedMethodInfo TreeModelSortClearCacheMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.TreeModelSort.treeModelSortClearCache",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-TreeModelSort.html#v: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
{-# DEPRECATED treeModelSortConvertChildIterToIter ["(Since version 4.10)"] #-}
treeModelSortConvertChildIterToIter ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> Gtk.TreeIter.TreeIter
-> m ((Bool, Gtk.TreeIter.TreeIter))
treeModelSortConvertChildIterToIter :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModelSort a) =>
a -> TreeIter -> m (Bool, TreeIter)
treeModelSortConvertChildIterToIter a
treeModelSort TreeIter
childIter = IO (Bool, TreeIter) -> m (Bool, TreeIter)
forall a. IO a -> m a
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
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
sortIter <- SP.callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
childIter' <- unsafeManagedPtrGetPtr childIter
result <- gtk_tree_model_sort_convert_child_iter_to_iter treeModelSort' sortIter childIter'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
sortIter' <- (wrapBoxed Gtk.TreeIter.TreeIter) sortIter
touchManagedPtr treeModelSort
touchManagedPtr childIter
return (result', sortIter')
#if defined(ENABLE_OVERLOADING)
data TreeModelSortConvertChildIterToIterMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m ((Bool, Gtk.TreeIter.TreeIter))), MonadIO m, IsTreeModelSort a) => O.OverloadedMethod TreeModelSortConvertChildIterToIterMethodInfo a signature where
overloadedMethod = treeModelSortConvertChildIterToIter
instance O.OverloadedMethodInfo TreeModelSortConvertChildIterToIterMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.TreeModelSort.treeModelSortConvertChildIterToIter",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-TreeModelSort.html#v: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)
{-# DEPRECATED treeModelSortConvertChildPathToPath ["(Since version 4.10)"] #-}
treeModelSortConvertChildPathToPath ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> Gtk.TreePath.TreePath
-> m (Maybe Gtk.TreePath.TreePath)
treeModelSortConvertChildPathToPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModelSort a) =>
a -> TreePath -> m (Maybe TreePath)
treeModelSortConvertChildPathToPath a
treeModelSort TreePath
childPath = IO (Maybe TreePath) -> m (Maybe TreePath)
forall a. IO a -> m a
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
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
childPath' <- unsafeManagedPtrGetPtr childPath
result <- gtk_tree_model_sort_convert_child_path_to_path treeModelSort' childPath'
maybeResult <- convertIfNonNull result $ \Ptr TreePath
result' -> do
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'
return result''
touchManagedPtr treeModelSort
touchManagedPtr childPath
return maybeResult
#if defined(ENABLE_OVERLOADING)
data TreeModelSortConvertChildPathToPathMethodInfo
instance (signature ~ (Gtk.TreePath.TreePath -> m (Maybe Gtk.TreePath.TreePath)), MonadIO m, IsTreeModelSort a) => O.OverloadedMethod TreeModelSortConvertChildPathToPathMethodInfo a signature where
overloadedMethod = treeModelSortConvertChildPathToPath
instance O.OverloadedMethodInfo TreeModelSortConvertChildPathToPathMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.TreeModelSort.treeModelSortConvertChildPathToPath",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-TreeModelSort.html#v: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 ()
{-# DEPRECATED treeModelSortConvertIterToChildIter ["(Since version 4.10)"] #-}
treeModelSortConvertIterToChildIter ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> Gtk.TreeIter.TreeIter
-> m (Gtk.TreeIter.TreeIter)
treeModelSortConvertIterToChildIter :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModelSort a) =>
a -> TreeIter -> m TreeIter
treeModelSortConvertIterToChildIter a
treeModelSort TreeIter
sortedIter = IO TreeIter -> m TreeIter
forall a. IO a -> m a
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
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
childIter <- SP.callocBoxedBytes 32 :: IO (Ptr Gtk.TreeIter.TreeIter)
sortedIter' <- unsafeManagedPtrGetPtr sortedIter
gtk_tree_model_sort_convert_iter_to_child_iter treeModelSort' childIter sortedIter'
childIter' <- (wrapBoxed Gtk.TreeIter.TreeIter) childIter
touchManagedPtr treeModelSort
touchManagedPtr sortedIter
return childIter'
#if defined(ENABLE_OVERLOADING)
data TreeModelSortConvertIterToChildIterMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m (Gtk.TreeIter.TreeIter)), MonadIO m, IsTreeModelSort a) => O.OverloadedMethod TreeModelSortConvertIterToChildIterMethodInfo a signature where
overloadedMethod = treeModelSortConvertIterToChildIter
instance O.OverloadedMethodInfo TreeModelSortConvertIterToChildIterMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.TreeModelSort.treeModelSortConvertIterToChildIter",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-TreeModelSort.html#v: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)
{-# DEPRECATED treeModelSortConvertPathToChildPath ["(Since version 4.10)"] #-}
treeModelSortConvertPathToChildPath ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> Gtk.TreePath.TreePath
-> m (Maybe Gtk.TreePath.TreePath)
treeModelSortConvertPathToChildPath :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModelSort a) =>
a -> TreePath -> m (Maybe TreePath)
treeModelSortConvertPathToChildPath a
treeModelSort TreePath
sortedPath = IO (Maybe TreePath) -> m (Maybe TreePath)
forall a. IO a -> m a
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
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
sortedPath' <- unsafeManagedPtrGetPtr sortedPath
result <- gtk_tree_model_sort_convert_path_to_child_path treeModelSort' sortedPath'
maybeResult <- convertIfNonNull result $ \Ptr TreePath
result' -> do
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'
return result''
touchManagedPtr treeModelSort
touchManagedPtr sortedPath
return maybeResult
#if defined(ENABLE_OVERLOADING)
data TreeModelSortConvertPathToChildPathMethodInfo
instance (signature ~ (Gtk.TreePath.TreePath -> m (Maybe Gtk.TreePath.TreePath)), MonadIO m, IsTreeModelSort a) => O.OverloadedMethod TreeModelSortConvertPathToChildPathMethodInfo a signature where
overloadedMethod = treeModelSortConvertPathToChildPath
instance O.OverloadedMethodInfo TreeModelSortConvertPathToChildPathMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.TreeModelSort.treeModelSortConvertPathToChildPath",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-TreeModelSort.html#v: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 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModelSort a) =>
a -> m TreeModel
treeModelSortGetModel a
treeModel = IO TreeModel -> m TreeModel
forall a. IO a -> m a
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
treeModel' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModel
result <- gtk_tree_model_sort_get_model treeModel'
checkUnexpectedReturnNULL "treeModelSortGetModel" result
result' <- (newObject Gtk.TreeModel.TreeModel) result
touchManagedPtr treeModel
return result'
#if defined(ENABLE_OVERLOADING)
data TreeModelSortGetModelMethodInfo
instance (signature ~ (m Gtk.TreeModel.TreeModel), MonadIO m, IsTreeModelSort a) => O.OverloadedMethod TreeModelSortGetModelMethodInfo a signature where
overloadedMethod = treeModelSortGetModel
instance O.OverloadedMethodInfo TreeModelSortGetModelMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.TreeModelSort.treeModelSortGetModel",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-TreeModelSort.html#v: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
{-# DEPRECATED treeModelSortIterIsValid ["(Since version 4.10)"] #-}
treeModelSortIterIsValid ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> Gtk.TreeIter.TreeIter
-> m Bool
treeModelSortIterIsValid :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModelSort a) =>
a -> TreeIter -> m Bool
treeModelSortIterIsValid a
treeModelSort TreeIter
iter = IO Bool -> m Bool
forall a. IO a -> m a
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
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
iter' <- unsafeManagedPtrGetPtr iter
result <- gtk_tree_model_sort_iter_is_valid treeModelSort' iter'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr treeModelSort
touchManagedPtr iter
return result'
#if defined(ENABLE_OVERLOADING)
data TreeModelSortIterIsValidMethodInfo
instance (signature ~ (Gtk.TreeIter.TreeIter -> m Bool), MonadIO m, IsTreeModelSort a) => O.OverloadedMethod TreeModelSortIterIsValidMethodInfo a signature where
overloadedMethod = treeModelSortIterIsValid
instance O.OverloadedMethodInfo TreeModelSortIterIsValidMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.TreeModelSort.treeModelSortIterIsValid",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-TreeModelSort.html#v:treeModelSortIterIsValid"
})
#endif
foreign import ccall "gtk_tree_model_sort_reset_default_sort_func" gtk_tree_model_sort_reset_default_sort_func ::
Ptr TreeModelSort ->
IO ()
{-# DEPRECATED treeModelSortResetDefaultSortFunc ["(Since version 4.10)"] #-}
treeModelSortResetDefaultSortFunc ::
(B.CallStack.HasCallStack, MonadIO m, IsTreeModelSort a) =>
a
-> m ()
treeModelSortResetDefaultSortFunc :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTreeModelSort a) =>
a -> m ()
treeModelSortResetDefaultSortFunc a
treeModelSort = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
treeModelSort' <- a -> IO (Ptr TreeModelSort)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
treeModelSort
gtk_tree_model_sort_reset_default_sort_func treeModelSort'
touchManagedPtr treeModelSort
return ()
#if defined(ENABLE_OVERLOADING)
data TreeModelSortResetDefaultSortFuncMethodInfo
instance (signature ~ (m ()), MonadIO m, IsTreeModelSort a) => O.OverloadedMethod TreeModelSortResetDefaultSortFuncMethodInfo a signature where
overloadedMethod = treeModelSortResetDefaultSortFunc
instance O.OverloadedMethodInfo TreeModelSortResetDefaultSortFuncMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.TreeModelSort.treeModelSortResetDefaultSortFunc",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk4-4.0.12/docs/GI-Gtk-Objects-TreeModelSort.html#v:treeModelSortResetDefaultSortFunc"
})
#endif