org.gnu.glib

Class GObject

Known Direct Subclasses:
GListString, TypeInterface

public class GObject
extends Struct

Base class for all objects that participate in the GLib object system.

Field Summary

protected boolean
eventsInitialized
Event initialization marker.

Constructor Summary

GObject()
Create an uninitialized instance.
GObject(Handle handle)
Create a new GObject with a handle to a native resource returned from a call to the native libraries.
GObject(Type type)
Create a new GObject of the given type.

Method Summary

int
addEventHandler(String name, Object cbrecv)
Connect an event to a callback method that has the same name as the event.
int
addEventHandler(String name, Object cbrecv, Object data)
Connect a event to a callback method that has the same name as the event.
int
addEventHandler(String name, String func, Class cbrecv)
Connect a event to a static callback method "func" in Class "cbrecv".
int
addEventHandler(String name, String func, Class cbrecv, Object data)
Connect a event to a static callback method "func" in Class "cbrecv".
int
addEventHandler(String name, String func, Object cbrecv)
Connect a event to a callback method "func" in object "cbrecv".
int
addEventHandler(String name, String func, Object cbrecv, Object data)
Connect a event to a callback method "func" in object "cbrecv".
int
addEventHandler(String name, String func, Object cbrecv, boolean shouldCopyIfBoxed)
Connect a event to a callback method "func" in object "cbrecv".
void
addListener(PropertyNotificationListener listen)
Add a listener that will be activated when a property is updated updated ("notify" signal).
static void
collect()
protected void
finalize()
void
freezeNotify()
Stops emission of "notify" signals on object.
boolean
getBooleanProperty(String name)
Convenience method for retrieving boolean properties.
Object
getData(String key)
Gets the Java Object associated with the given key from this object's object association table.
protected static Object
getData(Handle handle, String key)
double
getDoubleProperty(String name)
Convenience method for retrieving double properties.
Class
getEventListenerClass(String signal)
EventType
getEventType(String signal)
float
getFloatProperty(String name)
Convenience method for retrieving float properties.
static GObject
getGObjectFromHandle(Handle hndl)
Gets a GObject instance for the given Handle.
protected static int
getIntFromHandle(Handle handle)
Return the int to which the native Handle holds a pointer.
int
getIntProperty(String name)
Convenience method for retrieving int properties.
Object
getJavaObjectProperty(String name)
Convenience method for retrieving Object properties.
long
getLongProperty(String name)
Convenience method for retrieving long properties.
Value
getProperty(String name)
Get the Value of the given property (name).
protected static String
getStringFromHandle(Handle handle)
Return the String to which the native Handle holds a pointer.
String
getStringProperty(String name)
Convenience method for retrieving String properties.
boolean
hasProperty(String name)
Determines if this object supports the given named property.
protected static Object
instantiateJGObjectFromGType(int type, Handle handle)
void
notify(String property_name)
Emits a "notify" signal for the given property.
void
removeEventHandler(int handler)
Disconnect a event from its' callback method.
void
removeListener(PropertyNotificationListener listen)
Remove the given listener from those activated when a property is updated.
protected GObject
retrieveGObject(Handle hndl)
Deprecated. This method is deprecated in favor of getGObjectFromHandle(Handle).
void
setBooleanProperty(String name, boolean value)
Convenience method for setting boolean properties.
void
setData(String key, Object data)
Sets an association from a String to a Java Object to be stored in the GTK object's table of associations.
protected static void
setData(Handle handle, String key, Object data)
void
setDoubleProperty(String name, double value)
Convenience method for setting double properties.
void
setFloatProperty(String name, float value)
Convenience method for setting float properties.
void
setIntProperty(String name, int value)
Convenience method for setting int properties.
void
setJavaObjectProperty(String name, Object value)
Convenience method for setting Object properties.
void
setLongProperty(String name, long value)
Convenience method for setting long properties.
void
setProperty(String name, Value val)
Set the given property (name) with the given Value on this object.
void
setStringProperty(String name, String value)
Convenience method for setting String properties.
void
thawNotify()
Reverts the effect of a previous call to freezeNotify.

Methods inherited from class org.gnu.glib.Struct

equals, getHandle, getNullHandle, hashCode, setHandle

Field Details

eventsInitialized

protected boolean eventsInitialized
Event initialization marker.

Constructor Details

GObject

protected GObject()
Create an uninitialized instance. This has potential uses for derived classes.

GObject

public GObject(Handle handle)
Create a new GObject with a handle to a native resource returned from a call to the native libraries.
Parameters:
handle - The handle that represents a pointer to a native resource.

GObject

public GObject(Type type)
Create a new GObject of the given type.

Method Details

addEventHandler

public int addEventHandler(String name,
                           Object cbrecv)
Connect an event to a callback method that has the same name as the event. For example, the event "clicked" will be mapped to a method "clicked()" in the object cbrecv.
Parameters:
name - The name of the event to map.
cbrecv - The name of the object that is to recieve the event.
Returns:
The handle id of the event that can be used in a call to removeEventHandler.

addEventHandler

public int addEventHandler(String name,
                           Object cbrecv,
                           Object data)
Connect a event to a callback method that has the same name as the event. For example, the event "clicked" will be mapped to a method "clicked()" in the object cbrecv.
Parameters:
name - The name of the event to map.
cbrecv - The name of the object that is to recieve the event.
data - User defined data that will be passed to the callback.
Returns:
The handle id of the event that can be used in a call to removeEventHandler.

addEventHandler

public int addEventHandler(String name,
                           String func,
                           Class cbrecv)
Connect a event to a static callback method "func" in Class "cbrecv".
Parameters:
name - The name of the event to map.
func - The name of the static callback method.
cbrecv - The name of the class that is to recieve the event.
Returns:
The handle id of the event that can be used in a call to removeEventHandler.

addEventHandler

public int addEventHandler(String name,
                           String func,
                           Class cbrecv,
                           Object data)
Connect a event to a static callback method "func" in Class "cbrecv".
Parameters:
name - The name of the event to map.
func - The name of the static callback method.
cbrecv - The name of the class that is to recieve the event.
data - User defined data that will be passed to the callback.
Returns:
The handle id of the event that can be used in a call to removeEventHandler.

addEventHandler

public int addEventHandler(String name,
                           String func,
                           Object cbrecv)
Connect a event to a callback method "func" in object "cbrecv".
Parameters:
name - The name of the event to map.
func - The name of the callback method.
cbrecv - The name of the object that is to recieve the event.
Returns:
The handle id of the event that can be used in a call to removeEventHandler.

addEventHandler

public int addEventHandler(String name,
                           String func,
                           Object cbrecv,
                           Object data)
Connect a event to a callback method "func" in object "cbrecv".
Parameters:
name - The name of the event to map.
func - The name of the callback method.
cbrecv - The name of the object that is to recieve the event.
data - User defined data that will be passed to the callback.
Returns:
The handle id of the event that can be used in a call to removeEventHandler.

addEventHandler

public int addEventHandler(String name,
                           String func,
                           Object cbrecv,
                           boolean shouldCopyIfBoxed)
Connect a event to a callback method "func" in object "cbrecv".
Parameters:
name - The name of the event to map.
func - The name of the callback method.
cbrecv - The name of the object that is to recieve the event.
shouldCopyIfBoxed - Should copy the incoming object associated with the signal. Only for type Boxed.
Returns:
The handle id of the event that can be used in a call to removeEventHandler.

addListener

public void addListener(PropertyNotificationListener listen)
Add a listener that will be activated when a property is updated updated ("notify" signal). The notify signal is emitted on an object when one of its properties has been changed. Note that getting this signal doesn't guarantee that the value of the property has actually changed, it may also be emitted when the setter for the property is called to reinstate the previous value.

collect

public static final void collect()

finalize

protected void finalize()
            throws Throwable

freezeNotify

public void freezeNotify()
Stops emission of "notify" signals on object. The signals are queued until thawNotify() is called.

This is necessary for accessors that modify multiple properties to prevent premature notification while the object is still being modified.


getBooleanProperty

public boolean getBooleanProperty(String name)
Convenience method for retrieving boolean properties.
Parameters:
name - The name of the property to retrieve.
Returns:
The value of the given property.

getData

public Object getData(String key)
Gets the Java Object associated with the given key from this object's object association table.
Parameters:
key - The association key.
Returns:
The Java Object associated with this key or null if the named association key does not exist.

getData

protected static final Object getData(Handle handle,
                                      String key)

getDoubleProperty

public double getDoubleProperty(String name)
Convenience method for retrieving double properties.
Parameters:
name - The name of the property to retrieve.
Returns:
The value of the given property.

getEventListenerClass

public Class getEventListenerClass(String signal)

getEventType

public EventType getEventType(String signal)

getFloatProperty

public float getFloatProperty(String name)
Convenience method for retrieving float properties.
Parameters:
name - The name of the property to retrieve.
Returns:
The value of the given property.

getGObjectFromHandle

public static GObject getGObjectFromHandle(Handle hndl)
Gets a GObject instance for the given Handle. If no Java object currently exists for the given Handle, this method will return null. You should then instantiate the required Java class using the class' handle-constructor. For example:
 // Get a Handle from somewhere (typically as a parameter to a method
 // used as a callback and invoked from the C JNI side).
 SomeGtkClass finalobj = null;
 GObject obj = GObject.getGObjectFromHandle(handle);
 if (obj == null) {
     finalobj = new SomeGtkClass(handle);
 } else {
     finalobj = (SomeGtkClass) obj;
 }
 
NOTE: This is for internal use only and should never need to be used in application code.

getIntFromHandle

protected static final int getIntFromHandle(Handle handle)
Return the int to which the native Handle holds a pointer. The native Handle is assumed to hold a C pointer to an int ( gint* ). This method dereferences that pointer and returns the value to which it points as an integer.
Parameters:
handle - The native Handle holding a pointer to an int.
Returns:
The int that is pointed to by the native Handle.

getIntProperty

public int getIntProperty(String name)
Convenience method for retrieving int properties.
Parameters:
name - The name of the property to retrieve.
Returns:
The value of the given property.

getJavaObjectProperty

public Object getJavaObjectProperty(String name)
Convenience method for retrieving Object properties.
Parameters:
name - The name of the property to retrieve.
Returns:
The value of the given property.

getLongProperty

public long getLongProperty(String name)
Convenience method for retrieving long properties.
Parameters:
name - The name of the property to retrieve.
Returns:
The value of the given property.

getProperty

public Value getProperty(String name)
Get the Value of the given property (name). If there is a GTK property with this name, the GTK property will be retrived. Otherwise, a Java-side property will be returned.

NOTE: Prefer using one of the convenience methods over using this method directly.

Parameters:
name - The name of the property to retrieve.
Returns:
The value of the given property.

getStringFromHandle

protected static final String getStringFromHandle(Handle handle)
Return the String to which the native Handle holds a pointer. The native Handle is assumed to hold a C pointer to a String (char* ). This method dereferences that pointer and returns the value to which it points as a String.
Parameters:
handle - The native Handle holding a pointer to a String.
Returns:
The String that is pointed to by the native Handle.

getStringProperty

public String getStringProperty(String name)
Convenience method for retrieving String properties.
Parameters:
name - The name of the property to retrieve.
Returns:
The value of the given property.

hasProperty

public boolean hasProperty(String name)
Determines if this object supports the given named property. First the GTK properties are checked, then, if no property with this name is found, the Java-side properties are checked.
Parameters:
name - The property to verify.
Returns:
True if the given name is a property of this object, false otherwise.

instantiateJGObjectFromGType

protected static final Object instantiateJGObjectFromGType(int type,
                                                           Handle handle)

notify

public void notify(String property_name)
Emits a "notify" signal for the given property. The property can be a GTK native property or a Java-side property. If no property exist by the given name, this method does nothing.
Parameters:
property_name - The name of a property installed on the class of this object.

removeEventHandler

public void removeEventHandler(int handler)
Disconnect a event from its' callback method.
Parameters:
handler - The handler id of the event. This is the value returned from a call to addEventHandler().

removeListener

public void removeListener(PropertyNotificationListener listen)
Remove the given listener from those activated when a property is updated.

retrieveGObject

protected GObject retrieveGObject(Handle hndl)

Deprecated. This method is deprecated in favor of getGObjectFromHandle(Handle).


setBooleanProperty

public void setBooleanProperty(String name,
                               boolean value)
Convenience method for setting boolean properties.
Parameters:
name - The name of the property to set.
value - The value to set in the property.

setData

public void setData(String key,
                    Object data)
Sets an association from a String to a Java Object to be stored in the GTK object's table of associations. If the object already had an association with the given key, the old association will be destroyed.
Parameters:
key - The association key.
data - The Java Object to associate with the given key.

setData

protected static final void setData(Handle handle,
                                    String key,
                                    Object data)

setDoubleProperty

public void setDoubleProperty(String name,
                              double value)
Convenience method for setting double properties.
Parameters:
name - The name of the property to set.
value - The value to set in the property.

setFloatProperty

public void setFloatProperty(String name,
                             float value)
Convenience method for setting float properties.
Parameters:
name - The name of the property to set.
value - The value to set in the property.

setIntProperty

public void setIntProperty(String name,
                           int value)
Convenience method for setting int properties.
Parameters:
name - The name of the property to set.
value - The value to set in the property.

setJavaObjectProperty

public void setJavaObjectProperty(String name,
                                  Object value)
Convenience method for setting Object properties.
Parameters:
name - The name of the property to set.
value - The value to set in the property.

setLongProperty

public void setLongProperty(String name,
                            long value)
Convenience method for setting long properties.
Parameters:
name - The name of the property to set.
value - The value to set in the property.

setProperty

public void setProperty(String name,
                        Value val)
Set the given property (name) with the given Value on this object. If there is a GTK property with this name, the GTK property will be set. Otherwise, a Java-side property will be set.

NOTE: Prefer using one of the convenience methods over using this method directly.

Parameters:
name - The name of the property to set.
val - The value to set in the property.

setStringProperty

public void setStringProperty(String name,
                              String value)
Convenience method for setting String properties.
Parameters:
name - The name of the property to set.
value - The value to set in the property.

thawNotify

public void thawNotify()
Reverts the effect of a previous call to freezeNotify. This causes all queued "notify" signals on object to be emitted.