RGtkObject identifies an external object as being owned by RGtk.
Practically, it allows convenience operators to be specified for any external object."[[.RGtkObject"(x, field)
"$.RGtkObject"(x, method)
"==.RGtkObject"(x, y)RGtkObject to which the method or field belongs or the left hand of a comparison[[ and $ both expand to an RGtk function that accesses
external objects. The [[ operator retrieves a field value from an external structure
by expanding objectOfClassName[[fieldName]] to classNameGetFieldName().
External "methods" are expanded by the $ operator to form
classNameMethodName(objectOfClassName, ...) from the Java-like
objectOfClassName$methodName(...). The long and short mechanisms give
the same result, but the shortcut is obviously more convenient.The == operator compares two RGtkObjects on the basis of their internal pointer value.
This should rarely be useful for users.