gi-gtk-3.0.38: Gtk bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gtk.Interfaces.Buildable

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

Exported types

newtype Buildable Source #

Memory-managed wrapper type.

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

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