gi-gio-2.0.19: Gio bindings

Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com)
Safe Haskell | None
Language | Haskell2010

GI.Gio.Objects.MenuLinkIter

Contents

- Exported types
- Methods
  - getName
  - getNext
  - getValue
  - next

Description

`MenuLinkIter` is an opaque structure type. You must access it using the functions below.

Since: 2.32

Synopsis

- newtype MenuLinkIter = MenuLinkIter (ManagedPtr MenuLinkIter)
- class GObject o => IsMenuLinkIter o
- toMenuLinkIter :: (MonadIO m, IsMenuLinkIter o) => o -> m MenuLinkIter
- noMenuLinkIter :: Maybe MenuLinkIter
- menuLinkIterGetName :: (HasCallStack, MonadIO m, IsMenuLinkIter a) => a -> m Text
- menuLinkIterGetNext :: (HasCallStack, MonadIO m, IsMenuLinkIter a) => a -> m (Bool, Text, MenuModel)
- menuLinkIterGetValue :: (HasCallStack, MonadIO m, IsMenuLinkIter a) => a -> m MenuModel
- menuLinkIterNext :: (HasCallStack, MonadIO m, IsMenuLinkIter a) => a -> m Bool

# Exported types

newtype MenuLinkIter Source #

Memory-managed wrapper type.

Constructors

MenuLinkIter (ManagedPtr MenuLinkIter) |

Instances

GObject MenuLinkIter Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter Methods gobjectType :: MenuLinkIter -> IO GType Source #
IsObject MenuLinkIter Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter
IsMenuLinkIter MenuLinkIter Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter

class GObject o => IsMenuLinkIter o Source #

Type class for types which can be safely cast to `MenuLinkIter`, for instance with `toMenuLinkIter`.

Instances

(GObject a, (UnknownAncestorError MenuLinkIter a :: Constraint)) => IsMenuLinkIter a Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter
IsMenuLinkIter MenuLinkIter Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter

toMenuLinkIter :: (MonadIO m, IsMenuLinkIter o) => o -> m MenuLinkIter Source #

Cast to `MenuLinkIter`, for types for which this is known to be safe. For general casts, use `castTo`.

noMenuLinkIter :: Maybe MenuLinkIter Source #

A convenience alias for `Nothing` :: `Maybe` `MenuLinkIter`.

# Methods

## getName

menuLinkIterGetName Source #

Arguments

:: (HasCallStack, MonadIO m, IsMenuLinkIter a) |
=> a | `iter`: a `MenuLinkIter`
-> m Text | Returns: the type of the link

Gets the name of the link at the current iterator position.

The iterator is not advanced.

Since: 2.32

## getNext

menuLinkIterGetNext Source #

Arguments

:: (HasCallStack, MonadIO m, IsMenuLinkIter a) |
=> a | `iter`: a `MenuLinkIter`
-> m (Bool, Text, MenuModel) | Returns: `True` on success, or `False` if there is no additional link

This function combines `menuLinkIterNext` with `menuLinkIterGetName` and `menuLinkIterGetValue`.

First the iterator is advanced to the next (possibly first) link. If that fails, then `False` is returned and there are no other effects.

If successful, `outLink` and `value` are set to the name and `MenuModel` of the link that has just been advanced to. At this point, `menuLinkIterGetName` and `menuLinkIterGetValue` will return the same values again.

The value returned in `outLink` remains valid for as long as the iterator remains at the current position. The value returned in `value` must be unreffed using `objectUnref` when it is no longer in use.

Since: 2.32

## getValue

menuLinkIterGetValue Source #

Arguments

:: (HasCallStack, MonadIO m, IsMenuLinkIter a) |
=> a | `iter`: a `MenuLinkIter`
-> m MenuModel | Returns: the `MenuModel` that is linked to

Gets the linked `MenuModel` at the current iterator position.

The iterator is not advanced.

Since: 2.32

## next

menuLinkIterNext Source #

Arguments

:: (HasCallStack, MonadIO m, IsMenuLinkIter a) |
=> a | `iter`: a `MenuLinkIter`
-> m Bool | Returns: `True` on success, or `False` when there are no more links

Attempts to advance the iterator to the next (possibly first) link.

`True` is returned on success, or `False` if there are no more links.

You must call this function when you first acquire the iterator to advance it to the first link (and determine if the first link exists at all).

Since: 2.32