gObjectGet(obj, ...)
"[.GObject"(obj, value, ...)
gObjectSet(obj, ...)
"[<-.GObject"(obj, propNames, value)
gObject(type, ...)
gObjectNew(type, ...)
gObjectSetData(obj, key, data = NULL)
gObjectGetData(obj, key)
gObjectGetSignals(obj)
gObjectGetPropInfo(obj, parents = TRUE, collapse = FALSE)
names.GObject(x)
interface.GObject(obj)
GObject
GObject
to createGObject
GObject
for which the property names are to be retrievedgObjectGet
and gObjectGetData
, respectively.
gObjectNew
returns a new instance of the specified type
.
gObjectGetPropInfo
returns a named list of property info pertaining to a GObject
type,
including the types of the properties and their flags (read-only, read-write, construct, etc).
gObjectGetSignals
gets a list of signal ids with names for the signals supported by the object.GObject
has a type, known as a GType
. Like all
object-oriented paradigms, types may be (in this case singly) inherited.
Thus, every GObject
has a type that descends from the common
GObject
type. GObject
s may also implement interfaces. The
interfaces implemented by a particular object may be found in the
interfaces
attribute of an R object representing a GObject
,
for which, as you might expect, inherits("GObject")
returns TRUE
.
To conveniently access this attribute, use interface.GObject
.A GObject
is usually constructed with the constructor belonging
to a particular subtype (for example, gtkWindowNew
constructs a
GtkWindow
). It is also possible to use gObjectNew
to construct an instance of GObject
with the given type and properties.
The properties of a GObject
are name-value pairs that may be retrieved
and set using gObjectGet
and gObjectSet
, respectively.
Whenever specifying properties as arguments in RGtk2, name the arguments with
the property name and give the desired property value as the actual argument.
For example, gObjectSet(window, modal = T)
to make a window modal. For
convenience, the [
operator may be used to get/set properties. For example,
window["modal"] <- T
. Properties at least partly describe the state of an
object and are convenient for many reasons, including the capability of
notification upon property changes.
This notification occurs via GObject
signals, which are named hooks for
which callbacks may be registered. The event driven system of GTK+ depends on
signals for coordinating objects in response to both user and programmatic events.
You can use gSignalConnect
to connect an R function to a signal.
Finally, arbitrary R objects can be stored in a GObject
under a specific key
for later retrieval. This can be achieved with gObjectSetData
and
gObjectGetData
, respectively. This is similar to attributes in R, with
a major difference being that changes occur in the external GObject
,
transcending the local R object.
GObject
s also offer some introspection capabilities. gObjectGetPropInfo
and gObjectGetSignals
provide a list of supported properties and signals, respectively.
names.GObject
lists the available properties for an object.
It is hoped that in the future methods and fields may also be introspected.
GType
GSignal