gi-gio-2.0.32: Gio bindings

Copyright | Will Thompson and Iñaki García Etxebarria
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria
Safe Haskell | Safe-Inferred
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, IsDescendantOf MenuLinkIter o) => IsMenuLinkIter o
- toMenuLinkIter :: (MonadIO m, IsMenuLinkIter o) => o -> m 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

Instances details

Eq MenuLinkIter Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter Methods (==) :: MenuLinkIter -> MenuLinkIter -> Bool Source # (/=) :: MenuLinkIter -> MenuLinkIter -> Bool Source #
GObject MenuLinkIter Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter
ManagedPtrNewtype MenuLinkIter Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter Methods toManagedPtr :: MenuLinkIter -> ManagedPtr MenuLinkIter Source #
TypedObject MenuLinkIter Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter Methods glibType :: IO GType Source #
HasParentTypes MenuLinkIter Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter
IsGValue (Maybe MenuLinkIter) Source # | Convert `MenuLinkIter` to and from `GValue`. See `toGValue` and `fromGValue`.
Instance details Defined in GI.Gio.Objects.MenuLinkIter Methods gvalueGType_ :: IO GType Source # gvalueSet_ :: Ptr GValue -> Maybe MenuLinkIter -> IO () Source # gvalueGet_ :: Ptr GValue -> IO (Maybe MenuLinkIter) Source #
type ParentTypes MenuLinkIter Source # |
Instance details Defined in GI.Gio.Objects.MenuLinkIter type ParentTypes MenuLinkIter = '[Object]

class (GObject o, IsDescendantOf MenuLinkIter o) => IsMenuLinkIter o Source #

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

#### Instances

Instances details

(GObject o, IsDescendantOf MenuLinkIter o) => IsMenuLinkIter o 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`.

# Methods

### Click to display all available methods, including inherited ones

Expand

#### Methods

bindProperty, bindPropertyFull, forceFloating, freezeNotify, getv, isFloating, next, notify, notifyByPspec, ref, refSink, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.

#### Getters

getData, getName, getNext, getProperty, getQdata, getValue.

#### Setters

setData, setDataFull, setProperty.

## 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