gi-gtk-3.0.28: GI/Gtk/Structs/WidgetPath.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
GtkWidgetPath is a boxed type that represents a widget hierarchy from
the topmost widget, typically a toplevel, to any child. This widget
path abstraction is used in 'GI.Gtk.Objects.StyleContext.StyleContext' on behalf of the real
widget in order to query style information.
If you are using GTK+ widgets, you probably will not need to use
this API directly, as there is 'GI.Gtk.Objects.Widget.widgetGetPath', and the style
context returned by 'GI.Gtk.Objects.Widget.widgetGetStyleContext' will be automatically
updated on widget hierarchy changes.
The widget path generation is generally simple:
== Defining a button within a window
=== /C code/
>
>{
> GtkWidgetPath *path;
>
> path = gtk_widget_path_new ();
> gtk_widget_path_append_type (path, GTK_TYPE_WINDOW);
> gtk_widget_path_append_type (path, GTK_TYPE_BUTTON);
>}
Although more complex information, such as widget names, or
different classes (property that may be used by other widget
types) and intermediate regions may be included:
== Defining the first tab widget in a notebook
=== /C code/
>
>{
> GtkWidgetPath *path;
> guint pos;
>
> path = gtk_widget_path_new ();
>
> pos = gtk_widget_path_append_type (path, GTK_TYPE_NOTEBOOK);
> gtk_widget_path_iter_add_region (path, pos, "tab", GTK_REGION_EVEN | GTK_REGION_FIRST);
>
> pos = gtk_widget_path_append_type (path, GTK_TYPE_LABEL);
> gtk_widget_path_iter_set_name (path, pos, "first tab label");
>}
All this information will be used to match the style information
that applies to the described widget.
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gtk.Structs.WidgetPath
(
-- * Exported types
WidgetPath(..) ,
noWidgetPath ,
-- * Methods
-- ** appendForWidget #method:appendForWidget#
#if ENABLE_OVERLOADING
WidgetPathAppendForWidgetMethodInfo ,
#endif
widgetPathAppendForWidget ,
-- ** appendType #method:appendType#
#if ENABLE_OVERLOADING
WidgetPathAppendTypeMethodInfo ,
#endif
widgetPathAppendType ,
-- ** appendWithSiblings #method:appendWithSiblings#
#if ENABLE_OVERLOADING
WidgetPathAppendWithSiblingsMethodInfo ,
#endif
widgetPathAppendWithSiblings ,
-- ** copy #method:copy#
#if ENABLE_OVERLOADING
WidgetPathCopyMethodInfo ,
#endif
widgetPathCopy ,
-- ** free #method:free#
#if ENABLE_OVERLOADING
WidgetPathFreeMethodInfo ,
#endif
widgetPathFree ,
-- ** getObjectType #method:getObjectType#
#if ENABLE_OVERLOADING
WidgetPathGetObjectTypeMethodInfo ,
#endif
widgetPathGetObjectType ,
-- ** hasParent #method:hasParent#
#if ENABLE_OVERLOADING
WidgetPathHasParentMethodInfo ,
#endif
widgetPathHasParent ,
-- ** isType #method:isType#
#if ENABLE_OVERLOADING
WidgetPathIsTypeMethodInfo ,
#endif
widgetPathIsType ,
-- ** iterAddClass #method:iterAddClass#
#if ENABLE_OVERLOADING
WidgetPathIterAddClassMethodInfo ,
#endif
widgetPathIterAddClass ,
-- ** iterAddRegion #method:iterAddRegion#
#if ENABLE_OVERLOADING
WidgetPathIterAddRegionMethodInfo ,
#endif
widgetPathIterAddRegion ,
-- ** iterClearClasses #method:iterClearClasses#
#if ENABLE_OVERLOADING
WidgetPathIterClearClassesMethodInfo ,
#endif
widgetPathIterClearClasses ,
-- ** iterClearRegions #method:iterClearRegions#
#if ENABLE_OVERLOADING
WidgetPathIterClearRegionsMethodInfo ,
#endif
widgetPathIterClearRegions ,
-- ** iterGetName #method:iterGetName#
#if ENABLE_OVERLOADING
WidgetPathIterGetNameMethodInfo ,
#endif
widgetPathIterGetName ,
-- ** iterGetObjectName #method:iterGetObjectName#
#if ENABLE_OVERLOADING
WidgetPathIterGetObjectNameMethodInfo ,
#endif
widgetPathIterGetObjectName ,
-- ** iterGetObjectType #method:iterGetObjectType#
#if ENABLE_OVERLOADING
WidgetPathIterGetObjectTypeMethodInfo ,
#endif
widgetPathIterGetObjectType ,
-- ** iterGetSiblingIndex #method:iterGetSiblingIndex#
#if ENABLE_OVERLOADING
WidgetPathIterGetSiblingIndexMethodInfo ,
#endif
widgetPathIterGetSiblingIndex ,
-- ** iterGetSiblings #method:iterGetSiblings#
#if ENABLE_OVERLOADING
WidgetPathIterGetSiblingsMethodInfo ,
#endif
widgetPathIterGetSiblings ,
-- ** iterGetState #method:iterGetState#
#if ENABLE_OVERLOADING
WidgetPathIterGetStateMethodInfo ,
#endif
widgetPathIterGetState ,
-- ** iterHasClass #method:iterHasClass#
#if ENABLE_OVERLOADING
WidgetPathIterHasClassMethodInfo ,
#endif
widgetPathIterHasClass ,
-- ** iterHasName #method:iterHasName#
#if ENABLE_OVERLOADING
WidgetPathIterHasNameMethodInfo ,
#endif
widgetPathIterHasName ,
-- ** iterHasQclass #method:iterHasQclass#
#if ENABLE_OVERLOADING
WidgetPathIterHasQclassMethodInfo ,
#endif
widgetPathIterHasQclass ,
-- ** iterHasQname #method:iterHasQname#
#if ENABLE_OVERLOADING
WidgetPathIterHasQnameMethodInfo ,
#endif
widgetPathIterHasQname ,
-- ** iterHasQregion #method:iterHasQregion#
#if ENABLE_OVERLOADING
WidgetPathIterHasQregionMethodInfo ,
#endif
widgetPathIterHasQregion ,
-- ** iterHasRegion #method:iterHasRegion#
#if ENABLE_OVERLOADING
WidgetPathIterHasRegionMethodInfo ,
#endif
widgetPathIterHasRegion ,
-- ** iterListClasses #method:iterListClasses#
#if ENABLE_OVERLOADING
WidgetPathIterListClassesMethodInfo ,
#endif
widgetPathIterListClasses ,
-- ** iterListRegions #method:iterListRegions#
#if ENABLE_OVERLOADING
WidgetPathIterListRegionsMethodInfo ,
#endif
widgetPathIterListRegions ,
-- ** iterRemoveClass #method:iterRemoveClass#
#if ENABLE_OVERLOADING
WidgetPathIterRemoveClassMethodInfo ,
#endif
widgetPathIterRemoveClass ,
-- ** iterRemoveRegion #method:iterRemoveRegion#
#if ENABLE_OVERLOADING
WidgetPathIterRemoveRegionMethodInfo ,
#endif
widgetPathIterRemoveRegion ,
-- ** iterSetName #method:iterSetName#
#if ENABLE_OVERLOADING
WidgetPathIterSetNameMethodInfo ,
#endif
widgetPathIterSetName ,
-- ** iterSetObjectName #method:iterSetObjectName#
#if ENABLE_OVERLOADING
WidgetPathIterSetObjectNameMethodInfo ,
#endif
widgetPathIterSetObjectName ,
-- ** iterSetObjectType #method:iterSetObjectType#
#if ENABLE_OVERLOADING
WidgetPathIterSetObjectTypeMethodInfo ,
#endif
widgetPathIterSetObjectType ,
-- ** iterSetState #method:iterSetState#
#if ENABLE_OVERLOADING
WidgetPathIterSetStateMethodInfo ,
#endif
widgetPathIterSetState ,
-- ** length #method:length#
#if ENABLE_OVERLOADING
WidgetPathLengthMethodInfo ,
#endif
widgetPathLength ,
-- ** new #method:new#
widgetPathNew ,
-- ** prependType #method:prependType#
#if ENABLE_OVERLOADING
WidgetPathPrependTypeMethodInfo ,
#endif
widgetPathPrependType ,
-- ** ref #method:ref#
#if ENABLE_OVERLOADING
WidgetPathRefMethodInfo ,
#endif
widgetPathRef ,
-- ** toString #method:toString#
#if ENABLE_OVERLOADING
WidgetPathToStringMethodInfo ,
#endif
widgetPathToString ,
-- ** unref #method:unref#
#if ENABLE_OVERLOADING
WidgetPathUnrefMethodInfo ,
#endif
widgetPathUnref ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
-- | Memory-managed wrapper type.
newtype WidgetPath = WidgetPath (ManagedPtr WidgetPath)
foreign import ccall "gtk_widget_path_get_type" c_gtk_widget_path_get_type ::
IO GType
instance BoxedObject WidgetPath where
boxedType _ = c_gtk_widget_path_get_type
-- | A convenience alias for `Nothing` :: `Maybe` `WidgetPath`.
noWidgetPath :: Maybe WidgetPath
noWidgetPath = Nothing
#if ENABLE_OVERLOADING
instance O.HasAttributeList WidgetPath
type instance O.AttributeList WidgetPath = WidgetPathAttributeList
type WidgetPathAttributeList = ('[ ] :: [(Symbol, *)])
#endif
-- method WidgetPath::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_new" gtk_widget_path_new ::
IO (Ptr WidgetPath)
{- |
Returns an empty widget path.
/Since: 3.0/
-}
widgetPathNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m WidgetPath
{- ^ __Returns:__ A newly created, empty, 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
widgetPathNew = liftIO $ do
result <- gtk_widget_path_new
checkUnexpectedReturnNULL "widgetPathNew" result
result' <- (wrapBoxed WidgetPath) result
return result'
#if ENABLE_OVERLOADING
#endif
-- method WidgetPath::append_for_widget
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "widget", argType = TInterface (Name {namespace = "Gtk", name = "Widget"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget to append to the widget path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_append_for_widget" gtk_widget_path_append_for_widget ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Ptr Gtk.Widget.Widget -> -- widget : TInterface (Name {namespace = "Gtk", name = "Widget"})
IO Int32
{- |
Appends the data from /@widget@/ to the widget hierarchy represented
by /@path@/. This function is a shortcut for adding information from
/@widget@/ to the given /@path@/. This includes setting the name or
adding the style classes from /@widget@/.
/Since: 3.2/
-}
widgetPathAppendForWidget ::
(B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
WidgetPath
{- ^ /@path@/: a widget path -}
-> a
{- ^ /@widget@/: the widget to append to the widget path -}
-> m Int32
{- ^ __Returns:__ the position where the data was inserted -}
widgetPathAppendForWidget path widget = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
widget' <- unsafeManagedPtrCastPtr widget
result <- gtk_widget_path_append_for_widget path' widget'
touchManagedPtr path
touchManagedPtr widget
return result
#if ENABLE_OVERLOADING
data WidgetPathAppendForWidgetMethodInfo
instance (signature ~ (a -> m Int32), MonadIO m, Gtk.Widget.IsWidget a) => O.MethodInfo WidgetPathAppendForWidgetMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathAppendForWidget
#endif
-- method WidgetPath::append_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget type to append", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_append_type" gtk_widget_path_append_type ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
CGType -> -- type : TBasicType TGType
IO Int32
{- |
Appends a widget type to the widget hierarchy represented by /@path@/.
/Since: 3.0/
-}
widgetPathAppendType ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> GType
{- ^ /@type@/: widget type to append -}
-> m Int32
{- ^ __Returns:__ the position where the element was inserted -}
widgetPathAppendType path type_ = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
let type_' = gtypeToCGType type_
result <- gtk_widget_path_append_type path' type_'
touchManagedPtr path
return result
#if ENABLE_OVERLOADING
data WidgetPathAppendTypeMethodInfo
instance (signature ~ (GType -> m Int32), MonadIO m) => O.MethodInfo WidgetPathAppendTypeMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathAppendType
#endif
-- method WidgetPath::append_with_siblings
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the widget path to append to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "siblings", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget path describing a list of siblings. This path\n may not contain any siblings itself and it must not be modified\n afterwards.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling_index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index into @siblings for where the added element is\n positioned.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_append_with_siblings" gtk_widget_path_append_with_siblings ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Ptr WidgetPath -> -- siblings : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Word32 -> -- sibling_index : TBasicType TUInt
IO Int32
{- |
Appends a widget type with all its siblings to the widget hierarchy
represented by /@path@/. Using this function instead of
'GI.Gtk.Structs.WidgetPath.widgetPathAppendType' will allow the CSS theming to use
sibling matches in selectors and apply :nth-@/child()/@ pseudo classes.
In turn, it requires a lot more care in widget implementations as
widgets need to make sure to call 'GI.Gtk.Objects.Widget.widgetResetStyle' on all
involved widgets when the /@siblings@/ path changes.
/Since: 3.2/
-}
widgetPathAppendWithSiblings ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: the widget path to append to -}
-> WidgetPath
{- ^ /@siblings@/: a widget path describing a list of siblings. This path
may not contain any siblings itself and it must not be modified
afterwards. -}
-> Word32
{- ^ /@siblingIndex@/: index into /@siblings@/ for where the added element is
positioned. -}
-> m Int32
{- ^ __Returns:__ the position where the element was inserted. -}
widgetPathAppendWithSiblings path siblings siblingIndex = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
siblings' <- unsafeManagedPtrGetPtr siblings
result <- gtk_widget_path_append_with_siblings path' siblings' siblingIndex
touchManagedPtr path
touchManagedPtr siblings
return result
#if ENABLE_OVERLOADING
data WidgetPathAppendWithSiblingsMethodInfo
instance (signature ~ (WidgetPath -> Word32 -> m Int32), MonadIO m) => O.MethodInfo WidgetPathAppendWithSiblingsMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathAppendWithSiblings
#endif
-- method WidgetPath::copy
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_copy" gtk_widget_path_copy ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
IO (Ptr WidgetPath)
{- |
Returns a copy of /@path@/
/Since: 3.0/
-}
widgetPathCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> m WidgetPath
{- ^ __Returns:__ a copy of /@path@/ -}
widgetPathCopy path = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_copy path'
checkUnexpectedReturnNULL "widgetPathCopy" result
result' <- (wrapBoxed WidgetPath) result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathCopyMethodInfo
instance (signature ~ (m WidgetPath), MonadIO m) => O.MethodInfo WidgetPathCopyMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathCopy
#endif
-- method WidgetPath::free
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_free" gtk_widget_path_free ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
IO ()
{- |
Decrements the reference count on /@path@/, freeing the structure
if the reference count reaches 0.
/Since: 3.0/
-}
widgetPathFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> m ()
widgetPathFree path = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
gtk_widget_path_free path'
touchManagedPtr path
return ()
#if ENABLE_OVERLOADING
data WidgetPathFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo WidgetPathFreeMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathFree
#endif
-- method WidgetPath::get_object_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TGType)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_get_object_type" gtk_widget_path_get_object_type ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
IO CGType
{- |
Returns the topmost object type, that is, the object type this path
is representing.
/Since: 3.0/
-}
widgetPathGetObjectType ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Objects.Widget.Widget' -}
-> m GType
{- ^ __Returns:__ The object type -}
widgetPathGetObjectType path = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_get_object_type path'
let result' = GType result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathGetObjectTypeMethodInfo
instance (signature ~ (m GType), MonadIO m) => O.MethodInfo WidgetPathGetObjectTypeMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathGetObjectType
#endif
-- method WidgetPath::has_parent
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget type to check in parents", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_has_parent" gtk_widget_path_has_parent ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
CGType -> -- type : TBasicType TGType
IO CInt
{- |
Returns 'True' if any of the parents of the widget represented
in /@path@/ is of type /@type@/, or any subtype of it.
/Since: 3.0/
-}
widgetPathHasParent ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> GType
{- ^ /@type@/: widget type to check in parents -}
-> m Bool
{- ^ __Returns:__ 'True' if any parent is of type /@type@/ -}
widgetPathHasParent path type_ = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
let type_' = gtypeToCGType type_
result <- gtk_widget_path_has_parent path' type_'
let result' = (/= 0) result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathHasParentMethodInfo
instance (signature ~ (GType -> m Bool), MonadIO m) => O.MethodInfo WidgetPathHasParentMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathHasParent
#endif
-- method WidgetPath::is_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget type to match", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_is_type" gtk_widget_path_is_type ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
CGType -> -- type : TBasicType TGType
IO CInt
{- |
Returns 'True' if the widget type represented by this path
is /@type@/, or a subtype of it.
/Since: 3.0/
-}
widgetPathIsType ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> GType
{- ^ /@type@/: widget type to match -}
-> m Bool
{- ^ __Returns:__ 'True' if the widget represented by /@path@/ is of type /@type@/ -}
widgetPathIsType path type_ = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
let type_' = gtypeToCGType type_
result <- gtk_widget_path_is_type path' type_'
let result' = (/= 0) result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathIsTypeMethodInfo
instance (signature ~ (GType -> m Bool), MonadIO m) => O.MethodInfo WidgetPathIsTypeMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIsType
#endif
-- method WidgetPath::iter_add_class
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a class name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_add_class" gtk_widget_path_iter_add_class ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CString -> -- name : TBasicType TUTF8
IO ()
{- |
Adds the class /@name@/ to the widget at position /@pos@/ in
the hierarchy defined in /@path@/. See
'GI.Gtk.Objects.StyleContext.styleContextAddClass'.
/Since: 3.0/
-}
widgetPathIterAddClass ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Objects.Widget.Widget' -}
-> Int32
{- ^ /@pos@/: position to modify, -1 for the path head -}
-> T.Text
{- ^ /@name@/: a class name -}
-> m ()
widgetPathIterAddClass path pos name = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
name' <- textToCString name
gtk_widget_path_iter_add_class path' pos name'
touchManagedPtr path
freeMem name'
return ()
#if ENABLE_OVERLOADING
data WidgetPathIterAddClassMethodInfo
instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterAddClassMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterAddClass
#endif
-- method WidgetPath::iter_add_region
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "RegionFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags affecting the region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_add_region" gtk_widget_path_iter_add_region ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CString -> -- name : TBasicType TUTF8
CUInt -> -- flags : TInterface (Name {namespace = "Gtk", name = "RegionFlags"})
IO ()
{-# DEPRECATED widgetPathIterAddRegion ["(Since version 3.14)","The use of regions is deprecated."] #-}
{- |
Adds the region /@name@/ to the widget at position /@pos@/ in
the hierarchy defined in /@path@/. See
'GI.Gtk.Objects.StyleContext.styleContextAddRegion'.
Region names must only contain lowercase letters
and “-”, starting always with a lowercase letter.
/Since: 3.0/
-}
widgetPathIterAddRegion ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to modify, -1 for the path head -}
-> T.Text
{- ^ /@name@/: region name -}
-> [Gtk.Flags.RegionFlags]
{- ^ /@flags@/: flags affecting the region -}
-> m ()
widgetPathIterAddRegion path pos name flags = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
name' <- textToCString name
let flags' = gflagsToWord flags
gtk_widget_path_iter_add_region path' pos name' flags'
touchManagedPtr path
freeMem name'
return ()
#if ENABLE_OVERLOADING
data WidgetPathIterAddRegionMethodInfo
instance (signature ~ (Int32 -> T.Text -> [Gtk.Flags.RegionFlags] -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterAddRegionMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterAddRegion
#endif
-- method WidgetPath::iter_clear_classes
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidget", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_clear_classes" gtk_widget_path_iter_clear_classes ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
IO ()
{- |
Removes all classes from the widget at position /@pos@/ in the
hierarchy defined in /@path@/.
/Since: 3.0/
-}
widgetPathIterClearClasses ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Objects.Widget.Widget' -}
-> Int32
{- ^ /@pos@/: position to modify, -1 for the path head -}
-> m ()
widgetPathIterClearClasses path pos = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
gtk_widget_path_iter_clear_classes path' pos
touchManagedPtr path
return ()
#if ENABLE_OVERLOADING
data WidgetPathIterClearClassesMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterClearClassesMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterClearClasses
#endif
-- method WidgetPath::iter_clear_regions
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_clear_regions" gtk_widget_path_iter_clear_regions ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
IO ()
{-# DEPRECATED widgetPathIterClearRegions ["(Since version 3.14)","The use of regions is deprecated."] #-}
{- |
Removes all regions from the widget at position /@pos@/ in the
hierarchy defined in /@path@/.
/Since: 3.0/
-}
widgetPathIterClearRegions ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to modify, -1 for the path head -}
-> m ()
widgetPathIterClearRegions path pos = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
gtk_widget_path_iter_clear_regions path' pos
touchManagedPtr path
return ()
#if ENABLE_OVERLOADING
data WidgetPathIterClearRegionsMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterClearRegionsMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterClearRegions
#endif
-- method WidgetPath::iter_get_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the widget name for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_get_name" gtk_widget_path_iter_get_name ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
IO CString
{- |
Returns the name corresponding to the widget found at
the position /@pos@/ in the widget hierarchy defined by
/@path@/
-}
widgetPathIterGetName ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to get the widget name for, -1 for the path head -}
-> m (Maybe T.Text)
{- ^ __Returns:__ The widget name, or 'Nothing' if none was set. -}
widgetPathIterGetName path pos = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_iter_get_name path' pos
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr path
return maybeResult
#if ENABLE_OVERLOADING
data WidgetPathIterGetNameMethodInfo
instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo WidgetPathIterGetNameMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterGetName
#endif
-- method WidgetPath::iter_get_object_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the object name for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_get_object_name" gtk_widget_path_iter_get_object_name ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
IO CString
{- |
Returns the object name that is at position /@pos@/ in the widget
hierarchy defined in /@path@/.
/Since: 3.20/
-}
widgetPathIterGetObjectName ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to get the object name for, -1 for the path head -}
-> m (Maybe T.Text)
{- ^ __Returns:__ the name or 'Nothing' -}
widgetPathIterGetObjectName path pos = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_iter_get_object_name path' pos
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr path
return maybeResult
#if ENABLE_OVERLOADING
data WidgetPathIterGetObjectNameMethodInfo
instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo WidgetPathIterGetObjectNameMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterGetObjectName
#endif
-- method WidgetPath::iter_get_object_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the object type for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TGType)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_get_object_type" gtk_widget_path_iter_get_object_type ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
IO CGType
{- |
Returns the object 'GType' that is at position /@pos@/ in the widget
hierarchy defined in /@path@/.
/Since: 3.0/
-}
widgetPathIterGetObjectType ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to get the object type for, -1 for the path head -}
-> m GType
{- ^ __Returns:__ a widget type -}
widgetPathIterGetObjectType path pos = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_iter_get_object_type path' pos
let result' = GType result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathIterGetObjectTypeMethodInfo
instance (signature ~ (Int32 -> m GType), MonadIO m) => O.MethodInfo WidgetPathIterGetObjectTypeMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterGetObjectType
#endif
-- method WidgetPath::iter_get_sibling_index
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the sibling index for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUInt)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_get_sibling_index" gtk_widget_path_iter_get_sibling_index ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
IO Word32
{- |
Returns the index into the list of siblings for the element at /@pos@/ as
returned by 'GI.Gtk.Structs.WidgetPath.widgetPathIterGetSiblings'. If that function would
return 'Nothing' because the element at /@pos@/ has no siblings, this function
will return 0.
-}
widgetPathIterGetSiblingIndex ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to get the sibling index for, -1 for the path head -}
-> m Word32
{- ^ __Returns:__ 0 or the index into the list of siblings for the element at /@pos@/. -}
widgetPathIterGetSiblingIndex path pos = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_iter_get_sibling_index path' pos
touchManagedPtr path
return result
#if ENABLE_OVERLOADING
data WidgetPathIterGetSiblingIndexMethodInfo
instance (signature ~ (Int32 -> m Word32), MonadIO m) => O.MethodInfo WidgetPathIterGetSiblingIndexMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterGetSiblingIndex
#endif
-- method WidgetPath::iter_get_siblings
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the siblings for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_get_siblings" gtk_widget_path_iter_get_siblings ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
IO (Ptr WidgetPath)
{- |
Returns the list of siblings for the element at /@pos@/. If the element
was not added with siblings, 'Nothing' is returned.
-}
widgetPathIterGetSiblings ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to get the siblings for, -1 for the path head -}
-> m WidgetPath
{- ^ __Returns:__ 'Nothing' or the list of siblings for the element at /@pos@/. -}
widgetPathIterGetSiblings path pos = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_iter_get_siblings path' pos
checkUnexpectedReturnNULL "widgetPathIterGetSiblings" result
result' <- (newBoxed WidgetPath) result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathIterGetSiblingsMethodInfo
instance (signature ~ (Int32 -> m WidgetPath), MonadIO m) => O.MethodInfo WidgetPathIterGetSiblingsMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterGetSiblings
#endif
-- method WidgetPath::iter_get_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to get the state for, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "StateFlags"}))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_get_state" gtk_widget_path_iter_get_state ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
IO CUInt
{- |
Returns the state flags corresponding to the widget found at
the position /@pos@/ in the widget hierarchy defined by
/@path@/
/Since: 3.14/
-}
widgetPathIterGetState ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to get the state for, -1 for the path head -}
-> m [Gtk.Flags.StateFlags]
{- ^ __Returns:__ The state flags -}
widgetPathIterGetState path pos = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_iter_get_state path' pos
let result' = wordToGFlags result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathIterGetStateMethodInfo
instance (signature ~ (Int32 -> m [Gtk.Flags.StateFlags]), MonadIO m) => O.MethodInfo WidgetPathIterGetStateMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterGetState
#endif
-- method WidgetPath::iter_has_class
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_has_class" gtk_widget_path_iter_has_class ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CString -> -- name : TBasicType TUTF8
IO CInt
{- |
Returns 'True' if the widget at position /@pos@/ has the class /@name@/
defined, 'False' otherwise.
/Since: 3.0/
-}
widgetPathIterHasClass ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to query, -1 for the path head -}
-> T.Text
{- ^ /@name@/: class name -}
-> m Bool
{- ^ __Returns:__ 'True' if the class /@name@/ is defined for the widget at /@pos@/ -}
widgetPathIterHasClass path pos name = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
name' <- textToCString name
result <- gtk_widget_path_iter_has_class path' pos name'
let result' = (/= 0) result
touchManagedPtr path
freeMem name'
return result'
#if ENABLE_OVERLOADING
data WidgetPathIterHasClassMethodInfo
instance (signature ~ (Int32 -> T.Text -> m Bool), MonadIO m) => O.MethodInfo WidgetPathIterHasClassMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterHasClass
#endif
-- method WidgetPath::iter_has_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a widget name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_has_name" gtk_widget_path_iter_has_name ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CString -> -- name : TBasicType TUTF8
IO CInt
{- |
Returns 'True' if the widget at position /@pos@/ has the name /@name@/,
'False' otherwise.
/Since: 3.0/
-}
widgetPathIterHasName ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to query, -1 for the path head -}
-> T.Text
{- ^ /@name@/: a widget name -}
-> m Bool
{- ^ __Returns:__ 'True' if the widget at /@pos@/ has this name -}
widgetPathIterHasName path pos name = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
name' <- textToCString name
result <- gtk_widget_path_iter_has_name path' pos name'
let result' = (/= 0) result
touchManagedPtr path
freeMem name'
return result'
#if ENABLE_OVERLOADING
data WidgetPathIterHasNameMethodInfo
instance (signature ~ (Int32 -> T.Text -> m Bool), MonadIO m) => O.MethodInfo WidgetPathIterHasNameMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterHasName
#endif
-- method WidgetPath::iter_has_qclass
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "qname", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class name as a #GQuark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_has_qclass" gtk_widget_path_iter_has_qclass ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
Word32 -> -- qname : TBasicType TUInt32
IO CInt
{- |
See 'GI.Gtk.Structs.WidgetPath.widgetPathIterHasClass'. This is a version that operates
with GQuarks.
/Since: 3.0/
-}
widgetPathIterHasQclass ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to query, -1 for the path head -}
-> Word32
{- ^ /@qname@/: class name as a @/GQuark/@ -}
-> m Bool
{- ^ __Returns:__ 'True' if the widget at /@pos@/ has the class defined. -}
widgetPathIterHasQclass path pos qname = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_iter_has_qclass path' pos qname
let result' = (/= 0) result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathIterHasQclassMethodInfo
instance (signature ~ (Int32 -> Word32 -> m Bool), MonadIO m) => O.MethodInfo WidgetPathIterHasQclassMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterHasQclass
#endif
-- method WidgetPath::iter_has_qname
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "qname", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget name as a #GQuark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_has_qname" gtk_widget_path_iter_has_qname ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
Word32 -> -- qname : TBasicType TUInt32
IO CInt
{- |
See 'GI.Gtk.Structs.WidgetPath.widgetPathIterHasName'. This is a version
that operates on @/GQuarks/@.
/Since: 3.0/
-}
widgetPathIterHasQname ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to query, -1 for the path head -}
-> Word32
{- ^ /@qname@/: widget name as a @/GQuark/@ -}
-> m Bool
{- ^ __Returns:__ 'True' if the widget at /@pos@/ has this name -}
widgetPathIterHasQname path pos qname = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_iter_has_qname path' pos qname
let result' = (/= 0) result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathIterHasQnameMethodInfo
instance (signature ~ (Int32 -> Word32 -> m Bool), MonadIO m) => O.MethodInfo WidgetPathIterHasQnameMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterHasQname
#endif
-- method WidgetPath::iter_has_qregion
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "qname", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region name as a #GQuark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "RegionFlags"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the region flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_has_qregion" gtk_widget_path_iter_has_qregion ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
Word32 -> -- qname : TBasicType TUInt32
Ptr CUInt -> -- flags : TInterface (Name {namespace = "Gtk", name = "RegionFlags"})
IO CInt
{-# DEPRECATED widgetPathIterHasQregion ["(Since version 3.14)","The use of regions is deprecated."] #-}
{- |
See 'GI.Gtk.Structs.WidgetPath.widgetPathIterHasRegion'. This is a version that operates
with GQuarks.
/Since: 3.0/
-}
widgetPathIterHasQregion ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to query, -1 for the path head -}
-> Word32
{- ^ /@qname@/: region name as a @/GQuark/@ -}
-> m ((Bool, [Gtk.Flags.RegionFlags]))
{- ^ __Returns:__ 'True' if the widget at /@pos@/ has the region defined. -}
widgetPathIterHasQregion path pos qname = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
flags <- allocMem :: IO (Ptr CUInt)
result <- gtk_widget_path_iter_has_qregion path' pos qname flags
let result' = (/= 0) result
flags' <- peek flags
let flags'' = wordToGFlags flags'
touchManagedPtr path
freeMem flags
return (result', flags'')
#if ENABLE_OVERLOADING
data WidgetPathIterHasQregionMethodInfo
instance (signature ~ (Int32 -> Word32 -> m ((Bool, [Gtk.Flags.RegionFlags]))), MonadIO m) => O.MethodInfo WidgetPathIterHasQregionMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterHasQregion
#endif
-- method WidgetPath::iter_has_region
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gtk", name = "RegionFlags"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the region flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_has_region" gtk_widget_path_iter_has_region ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CString -> -- name : TBasicType TUTF8
Ptr CUInt -> -- flags : TInterface (Name {namespace = "Gtk", name = "RegionFlags"})
IO CInt
{-# DEPRECATED widgetPathIterHasRegion ["(Since version 3.14)","The use of regions is deprecated."] #-}
{- |
Returns 'True' if the widget at position /@pos@/ has the class /@name@/
defined, 'False' otherwise.
/Since: 3.0/
-}
widgetPathIterHasRegion ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to query, -1 for the path head -}
-> T.Text
{- ^ /@name@/: region name -}
-> m ((Bool, [Gtk.Flags.RegionFlags]))
{- ^ __Returns:__ 'True' if the class /@name@/ is defined for the widget at /@pos@/ -}
widgetPathIterHasRegion path pos name = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
name' <- textToCString name
flags <- allocMem :: IO (Ptr CUInt)
result <- gtk_widget_path_iter_has_region path' pos name' flags
let result' = (/= 0) result
flags' <- peek flags
let flags'' = wordToGFlags flags'
touchManagedPtr path
freeMem name'
freeMem flags
return (result', flags'')
#if ENABLE_OVERLOADING
data WidgetPathIterHasRegionMethodInfo
instance (signature ~ (Int32 -> T.Text -> m ((Bool, [Gtk.Flags.RegionFlags]))), MonadIO m) => O.MethodInfo WidgetPathIterHasRegionMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterHasRegion
#endif
-- method WidgetPath::iter_list_classes
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TGSList (TBasicType TUTF8))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_list_classes" gtk_widget_path_iter_list_classes ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
IO (Ptr (GSList CString))
{- |
Returns a list with all the class names defined for the widget
at position /@pos@/ in the hierarchy defined in /@path@/.
/Since: 3.0/
-}
widgetPathIterListClasses ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to query, -1 for the path head -}
-> m [T.Text]
{- ^ __Returns:__ The list of
classes, This is a list of strings, the 'GI.GLib.Structs.SList.SList' contents
are owned by GTK+, but you should use @/g_slist_free()/@ to
free the list itself. -}
widgetPathIterListClasses path pos = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_iter_list_classes path' pos
result' <- unpackGSList result
result'' <- mapM cstringToText result'
g_slist_free result
touchManagedPtr path
return result''
#if ENABLE_OVERLOADING
data WidgetPathIterListClassesMethodInfo
instance (signature ~ (Int32 -> m [T.Text]), MonadIO m) => O.MethodInfo WidgetPathIterListClassesMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterListClasses
#endif
-- method WidgetPath::iter_list_regions
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to query, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TGSList (TBasicType TUTF8))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_list_regions" gtk_widget_path_iter_list_regions ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
IO (Ptr (GSList CString))
{-# DEPRECATED widgetPathIterListRegions ["(Since version 3.14)","The use of regions is deprecated."] #-}
{- |
Returns a list with all the region names defined for the widget
at position /@pos@/ in the hierarchy defined in /@path@/.
/Since: 3.0/
-}
widgetPathIterListRegions ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to query, -1 for the path head -}
-> m [T.Text]
{- ^ __Returns:__ The list of
regions, This is a list of strings, the 'GI.GLib.Structs.SList.SList' contents
are owned by GTK+, but you should use @/g_slist_free()/@ to
free the list itself. -}
widgetPathIterListRegions path pos = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_iter_list_regions path' pos
result' <- unpackGSList result
result'' <- mapM cstringToText result'
g_slist_free result
touchManagedPtr path
return result''
#if ENABLE_OVERLOADING
data WidgetPathIterListRegionsMethodInfo
instance (signature ~ (Int32 -> m [T.Text]), MonadIO m) => O.MethodInfo WidgetPathIterListRegionsMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterListRegions
#endif
-- method WidgetPath::iter_remove_class
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_remove_class" gtk_widget_path_iter_remove_class ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CString -> -- name : TBasicType TUTF8
IO ()
{- |
Removes the class /@name@/ from the widget at position /@pos@/ in
the hierarchy defined in /@path@/.
/Since: 3.0/
-}
widgetPathIterRemoveClass ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to modify, -1 for the path head -}
-> T.Text
{- ^ /@name@/: class name -}
-> m ()
widgetPathIterRemoveClass path pos name = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
name' <- textToCString name
gtk_widget_path_iter_remove_class path' pos name'
touchManagedPtr path
freeMem name'
return ()
#if ENABLE_OVERLOADING
data WidgetPathIterRemoveClassMethodInfo
instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterRemoveClassMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterRemoveClass
#endif
-- method WidgetPath::iter_remove_region
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "region name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_remove_region" gtk_widget_path_iter_remove_region ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CString -> -- name : TBasicType TUTF8
IO ()
{-# DEPRECATED widgetPathIterRemoveRegion ["(Since version 3.14)","The use of regions is deprecated."] #-}
{- |
Removes the region /@name@/ from the widget at position /@pos@/ in
the hierarchy defined in /@path@/.
/Since: 3.0/
-}
widgetPathIterRemoveRegion ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to modify, -1 for the path head -}
-> T.Text
{- ^ /@name@/: region name -}
-> m ()
widgetPathIterRemoveRegion path pos name = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
name' <- textToCString name
gtk_widget_path_iter_remove_region path' pos name'
touchManagedPtr path
freeMem name'
return ()
#if ENABLE_OVERLOADING
data WidgetPathIterRemoveRegionMethodInfo
instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterRemoveRegionMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterRemoveRegion
#endif
-- method WidgetPath::iter_set_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_set_name" gtk_widget_path_iter_set_name ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CString -> -- name : TBasicType TUTF8
IO ()
{- |
Sets the widget name for the widget found at position /@pos@/
in the widget hierarchy defined by /@path@/.
/Since: 3.0/
-}
widgetPathIterSetName ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to modify, -1 for the path head -}
-> T.Text
{- ^ /@name@/: widget name -}
-> m ()
widgetPathIterSetName path pos name = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
name' <- textToCString name
gtk_widget_path_iter_set_name path' pos name'
touchManagedPtr path
freeMem name'
return ()
#if ENABLE_OVERLOADING
data WidgetPathIterSetNameMethodInfo
instance (signature ~ (Int32 -> T.Text -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterSetNameMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterSetName
#endif
-- method WidgetPath::iter_set_object_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "object name to set or %NULL to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_set_object_name" gtk_widget_path_iter_set_object_name ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CString -> -- name : TBasicType TUTF8
IO ()
{- |
Sets the object name for a given position in the widget hierarchy
defined by /@path@/.
When set, the object name overrides the object type when matching
CSS.
/Since: 3.20/
-}
widgetPathIterSetObjectName ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to modify, -1 for the path head -}
-> Maybe (T.Text)
{- ^ /@name@/: object name to set or 'Nothing' to unset -}
-> m ()
widgetPathIterSetObjectName path pos name = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
maybeName <- case name of
Nothing -> return nullPtr
Just jName -> do
jName' <- textToCString jName
return jName'
gtk_widget_path_iter_set_object_name path' pos maybeName
touchManagedPtr path
freeMem maybeName
return ()
#if ENABLE_OVERLOADING
data WidgetPathIterSetObjectNameMethodInfo
instance (signature ~ (Int32 -> Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterSetObjectNameMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterSetObjectName
#endif
-- method WidgetPath::iter_set_object_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "object type to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_set_object_type" gtk_widget_path_iter_set_object_type ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CGType -> -- type : TBasicType TGType
IO ()
{- |
Sets the object type for a given position in the widget hierarchy
defined by /@path@/.
/Since: 3.0/
-}
widgetPathIterSetObjectType ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to modify, -1 for the path head -}
-> GType
{- ^ /@type@/: object type to set -}
-> m ()
widgetPathIterSetObjectType path pos type_ = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
let type_' = gtypeToCGType type_
gtk_widget_path_iter_set_object_type path' pos type_'
touchManagedPtr path
return ()
#if ENABLE_OVERLOADING
data WidgetPathIterSetObjectTypeMethodInfo
instance (signature ~ (Int32 -> GType -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterSetObjectTypeMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterSetObjectType
#endif
-- method WidgetPath::iter_set_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to modify, -1 for the path head", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gtk", name = "StateFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "state flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_iter_set_state" gtk_widget_path_iter_set_state ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
Int32 -> -- pos : TBasicType TInt
CUInt -> -- state : TInterface (Name {namespace = "Gtk", name = "StateFlags"})
IO ()
{- |
Sets the widget name for the widget found at position /@pos@/
in the widget hierarchy defined by /@path@/.
If you want to update just a single state flag, you need to do
this manually, as this function updates all state flags.
== Setting a flag
=== /C code/
>
>gtk_widget_path_iter_set_state (path, pos, gtk_widget_path_iter_get_state (path, pos) | flag);
== Unsetting a flag
=== /C code/
>
>gtk_widget_path_iter_set_state (path, pos, gtk_widget_path_iter_get_state (path, pos) & ~flag);
/Since: 3.14/
-}
widgetPathIterSetState ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> Int32
{- ^ /@pos@/: position to modify, -1 for the path head -}
-> [Gtk.Flags.StateFlags]
{- ^ /@state@/: state flags -}
-> m ()
widgetPathIterSetState path pos state = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
let state' = gflagsToWord state
gtk_widget_path_iter_set_state path' pos state'
touchManagedPtr path
return ()
#if ENABLE_OVERLOADING
data WidgetPathIterSetStateMethodInfo
instance (signature ~ (Int32 -> [Gtk.Flags.StateFlags] -> m ()), MonadIO m) => O.MethodInfo WidgetPathIterSetStateMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathIterSetState
#endif
-- method WidgetPath::length
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_length" gtk_widget_path_length ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
IO Int32
{- |
Returns the number of 'GI.Gtk.Objects.Widget.Widget' @/GTypes/@ between the represented
widget and its topmost container.
/Since: 3.0/
-}
widgetPathLength ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> m Int32
{- ^ __Returns:__ the number of elements in the path -}
widgetPathLength path = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_length path'
touchManagedPtr path
return result
#if ENABLE_OVERLOADING
data WidgetPathLengthMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo WidgetPathLengthMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathLength
#endif
-- method WidgetPath::prepend_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "widget type to prepend", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_prepend_type" gtk_widget_path_prepend_type ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
CGType -> -- type : TBasicType TGType
IO ()
{- |
Prepends a widget type to the widget hierachy represented by /@path@/.
/Since: 3.0/
-}
widgetPathPrependType ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> GType
{- ^ /@type@/: widget type to prepend -}
-> m ()
widgetPathPrependType path type_ = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
let type_' = gtypeToCGType type_
gtk_widget_path_prepend_type path' type_'
touchManagedPtr path
return ()
#if ENABLE_OVERLOADING
data WidgetPathPrependTypeMethodInfo
instance (signature ~ (GType -> m ()), MonadIO m) => O.MethodInfo WidgetPathPrependTypeMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathPrependType
#endif
-- method WidgetPath::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "WidgetPath"}))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_ref" gtk_widget_path_ref ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
IO (Ptr WidgetPath)
{- |
Increments the reference count on /@path@/.
/Since: 3.2/
-}
widgetPathRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> m WidgetPath
{- ^ __Returns:__ /@path@/ itself. -}
widgetPathRef path = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_ref path'
checkUnexpectedReturnNULL "widgetPathRef" result
result' <- (wrapBoxed WidgetPath) result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathRefMethodInfo
instance (signature ~ (m WidgetPath), MonadIO m) => O.MethodInfo WidgetPathRefMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathRef
#endif
-- method WidgetPath::to_string
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_to_string" gtk_widget_path_to_string ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
IO CString
{- |
Dumps the widget path into a string representation. It tries to match
the CSS style as closely as possible (Note that there might be paths
that cannot be represented in CSS).
The main use of this code is for debugging purposes, so that you can
@/g_print()/@ the path or dump it in a gdb session.
/Since: 3.2/
-}
widgetPathToString ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: the path -}
-> m T.Text
{- ^ __Returns:__ A new string describing /@path@/. -}
widgetPathToString path = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
result <- gtk_widget_path_to_string path'
checkUnexpectedReturnNULL "widgetPathToString" result
result' <- cstringToText result
freeMem result
touchManagedPtr path
return result'
#if ENABLE_OVERLOADING
data WidgetPathToStringMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo WidgetPathToStringMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathToString
#endif
-- method WidgetPath::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gtk", name = "WidgetPath"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkWidgetPath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_widget_path_unref" gtk_widget_path_unref ::
Ptr WidgetPath -> -- path : TInterface (Name {namespace = "Gtk", name = "WidgetPath"})
IO ()
{- |
Decrements the reference count on /@path@/, freeing the structure
if the reference count reaches 0.
/Since: 3.2/
-}
widgetPathUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
WidgetPath
{- ^ /@path@/: a 'GI.Gtk.Structs.WidgetPath.WidgetPath' -}
-> m ()
widgetPathUnref path = liftIO $ do
path' <- unsafeManagedPtrGetPtr path
gtk_widget_path_unref path'
touchManagedPtr path
return ()
#if ENABLE_OVERLOADING
data WidgetPathUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo WidgetPathUnrefMethodInfo WidgetPath signature where
overloadedMethod _ = widgetPathUnref
#endif
#if ENABLE_OVERLOADING
type family ResolveWidgetPathMethod (t :: Symbol) (o :: *) :: * where
ResolveWidgetPathMethod "appendForWidget" o = WidgetPathAppendForWidgetMethodInfo
ResolveWidgetPathMethod "appendType" o = WidgetPathAppendTypeMethodInfo
ResolveWidgetPathMethod "appendWithSiblings" o = WidgetPathAppendWithSiblingsMethodInfo
ResolveWidgetPathMethod "copy" o = WidgetPathCopyMethodInfo
ResolveWidgetPathMethod "free" o = WidgetPathFreeMethodInfo
ResolveWidgetPathMethod "hasParent" o = WidgetPathHasParentMethodInfo
ResolveWidgetPathMethod "isType" o = WidgetPathIsTypeMethodInfo
ResolveWidgetPathMethod "iterAddClass" o = WidgetPathIterAddClassMethodInfo
ResolveWidgetPathMethod "iterAddRegion" o = WidgetPathIterAddRegionMethodInfo
ResolveWidgetPathMethod "iterClearClasses" o = WidgetPathIterClearClassesMethodInfo
ResolveWidgetPathMethod "iterClearRegions" o = WidgetPathIterClearRegionsMethodInfo
ResolveWidgetPathMethod "iterGetName" o = WidgetPathIterGetNameMethodInfo
ResolveWidgetPathMethod "iterGetObjectName" o = WidgetPathIterGetObjectNameMethodInfo
ResolveWidgetPathMethod "iterGetObjectType" o = WidgetPathIterGetObjectTypeMethodInfo
ResolveWidgetPathMethod "iterGetSiblingIndex" o = WidgetPathIterGetSiblingIndexMethodInfo
ResolveWidgetPathMethod "iterGetSiblings" o = WidgetPathIterGetSiblingsMethodInfo
ResolveWidgetPathMethod "iterGetState" o = WidgetPathIterGetStateMethodInfo
ResolveWidgetPathMethod "iterHasClass" o = WidgetPathIterHasClassMethodInfo
ResolveWidgetPathMethod "iterHasName" o = WidgetPathIterHasNameMethodInfo
ResolveWidgetPathMethod "iterHasQclass" o = WidgetPathIterHasQclassMethodInfo
ResolveWidgetPathMethod "iterHasQname" o = WidgetPathIterHasQnameMethodInfo
ResolveWidgetPathMethod "iterHasQregion" o = WidgetPathIterHasQregionMethodInfo
ResolveWidgetPathMethod "iterHasRegion" o = WidgetPathIterHasRegionMethodInfo
ResolveWidgetPathMethod "iterListClasses" o = WidgetPathIterListClassesMethodInfo
ResolveWidgetPathMethod "iterListRegions" o = WidgetPathIterListRegionsMethodInfo
ResolveWidgetPathMethod "iterRemoveClass" o = WidgetPathIterRemoveClassMethodInfo
ResolveWidgetPathMethod "iterRemoveRegion" o = WidgetPathIterRemoveRegionMethodInfo
ResolveWidgetPathMethod "iterSetName" o = WidgetPathIterSetNameMethodInfo
ResolveWidgetPathMethod "iterSetObjectName" o = WidgetPathIterSetObjectNameMethodInfo
ResolveWidgetPathMethod "iterSetObjectType" o = WidgetPathIterSetObjectTypeMethodInfo
ResolveWidgetPathMethod "iterSetState" o = WidgetPathIterSetStateMethodInfo
ResolveWidgetPathMethod "length" o = WidgetPathLengthMethodInfo
ResolveWidgetPathMethod "prependType" o = WidgetPathPrependTypeMethodInfo
ResolveWidgetPathMethod "ref" o = WidgetPathRefMethodInfo
ResolveWidgetPathMethod "toString" o = WidgetPathToStringMethodInfo
ResolveWidgetPathMethod "unref" o = WidgetPathUnrefMethodInfo
ResolveWidgetPathMethod "getObjectType" o = WidgetPathGetObjectTypeMethodInfo
ResolveWidgetPathMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveWidgetPathMethod t WidgetPath, O.MethodInfo info WidgetPath p) => OL.IsLabel t (WidgetPath -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif