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

GI.Gtk.Objects.BuilderCScope

Description

A GtkBuilderScope implementation for the C language.

GtkBuilderCScope instances use symbols explicitly added to builder with prior calls to builderCScopeAddCallbackSymbol. If developers want to do that, they are encouraged to create their own scopes for that purpose.

In the case that symbols are not explicitly added; GTK will uses GModule’s introspective features (by opening the module Nothing) to look at the application’s symbol table. From here it tries to match the signal function names given in the interface description with symbols in the application.

Note that unless builderCScopeAddCallbackSymbol is called for all signal callbacks which are referenced by the loaded XML, this functionality will require that GModule be supported on the platform.

Synopsis

Exported types

class (GObject o, IsDescendantOf BuilderCScope o) => IsBuilderCScope o Source #

Type class for types which can be safely cast to BuilderCScope, for instance with toBuilderCScope.

Instances

Instances details
(GObject o, IsDescendantOf BuilderCScope o) => IsBuilderCScope o Source # 
Instance details

Defined in GI.Gtk.Objects.BuilderCScope

toBuilderCScope :: (MonadIO m, IsBuilderCScope o) => o -> m BuilderCScope Source #

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

Methods

addCallbackSymbol

builderCScopeAddCallbackSymbol Source #

Arguments

:: (HasCallStack, MonadIO m, IsBuilderCScope a) 
=> a

self: a GtkBuilderCScope

-> Text

callbackName: The name of the callback, as expected in the XML

-> Callback

callbackSymbol: The callback pointer

-> m () 

Adds the callbackSymbol to the scope of builder under the given callbackName.

Using this function overrides the behavior of builderCreateClosure for any callback symbols that are added. Using this method allows for better encapsulation as it does not require that callback symbols be declared in the global namespace.

new

builderCScopeNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m BuilderCScope

Returns: a new GtkBuilderCScope

Creates a new GtkBuilderCScope object to use with future GtkBuilder instances.

Calling this function is only necessary if you want to add custom callbacks via builderCScopeAddCallbackSymbol.