{-# LINE 2 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
module Graphics.UI.Gtk.ModelView.TreeModelFilter (
TreeModelFilter,
TypedTreeModelFilter,
TreeModelFilterClass,
castToTreeModelFilter, gTypeTreeModelFilter,
toTreeModelFilter,
treeModelFilterNew,
treeModelFilterSetVisibleFunc,
treeModelFilterSetVisibleColumn,
treeModelFilterGetModel,
treeModelFilterConvertChildIterToIter,
treeModelFilterConvertIterToChildIter,
treeModelFilterConvertChildPathToPath,
treeModelFilterConvertPathToChildPath,
treeModelFilterRefilter,
treeModelFilterClearCache,
treeModelFilterChildModel,
treeModelFilterVirtualRoot,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Types
{-# LINE 90 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
import Graphics.UI.Gtk.ModelView.TreeModel
{-# LINE 91 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
import Graphics.UI.Gtk.ModelView.Types
{-# LINE 92 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
{-# LINE 94 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
instance TreeModelClass (TypedTreeModelFilter a)
instance TreeModelFilterClass (TypedTreeModelFilter a)
instance GObjectClass (TypedTreeModelFilter a) where
toGObject :: TypedTreeModelFilter a -> GObject
toGObject (TypedTreeModelFilter ForeignPtr (TypedTreeModelFilter a)
tm) = ForeignPtr GObject -> GObject
GObject (ForeignPtr (TypedTreeModelFilter a) -> ForeignPtr GObject
forall a b. ForeignPtr a -> ForeignPtr b
castForeignPtr ForeignPtr (TypedTreeModelFilter a)
tm)
unsafeCastGObject :: GObject -> TypedTreeModelFilter a
unsafeCastGObject = ForeignPtr (TypedTreeModelFilter a) -> TypedTreeModelFilter a
forall row.
ForeignPtr (TypedTreeModelFilter row) -> TypedTreeModelFilter row
TypedTreeModelFilter (ForeignPtr (TypedTreeModelFilter a) -> TypedTreeModelFilter a)
-> (GObject -> ForeignPtr (TypedTreeModelFilter a))
-> GObject
-> TypedTreeModelFilter a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ForeignPtr GObject -> ForeignPtr (TypedTreeModelFilter a)
forall a b. ForeignPtr a -> ForeignPtr b
castForeignPtr (ForeignPtr GObject -> ForeignPtr (TypedTreeModelFilter a))
-> (GObject -> ForeignPtr GObject)
-> GObject
-> ForeignPtr (TypedTreeModelFilter a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. GObject -> ForeignPtr GObject
unGObject
treeModelFilterNew :: (TreeModelClass (childModel row),
TypedTreeModelClass childModel) =>
childModel row
-> TreePath
-> IO (TypedTreeModelFilter row)
treeModelFilterNew :: forall (childModel :: * -> *) row.
(TreeModelClass (childModel row),
TypedTreeModelClass childModel) =>
childModel row -> TreePath -> IO (TypedTreeModelFilter row)
treeModelFilterNew childModel row
childModel [] =
(TreeModelFilter -> TypedTreeModelFilter row)
-> IO TreeModelFilter -> IO (TypedTreeModelFilter row)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM TreeModelFilter -> TypedTreeModelFilter row
forall row. TreeModelFilter -> TypedTreeModelFilter row
unsafeTreeModelFilterToGeneric (IO TreeModelFilter -> IO (TypedTreeModelFilter row))
-> IO TreeModelFilter -> IO (TypedTreeModelFilter row)
forall a b. (a -> b) -> a -> b
$
(ForeignPtr TreeModelFilter -> TreeModelFilter,
FinalizerPtr TreeModelFilter)
-> IO (Ptr TreeModelFilter) -> IO TreeModelFilter
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
wrapNewGObject (ForeignPtr TreeModelFilter -> TreeModelFilter,
FinalizerPtr TreeModelFilter)
forall {a}.
(ForeignPtr TreeModelFilter -> TreeModelFilter, FinalizerPtr a)
mkTreeModelFilter (IO (Ptr TreeModelFilter) -> IO TreeModelFilter)
-> IO (Ptr TreeModelFilter) -> IO TreeModelFilter
forall a b. (a -> b) -> a -> b
$
(Ptr TreeModel -> Ptr TreeModelFilter)
-> IO (Ptr TreeModel) -> IO (Ptr TreeModelFilter)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr TreeModel -> Ptr TreeModelFilter
forall a b. Ptr a -> Ptr b
castPtr :: Ptr TreeModel -> Ptr TreeModelFilter) (IO (Ptr TreeModel) -> IO (Ptr TreeModelFilter))
-> IO (Ptr TreeModel) -> IO (Ptr TreeModelFilter)
forall a b. (a -> b) -> a -> b
$
(\(TreeModel ForeignPtr TreeModel
arg1) (NativeTreePath Ptr NativeTreePath
arg2) -> ForeignPtr TreeModel
-> (Ptr TreeModel -> IO (Ptr TreeModel)) -> IO (Ptr TreeModel)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModel
arg1 ((Ptr TreeModel -> IO (Ptr TreeModel)) -> IO (Ptr TreeModel))
-> (Ptr TreeModel -> IO (Ptr TreeModel)) -> IO (Ptr TreeModel)
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModel
argPtr1 ->Ptr TreeModel -> Ptr NativeTreePath -> IO (Ptr TreeModel)
gtk_tree_model_filter_new Ptr TreeModel
argPtr1 Ptr NativeTreePath
arg2)
{-# LINE 122 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModel childModel)
(Ptr NativeTreePath -> NativeTreePath
NativeTreePath Ptr NativeTreePath
forall a. Ptr a
nullPtr)
treeModelFilterNew childModel row
childModel TreePath
root =
(TreeModelFilter -> TypedTreeModelFilter row)
-> IO TreeModelFilter -> IO (TypedTreeModelFilter row)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM TreeModelFilter -> TypedTreeModelFilter row
forall row. TreeModelFilter -> TypedTreeModelFilter row
unsafeTreeModelFilterToGeneric (IO TreeModelFilter -> IO (TypedTreeModelFilter row))
-> IO TreeModelFilter -> IO (TypedTreeModelFilter row)
forall a b. (a -> b) -> a -> b
$
(ForeignPtr TreeModelFilter -> TreeModelFilter,
FinalizerPtr TreeModelFilter)
-> IO (Ptr TreeModelFilter) -> IO TreeModelFilter
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
wrapNewGObject (ForeignPtr TreeModelFilter -> TreeModelFilter,
FinalizerPtr TreeModelFilter)
forall {a}.
(ForeignPtr TreeModelFilter -> TreeModelFilter, FinalizerPtr a)
mkTreeModelFilter (IO (Ptr TreeModelFilter) -> IO TreeModelFilter)
-> IO (Ptr TreeModelFilter) -> IO TreeModelFilter
forall a b. (a -> b) -> a -> b
$
(Ptr TreeModel -> Ptr TreeModelFilter)
-> IO (Ptr TreeModel) -> IO (Ptr TreeModelFilter)
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM (Ptr TreeModel -> Ptr TreeModelFilter
forall a b. Ptr a -> Ptr b
castPtr :: Ptr TreeModel -> Ptr TreeModelFilter) (IO (Ptr TreeModel) -> IO (Ptr TreeModelFilter))
-> IO (Ptr TreeModel) -> IO (Ptr TreeModelFilter)
forall a b. (a -> b) -> a -> b
$
TreePath
-> (NativeTreePath -> IO (Ptr TreeModel)) -> IO (Ptr TreeModel)
forall a. TreePath -> (NativeTreePath -> IO a) -> IO a
withTreePath TreePath
root ((NativeTreePath -> IO (Ptr TreeModel)) -> IO (Ptr TreeModel))
-> (NativeTreePath -> IO (Ptr TreeModel)) -> IO (Ptr TreeModel)
forall a b. (a -> b) -> a -> b
$ \NativeTreePath
root ->
(\(TreeModel ForeignPtr TreeModel
arg1) (NativeTreePath Ptr NativeTreePath
arg2) -> ForeignPtr TreeModel
-> (Ptr TreeModel -> IO (Ptr TreeModel)) -> IO (Ptr TreeModel)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModel
arg1 ((Ptr TreeModel -> IO (Ptr TreeModel)) -> IO (Ptr TreeModel))
-> (Ptr TreeModel -> IO (Ptr TreeModel)) -> IO (Ptr TreeModel)
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModel
argPtr1 ->Ptr TreeModel -> Ptr NativeTreePath -> IO (Ptr TreeModel)
gtk_tree_model_filter_new Ptr TreeModel
argPtr1 Ptr NativeTreePath
arg2)
{-# LINE 130 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModel childModel)
NativeTreePath
root
treeModelFilterSetVisibleFunc :: TreeModelFilterClass self => self
-> (TreeIter -> IO Bool)
-> IO ()
treeModelFilterSetVisibleFunc :: forall self.
TreeModelFilterClass self =>
self -> (TreeIter -> IO Bool) -> IO ()
treeModelFilterSetVisibleFunc self
self TreeIter -> IO Bool
func = do
TreeModelFilterVisibleFunc
funcPtr <- (Ptr TreeModel -> Ptr TreeIter -> Ptr () -> IO CInt)
-> IO TreeModelFilterVisibleFunc
mkTreeModelFilterVisibleFunc ((Ptr TreeModel -> Ptr TreeIter -> Ptr () -> IO CInt)
-> IO TreeModelFilterVisibleFunc)
-> (Ptr TreeModel -> Ptr TreeIter -> Ptr () -> IO CInt)
-> IO TreeModelFilterVisibleFunc
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModel
_ Ptr TreeIter
tiPtr Ptr ()
_ -> do
TreeIter
ti <- Ptr TreeIter -> IO TreeIter
peekTreeIter Ptr TreeIter
tiPtr
(Bool -> CInt) -> IO Bool -> IO CInt
forall (m :: * -> *) a1 r. Monad m => (a1 -> r) -> m a1 -> m r
liftM Bool -> CInt
forall a. Num a => Bool -> a
fromBool (IO Bool -> IO CInt) -> IO Bool -> IO CInt
forall a b. (a -> b) -> a -> b
$ TreeIter -> IO Bool
func TreeIter
ti
(\(TreeModelFilter ForeignPtr TreeModelFilter
arg1) TreeModelFilterVisibleFunc
arg2 Ptr ()
arg3 FunPtr (Ptr () -> IO ())
arg4 -> ForeignPtr TreeModelFilter
-> (Ptr TreeModelFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModelFilter
arg1 ((Ptr TreeModelFilter -> IO ()) -> IO ())
-> (Ptr TreeModelFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModelFilter
argPtr1 ->Ptr TreeModelFilter
-> TreeModelFilterVisibleFunc
-> Ptr ()
-> FunPtr (Ptr () -> IO ())
-> IO ()
gtk_tree_model_filter_set_visible_func Ptr TreeModelFilter
argPtr1 TreeModelFilterVisibleFunc
arg2 Ptr ()
arg3 FunPtr (Ptr () -> IO ())
arg4)
{-# LINE 158 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModelFilter self) TreeModelFilterVisibleFunc
funcPtr (TreeModelFilterVisibleFunc -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr TreeModelFilterVisibleFunc
funcPtr) FunPtr (Ptr () -> IO ())
destroyFunPtr
type TreeModelFilterVisibleFunc = FunPtr (((Ptr TreeModel) -> ((Ptr TreeIter) -> ((Ptr ()) -> (IO CInt)))))
{-# LINE 161 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
foreign import ccall "wrapper" mkTreeModelFilterVisibleFunc ::
(Ptr TreeModel -> Ptr TreeIter -> Ptr () -> IO (CInt)) ->
IO TreeModelFilterVisibleFunc
treeModelFilterSetVisibleColumn ::
(TreeModelFilterClass (self row),
TypedTreeModelClass self)
=> self row
-> ColumnId row Bool
-> IO ()
treeModelFilterSetVisibleColumn :: forall (self :: * -> *) row.
(TreeModelFilterClass (self row), TypedTreeModelClass self) =>
self row -> ColumnId row Bool -> IO ()
treeModelFilterSetVisibleColumn self row
self ColumnId row Bool
col =
(\(TreeModelFilter ForeignPtr TreeModelFilter
arg1) CInt
arg2 -> ForeignPtr TreeModelFilter
-> (Ptr TreeModelFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModelFilter
arg1 ((Ptr TreeModelFilter -> IO ()) -> IO ())
-> (Ptr TreeModelFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModelFilter
argPtr1 ->Ptr TreeModelFilter -> CInt -> IO ()
gtk_tree_model_filter_set_visible_column Ptr TreeModelFilter
argPtr1 CInt
arg2)
{-# LINE 180 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModelFilter self)
((Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt)
-> (ColumnId row Bool -> Int) -> ColumnId row Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ColumnId row Bool -> Int
forall row ty. ColumnId row ty -> Int
columnIdToNumber) ColumnId row Bool
col)
treeModelFilterGetModel :: TreeModelFilterClass self => self
-> IO (Maybe TreeModel)
treeModelFilterGetModel :: forall self.
TreeModelFilterClass self =>
self -> IO (Maybe TreeModel)
treeModelFilterGetModel self
self =
(IO (Ptr TreeModel) -> IO TreeModel)
-> IO (Ptr TreeModel) -> IO (Maybe TreeModel)
forall a. (IO (Ptr a) -> IO a) -> IO (Ptr a) -> IO (Maybe a)
maybeNull ((ForeignPtr TreeModel -> TreeModel, FinalizerPtr TreeModel)
-> IO (Ptr TreeModel) -> IO TreeModel
forall obj.
GObjectClass obj =>
(ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
makeNewGObject (ForeignPtr TreeModel -> TreeModel, FinalizerPtr TreeModel)
forall {a}. (ForeignPtr TreeModel -> TreeModel, FinalizerPtr a)
mkTreeModel) (IO (Ptr TreeModel) -> IO (Maybe TreeModel))
-> IO (Ptr TreeModel) -> IO (Maybe TreeModel)
forall a b. (a -> b) -> a -> b
$
(\(TreeModelFilter ForeignPtr TreeModelFilter
arg1) -> ForeignPtr TreeModelFilter
-> (Ptr TreeModelFilter -> IO (Ptr TreeModel))
-> IO (Ptr TreeModel)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModelFilter
arg1 ((Ptr TreeModelFilter -> IO (Ptr TreeModel)) -> IO (Ptr TreeModel))
-> (Ptr TreeModelFilter -> IO (Ptr TreeModel))
-> IO (Ptr TreeModel)
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModelFilter
argPtr1 ->Ptr TreeModelFilter -> IO (Ptr TreeModel)
gtk_tree_model_filter_get_model Ptr TreeModelFilter
argPtr1)
{-# LINE 191 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModelFilter self)
treeModelFilterConvertChildIterToIter :: TreeModelFilterClass self => self
-> TreeIter
-> IO TreeIter
treeModelFilterConvertChildIterToIter :: forall self.
TreeModelFilterClass self =>
self -> TreeIter -> IO TreeIter
treeModelFilterConvertChildIterToIter self
self TreeIter
childIter =
TreeIter -> (Ptr TreeIter -> IO TreeIter) -> IO TreeIter
forall a b. Storable a => a -> (Ptr a -> IO b) -> IO b
with TreeIter
childIter ((Ptr TreeIter -> IO TreeIter) -> IO TreeIter)
-> (Ptr TreeIter -> IO TreeIter) -> IO TreeIter
forall a b. (a -> b) -> a -> b
$ \Ptr TreeIter
childIterPtr ->
(Ptr TreeIter -> IO TreeIter) -> IO TreeIter
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr TreeIter -> IO TreeIter) -> IO TreeIter)
-> (Ptr TreeIter -> IO TreeIter) -> IO TreeIter
forall a b. (a -> b) -> a -> b
$ \Ptr TreeIter
filterIterPtr -> do
(\(TreeModelFilter ForeignPtr TreeModelFilter
arg1) Ptr TreeIter
arg2 Ptr TreeIter
arg3 -> ForeignPtr TreeModelFilter
-> (Ptr TreeModelFilter -> IO CInt) -> IO CInt
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModelFilter
arg1 ((Ptr TreeModelFilter -> IO CInt) -> IO CInt)
-> (Ptr TreeModelFilter -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModelFilter
argPtr1 ->Ptr TreeModelFilter -> Ptr TreeIter -> Ptr TreeIter -> IO CInt
gtk_tree_model_filter_convert_child_iter_to_iter Ptr TreeModelFilter
argPtr1 Ptr TreeIter
arg2 Ptr TreeIter
arg3)
{-# LINE 204 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModelFilter self)
Ptr TreeIter
filterIterPtr
Ptr TreeIter
childIterPtr
Ptr TreeIter -> IO TreeIter
forall a. Storable a => Ptr a -> IO a
peek Ptr TreeIter
filterIterPtr
treeModelFilterConvertIterToChildIter :: TreeModelFilterClass self => self
-> TreeIter
-> IO TreeIter
treeModelFilterConvertIterToChildIter :: forall self.
TreeModelFilterClass self =>
self -> TreeIter -> IO TreeIter
treeModelFilterConvertIterToChildIter self
self TreeIter
filteredIter =
TreeIter -> (Ptr TreeIter -> IO TreeIter) -> IO TreeIter
forall a b. Storable a => a -> (Ptr a -> IO b) -> IO b
with TreeIter
filteredIter ((Ptr TreeIter -> IO TreeIter) -> IO TreeIter)
-> (Ptr TreeIter -> IO TreeIter) -> IO TreeIter
forall a b. (a -> b) -> a -> b
$ \Ptr TreeIter
filteredIterPtr ->
(Ptr TreeIter -> IO TreeIter) -> IO TreeIter
forall a b. Storable a => (Ptr a -> IO b) -> IO b
alloca ((Ptr TreeIter -> IO TreeIter) -> IO TreeIter)
-> (Ptr TreeIter -> IO TreeIter) -> IO TreeIter
forall a b. (a -> b) -> a -> b
$ \Ptr TreeIter
childIterPtr -> do
(\(TreeModelFilter ForeignPtr TreeModelFilter
arg1) Ptr TreeIter
arg2 Ptr TreeIter
arg3 -> ForeignPtr TreeModelFilter
-> (Ptr TreeModelFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModelFilter
arg1 ((Ptr TreeModelFilter -> IO ()) -> IO ())
-> (Ptr TreeModelFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModelFilter
argPtr1 ->Ptr TreeModelFilter -> Ptr TreeIter -> Ptr TreeIter -> IO ()
gtk_tree_model_filter_convert_iter_to_child_iter Ptr TreeModelFilter
argPtr1 Ptr TreeIter
arg2 Ptr TreeIter
arg3)
{-# LINE 220 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModelFilter self)
Ptr TreeIter
childIterPtr
Ptr TreeIter
filteredIterPtr
Ptr TreeIter -> IO TreeIter
forall a. Storable a => Ptr a -> IO a
peek Ptr TreeIter
childIterPtr
treeModelFilterConvertChildPathToPath :: TreeModelFilterClass self => self
-> TreePath
-> IO TreePath
treeModelFilterConvertChildPathToPath :: forall self.
TreeModelFilterClass self =>
self -> TreePath -> IO TreePath
treeModelFilterConvertChildPathToPath self
self [] = TreePath -> IO TreePath
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return []
treeModelFilterConvertChildPathToPath self
self TreePath
childPath =
TreePath -> (NativeTreePath -> IO TreePath) -> IO TreePath
forall a. TreePath -> (NativeTreePath -> IO a) -> IO a
withTreePath TreePath
childPath ((NativeTreePath -> IO TreePath) -> IO TreePath)
-> (NativeTreePath -> IO TreePath) -> IO TreePath
forall a b. (a -> b) -> a -> b
$ \NativeTreePath
childPath ->
(\(TreeModelFilter ForeignPtr TreeModelFilter
arg1) (NativeTreePath Ptr NativeTreePath
arg2) -> ForeignPtr TreeModelFilter
-> (Ptr TreeModelFilter -> IO (Ptr NativeTreePath))
-> IO (Ptr NativeTreePath)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModelFilter
arg1 ((Ptr TreeModelFilter -> IO (Ptr NativeTreePath))
-> IO (Ptr NativeTreePath))
-> (Ptr TreeModelFilter -> IO (Ptr NativeTreePath))
-> IO (Ptr NativeTreePath)
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModelFilter
argPtr1 ->Ptr TreeModelFilter
-> Ptr NativeTreePath -> IO (Ptr NativeTreePath)
gtk_tree_model_filter_convert_child_path_to_path Ptr TreeModelFilter
argPtr1 Ptr NativeTreePath
arg2)
{-# LINE 238 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModelFilter self)
NativeTreePath
childPath
IO (Ptr NativeTreePath)
-> (Ptr NativeTreePath -> IO TreePath) -> IO TreePath
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Ptr NativeTreePath -> IO TreePath
fromTreePath
treeModelFilterConvertPathToChildPath :: TreeModelFilterClass self => self
-> TreePath
-> IO TreePath
treeModelFilterConvertPathToChildPath :: forall self.
TreeModelFilterClass self =>
self -> TreePath -> IO TreePath
treeModelFilterConvertPathToChildPath self
self [] = TreePath -> IO TreePath
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return []
treeModelFilterConvertPathToChildPath self
self TreePath
filteredPath =
TreePath -> (NativeTreePath -> IO TreePath) -> IO TreePath
forall a. TreePath -> (NativeTreePath -> IO a) -> IO a
withTreePath TreePath
filteredPath ((NativeTreePath -> IO TreePath) -> IO TreePath)
-> (NativeTreePath -> IO TreePath) -> IO TreePath
forall a b. (a -> b) -> a -> b
$ \NativeTreePath
filteredPath ->
(\(TreeModelFilter ForeignPtr TreeModelFilter
arg1) (NativeTreePath Ptr NativeTreePath
arg2) -> ForeignPtr TreeModelFilter
-> (Ptr TreeModelFilter -> IO (Ptr NativeTreePath))
-> IO (Ptr NativeTreePath)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModelFilter
arg1 ((Ptr TreeModelFilter -> IO (Ptr NativeTreePath))
-> IO (Ptr NativeTreePath))
-> (Ptr TreeModelFilter -> IO (Ptr NativeTreePath))
-> IO (Ptr NativeTreePath)
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModelFilter
argPtr1 ->Ptr TreeModelFilter
-> Ptr NativeTreePath -> IO (Ptr NativeTreePath)
gtk_tree_model_filter_convert_path_to_child_path Ptr TreeModelFilter
argPtr1 Ptr NativeTreePath
arg2)
{-# LINE 255 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModelFilter self)
NativeTreePath
filteredPath
IO (Ptr NativeTreePath)
-> (Ptr NativeTreePath -> IO TreePath) -> IO TreePath
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= Ptr NativeTreePath -> IO TreePath
fromTreePath
treeModelFilterRefilter :: TreeModelFilterClass self => self -> IO ()
treeModelFilterRefilter :: forall self. TreeModelFilterClass self => self -> IO ()
treeModelFilterRefilter self
self =
(\(TreeModelFilter ForeignPtr TreeModelFilter
arg1) -> ForeignPtr TreeModelFilter
-> (Ptr TreeModelFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModelFilter
arg1 ((Ptr TreeModelFilter -> IO ()) -> IO ())
-> (Ptr TreeModelFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModelFilter
argPtr1 ->Ptr TreeModelFilter -> IO ()
gtk_tree_model_filter_refilter Ptr TreeModelFilter
argPtr1)
{-# LINE 266 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModelFilter self)
treeModelFilterClearCache :: TreeModelFilterClass self
=> self
-> IO ()
treeModelFilterClearCache :: forall self. TreeModelFilterClass self => self -> IO ()
treeModelFilterClearCache self
self =
(\(TreeModelFilter ForeignPtr TreeModelFilter
arg1) -> ForeignPtr TreeModelFilter
-> (Ptr TreeModelFilter -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr TreeModelFilter
arg1 ((Ptr TreeModelFilter -> IO ()) -> IO ())
-> (Ptr TreeModelFilter -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr TreeModelFilter
argPtr1 ->Ptr TreeModelFilter -> IO ()
gtk_tree_model_filter_clear_cache Ptr TreeModelFilter
argPtr1)
{-# LINE 280 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
(toTreeModelFilter self)
treeModelFilterChildModel :: TreeModelFilterClass self => ReadAttr self TreeModel
treeModelFilterChildModel :: forall self. TreeModelFilterClass self => ReadAttr self TreeModel
treeModelFilterChildModel = String -> GType -> ReadAttr self TreeModel
forall gobj gobj'.
(GObjectClass gobj, GObjectClass gobj') =>
String -> GType -> ReadAttr gobj gobj'
readAttrFromObjectProperty String
"child-model"
GType
gtk_tree_model_get_type
{-# LINE 291 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
treeModelFilterVirtualRoot :: TreeModelFilterClass self => ReadAttr self TreePath
treeModelFilterVirtualRoot :: forall self. TreeModelFilterClass self => ReadAttr self TreePath
treeModelFilterVirtualRoot = (Ptr TreePath -> IO TreePath)
-> String -> GType -> ReadAttr self TreePath
forall gobj boxed.
GObjectClass gobj =>
(Ptr boxed -> IO boxed) -> String -> GType -> ReadAttr gobj boxed
readAttrFromBoxedOpaqueProperty (Ptr NativeTreePath -> IO TreePath
peekTreePath (Ptr NativeTreePath -> IO TreePath)
-> (Ptr TreePath -> Ptr NativeTreePath)
-> Ptr TreePath
-> IO TreePath
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Ptr TreePath -> Ptr NativeTreePath
forall a b. Ptr a -> Ptr b
castPtr)
String
"virtual-root"
GType
gtk_tree_path_get_type
{-# LINE 299 "./Graphics/UI/Gtk/ModelView/TreeModelFilter.chs" #-}
foreign import ccall safe "gtk_tree_model_filter_new"
gtk_tree_model_filter_new :: ((Ptr TreeModel) -> ((Ptr NativeTreePath) -> (IO (Ptr TreeModel))))
foreign import ccall safe "gtk_tree_model_filter_set_visible_func"
gtk_tree_model_filter_set_visible_func :: ((Ptr TreeModelFilter) -> ((FunPtr ((Ptr TreeModel) -> ((Ptr TreeIter) -> ((Ptr ()) -> (IO CInt))))) -> ((Ptr ()) -> ((FunPtr ((Ptr ()) -> (IO ()))) -> (IO ())))))
foreign import ccall safe "gtk_tree_model_filter_set_visible_column"
gtk_tree_model_filter_set_visible_column :: ((Ptr TreeModelFilter) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_tree_model_filter_get_model"
gtk_tree_model_filter_get_model :: ((Ptr TreeModelFilter) -> (IO (Ptr TreeModel)))
foreign import ccall safe "gtk_tree_model_filter_convert_child_iter_to_iter"
gtk_tree_model_filter_convert_child_iter_to_iter :: ((Ptr TreeModelFilter) -> ((Ptr TreeIter) -> ((Ptr TreeIter) -> (IO CInt))))
foreign import ccall safe "gtk_tree_model_filter_convert_iter_to_child_iter"
gtk_tree_model_filter_convert_iter_to_child_iter :: ((Ptr TreeModelFilter) -> ((Ptr TreeIter) -> ((Ptr TreeIter) -> (IO ()))))
foreign import ccall unsafe "gtk_tree_model_filter_convert_child_path_to_path"
gtk_tree_model_filter_convert_child_path_to_path :: ((Ptr TreeModelFilter) -> ((Ptr NativeTreePath) -> (IO (Ptr NativeTreePath))))
foreign import ccall safe "gtk_tree_model_filter_convert_path_to_child_path"
gtk_tree_model_filter_convert_path_to_child_path :: ((Ptr TreeModelFilter) -> ((Ptr NativeTreePath) -> (IO (Ptr NativeTreePath))))
foreign import ccall safe "gtk_tree_model_filter_refilter"
gtk_tree_model_filter_refilter :: ((Ptr TreeModelFilter) -> (IO ()))
foreign import ccall safe "gtk_tree_model_filter_clear_cache"
gtk_tree_model_filter_clear_cache :: ((Ptr TreeModelFilter) -> (IO ()))
foreign import ccall unsafe "gtk_tree_model_get_type"
gtk_tree_model_get_type :: CULong
foreign import ccall unsafe "gtk_tree_path_get_type"
gtk_tree_path_get_type :: CULong