gi-gtk3-3.0.44: Gtk 3.x bindings

Copyright | Will Thompson and Iñaki García Etxebarria
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria
Safe Haskell | None
Language | Haskell2010

GI.Gtk.Interfaces.Buildable

Contents

- Exported types
- Methods
  - addChild
  - constructChild
  - customFinished
  - customTagEnd
  - customTagStart
  - getInternalChild
  - getName
  - parserFinished
  - setBuildableProperty
  - setName

Description

GtkBuildable allows objects to extend and customize their deserialization from [GtkBuilder UI descriptions][BUILDER-UI]. The interface includes methods for setting names and properties of objects, parsing custom tags and constructing child objects.

The GtkBuildable interface is implemented by all widgets and many of the non-widget objects that are provided by GTK+. The main user of this interface is `Builder`. There should be very little need for applications to call any of these functions directly.

An object only needs to implement this interface if it needs to extend the `Builder` format or run any extra routines at deserialization time.

Synopsis

- newtype Buildable = Buildable (ManagedPtr Buildable)
- class (GObject o, IsDescendantOf Buildable o) => IsBuildable o
- toBuildable :: (MonadIO m, IsBuildable o) => o -> m Buildable
- buildableAddChild :: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b, IsObject c) => a -> b -> c -> Maybe Text -> m ()
- buildableConstructChild :: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) => a -> b -> Text -> m Object
- buildableCustomFinished :: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b, IsObject c) => a -> b -> Maybe c -> Text -> Ptr () -> m ()
- buildableCustomTagEnd :: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b, IsObject c) => a -> b -> Maybe c -> Text -> Ptr () -> m ()
- buildableCustomTagStart :: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b, IsObject c) => a -> b -> Maybe c -> Text -> m (Bool, MarkupParser, Ptr ())
- buildableGetInternalChild :: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) => a -> b -> Text -> m Object
- buildableGetName :: (HasCallStack, MonadIO m, IsBuildable a) => a -> m Text
- buildableParserFinished :: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) => a -> b -> m ()
- buildableSetBuildableProperty :: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) => a -> b -> Text -> GValue -> m ()
- buildableSetName :: (HasCallStack, MonadIO m, IsBuildable a) => a -> Text -> m ()

# Exported types

newtype Buildable Source #

Memory-managed wrapper type.

Constructors

Buildable (ManagedPtr Buildable) |

#### Instances

Instances details

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

class (GObject o, IsDescendantOf Buildable o) => IsBuildable o Source #

Type class for types which can be safely cast to `Buildable`, for instance with `toBuildable`.

#### Instances

Instances details

(GObject o, IsDescendantOf Buildable o) => IsBuildable o Source # |
Instance details Defined in GI.Gtk.Interfaces.Buildable

toBuildable :: (MonadIO m, IsBuildable o) => o -> m Buildable Source #

Cast to `Buildable`, 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

addChild, bindProperty, bindPropertyFull, constructChild, customFinished, customTagEnd, customTagStart, forceFloating, freezeNotify, getv, isFloating, notify, notifyByPspec, parserFinished, ref, refSink, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.

#### Getters

getData, getInternalChild, getName, getProperty, getQdata.

#### Setters

setBuildableProperty, setData, setDataFull, setName, setProperty.

## addChild

buildableAddChild Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b, IsObject c) |
=> a | `buildable`: a `Buildable`
-> b | `builder`: a `Builder`
-> c | `child`: child to add
-> Maybe Text | `type`: kind of child or `Nothing`
-> m () |

Adds a child to `buildable`. `type` is an optional string describing how the child should be added.

Since: 2.12

## constructChild

buildableConstructChild Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) |
=> a | `buildable`: A `Buildable`
-> b | `builder`: `Builder` used to construct this object
-> Text | `name`: name of child to construct
-> m Object | Returns: the constructed child

Constructs a child of `buildable` with the name `name`.

`Builder` calls this function if a “constructor” has been specified in the UI definition.

Since: 2.12

## customFinished

buildableCustomFinished Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b, IsObject c) |
=> a | `buildable`: a `Buildable`
-> b | `builder`: a `Builder`
-> Maybe c | `child`: child object or `Nothing` for non-child tags
-> Text | `tagname`: the name of the tag
-> Ptr () | `data`: user data created in custom_tag_start
-> m () |

This is similar to `buildableParserFinished` but is called once for each custom tag handled by the `buildable`.

Since: 2.12

## customTagEnd

buildableCustomTagEnd Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b, IsObject c) |
=> a | `buildable`: A `Buildable`
-> b | `builder`: `Builder` used to construct this object
-> Maybe c | `child`: child object or `Nothing` for non-child tags
-> Text | `tagname`: name of tag
-> Ptr () | `data`: user data that will be passed in to parser functions
-> m () |

This is called at the end of each custom element handled by the buildable.

Since: 2.12

## customTagStart

buildableCustomTagStart Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b, IsObject c) |
=> a | `buildable`: a `Buildable`
-> b | `builder`: a `Builder` used to construct this object
-> Maybe c | `child`: child object or `Nothing` for non-child tags
-> Text | `tagname`: name of tag
-> m (Bool, MarkupParser, Ptr ()) | Returns: `True` if a object has a custom implementation, `False` if it doesn't.

This is called for each unknown element under `<child>`.

Since: 2.12

## getInternalChild

buildableGetInternalChild Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) |
=> a | `buildable`: a `Buildable`
-> b | `builder`: a `Builder`
-> Text | `childname`: name of child
-> m Object | Returns: the internal child of the buildable object

Get the internal child called `childname` of the `buildable` object.

Since: 2.12

## getName

buildableGetName Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuildable a) |
=> a | `buildable`: a `Buildable`
-> m Text | Returns: the name set with `buildableSetName`

Gets the name of the `buildable` object.

`Builder` sets the name based on the [GtkBuilder UI definition][BUILDER-UI] used to construct the `buildable`.

Since: 2.12

## parserFinished

buildableParserFinished Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) |
=> a | `buildable`: a `Buildable`
-> b | `builder`: a `Builder`
-> m () |

Called when the builder finishes the parsing of a [GtkBuilder UI definition][BUILDER-UI]. Note that this will be called once for each time `builderAddFromFile` or `builderAddFromString` is called on a builder.

Since: 2.12

## setBuildableProperty

buildableSetBuildableProperty Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuildable a, IsBuilder b) |
=> a | `buildable`: a `Buildable`
-> b | `builder`: a `Builder`
-> Text | `name`: name of property
-> GValue | `value`: value of property
-> m () |

Sets the property name `name` to `value` on the `buildable` object.

Since: 2.12

## setName

buildableSetName Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuildable a) |
=> a | `buildable`: a `Buildable`
-> Text | `name`: name to set
-> m () |

Sets the name of the `buildable` object.

Since: 2.12