Gdome2 Reference Manual
<<< Previous Page | Home | Up | Next Page >>>

# GdomeMutationEvent

## Name

GdomeMutationEvent -- Interface MutationEvent implementation.

## Synopsis

    struct      GdomeMutationEvent;
    GdomeMutationEvent* gdome_mevnt_mkref       (void);
    void        gdome_mevnt_ref                 (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    void        gdome_mevnt_unref               (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    gpointer    gdome_mevnt_query_interface     (GdomeMutationEvent *self,
                                                 const char *interface,
                                                 GdomeException *exc);
    GdomeBoolean gdome_mevnt_bubbles            (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    GdomeBoolean gdome_mevnt_cancelable         (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    GdomeNode*  gdome_mevnt_currentTarget       (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    unsigned short gdome_mevnt_eventPhase       (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    GdomeNode*  gdome_mevnt_target              (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    GdomeDOMTimeStamp gdome_mevnt_timeStamp     (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    GdomeDOMString* gdome_mevnt_type            (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    gushort     gdome_mevnt_attrChange          (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    GdomeDOMString* gdome_mevnt_attrName        (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    GdomeDOMString* gdome_mevnt_newValue        (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    GdomeDOMString* gdome_mevnt_prevValue       (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    GdomeNode*  gdome_mevnt_relatedNode         (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    void        gdome_mevnt_initEvent           (GdomeMutationEvent *self,
                                                 GdomeDOMString *eventTypeArg,
                                                 GdomeBoolean canBubbleArg,
                                                 GdomeBoolean cancelableArg,
                                                 GdomeException *exc);
    void        gdome_mevnt_preventDefault      (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    void        gdome_mevnt_stopPropagation     (GdomeMutationEvent *self,
                                                 GdomeException *exc);
    void        gdome_mevnt_initMutationEvent   (GdomeMutationEvent *self,
                                                 GdomeDOMString *typeArg,
                                                 GdomeBoolean canBubbleArg,
                                                 GdomeBoolean cancelableArg,
                                                 GdomeNode *relatedNodeArg,
                                                 GdomeDOMString *prevValueArg,
                                                 GdomeDOMString *newValueArg,
                                                 GdomeDOMString *attrNameArg,
                                                 gushort attrChangeArg,
                                                 GdomeException *exc);

## Description

GdomeMutationEvent objects are designed to signal notification of any changes to the structure of a document, including attr and text modifications. It may be noted that none of the mutation events are designated as cancelable. This stems from the fact that it is very difficult to make use of existing DOM interfaces which cause document modifications if any change to the document might or might not take place due to cancelation of the related event.

> Note: To create an instance of the GdomeMutationEvent interface, use the feature string "MutationEvents" as the value of the input parameter used with the gdome_doc_createEvent() method of the GdomeDocument interface.

## Details

### struct GdomeMutationEvent

    struct GdomeMutationEvent {
    	gpointer user_data;
    };

### gdome_mevnt_mkref ()

    GdomeMutationEvent* gdome_mevnt_mkref       (void);

Returns : | a new allocated GdomeMutationEvent.

### gdome_mevnt_ref ()

    void        gdome_mevnt_ref                 (GdomeMutationEvent *self,
                                                 GdomeException *exc);

Increase the reference count of the specified Event.

`self` : | Event Object ref
`exc` : | Exception Object ref

### gdome_mevnt_unref ()

    void        gdome_mevnt_unref               (GdomeMutationEvent *self,
                                                 GdomeException *exc);

Decrease the reference count of the specified Event. Free the Event structure if the Event will have zero reference.

`self` : | Event Object ref
`exc` : | Exception Object ref

### gdome_mevnt_query_interface ()

    gpointer    gdome_mevnt_query_interface     (GdomeMutationEvent *self,
                                                 const char *interface,
                                                 GdomeException *exc);

`self` : | Event Object ref
`interface` : | name of the Interface needed.
`exc` : | Exception Object ref
Returns : | a reference to the object that implements the interface needed or `NULL` if this object doesn't implement the interface specified.

### gdome_mevnt_bubbles ()

    GdomeBoolean gdome_mevnt_bubbles            (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | Event Object ref
`exc` : | Exception Object ref
Returns : | If the event can bubble the value is `TRUE`, else the value is `FALSE`.

### gdome_mevnt_cancelable ()

    GdomeBoolean gdome_mevnt_cancelable         (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | Event Object ref
`exc` : | Exception Object ref
Returns : | If the default action can be prevented the value is `TRUE`, else the value is `FALSE`.

### gdome_mevnt_currentTarget ()

    GdomeNode*  gdome_mevnt_currentTarget       (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | Event Object ref
`exc` : | Exception Object ref
Returns : | the EventTarget whose EventListeners are currently being processed. This is particularly useful during capturing and bubbling.

### gdome_mevnt_eventPhase ()

    unsigned short gdome_mevnt_eventPhase       (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | Event Object ref
`exc` : | Exception Object ref
Returns : | the phase of event flow is currently being evaluated.

### gdome_mevnt_target ()

    GdomeNode*  gdome_mevnt_target              (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | Event Object ref
`exc` : | Exception Object ref
Returns : | the EventTarget to which the event was originally dispatched.

### gdome_mevnt_timeStamp ()

    GdomeDOMTimeStamp gdome_mevnt_timeStamp     (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | Event Object ref
`exc` : | Exception Object ref
Returns : | the time (in milliseconds relative to the epoch) at which the event was created. Due to the fact that some systems may not provide this information the value of timeStamp may be not available for all events. When not available, a value of 0 will be returned. Examples of epoch time are the time of the system start or 0:0:0 UTC 1st January 1970.

### gdome_mevnt_type ()

    GdomeDOMString* gdome_mevnt_type            (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | Event Object ref
`exc` : | Exception Object ref
Returns : | The name of the event (case-insensitive). The name must be an XML name.

### gdome_mevnt_attrChange ()

    gushort     gdome_mevnt_attrChange          (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | MutationEvent Object ref
`exc` : | Exception Object ref
Returns : | the type of change which triggered the DOMAttrModified event. The values can be `MODIFICATION`, `ADDITION`, or `REMOVAL`. If an error occur, `0` is returned.

### gdome_mevnt_attrName ()

    GdomeDOMString* gdome_mevnt_attrName        (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | MutationEvent Object ref
`exc` : | Exception Object ref
Returns : | the name of the changed Attr node in a DOMAttrModified event.

### gdome_mevnt_newValue ()

    GdomeDOMString* gdome_mevnt_newValue        (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | MutationEvent Object ref
`exc` : | Exception Object ref
Returns : | the new value of the Attr node in DOMAttrModified events, and of the CharacterData node in DOMCharDataModified events.

### gdome_mevnt_prevValue ()

    GdomeDOMString* gdome_mevnt_prevValue       (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | MutationEvent Object ref
`exc` : | Exception Object ref
Returns : | the previous value of the Attr node in DOMAttrModified events, and of the CharacterData node in DOMCharDataModified events.

### gdome_mevnt_relatedNode ()

    GdomeNode*  gdome_mevnt_relatedNode         (GdomeMutationEvent *self,
                                                 GdomeException *exc);

`self` : | MutationEvent Object ref
`exc` : | Exception Object ref
Returns : | a secondary node related to a mutation event. For example, if a mutation event is dispatched to a node indicating that its parent has changed, the relatedNode is the changed parent. If an event is instead dispatched to a subtree indicating a node was changed within it, the relatedNode is the changed node. In the case of the DOMAttrModified event it indicates the Attr node which was modified, added, or removed.

### gdome_mevnt_initEvent ()

    void        gdome_mevnt_initEvent           (GdomeMutationEvent *self,
                                                 GdomeDOMString *eventTypeArg,
                                                 GdomeBoolean canBubbleArg,
                                                 GdomeBoolean cancelableArg,
                                                 GdomeException *exc);

The initEvent method is used to initialize the value of an Event created through the gdome_doc_createEvent() API. This method may only be called before the Event has been dispatched via the dispatchEvent method, though it may be called multiple times during that phase if necessary. If called multiple times the final invocation takes precedence. If called from a subclass of Event interface only the values specified in the initEvent method are modified, all other attributes are left unchanged.

`self` : | Event Object ref
`eventTypeArg` : | Specifies the event type. This type may be any event type currently defined in this specification or a new event type. The string must be an XML name. Any new event type must not begin with any upper, lower, or mixed case version of the string "DOM". This prefix is reserved for future DOM event sets. It is also strongly recommended that third parties adding their own events use their own prefix to avoid confusion and lessen the probability of conflicts with other new events.
`canBubbleArg` : | Specifies whether or not the event can bubble.
`cancelableArg` : | Specifies whether or not the event's default action can be prevented.
`exc` : | Exception Object ref

### gdome_mevnt_preventDefault ()

    void        gdome_mevnt_preventDefault      (GdomeMutationEvent *self,
                                                 GdomeException *exc);

If an event is cancelable, the preventDefault method is used to signify that the event is to be canceled, meaning any default action normally taken by the implementation as a result of the event will not occur. If, during any stage of event flow, the preventDefault method is called the event is canceled. Any default action associated with the event will not occur. Calling this method for a non-cancelable event has no effect. Once preventDefault has been called it will remain in effect throughout the remainder of the event's propagation. This method may be used during any stage of event flow.

`self` : | Event Object ref
`exc` : | Exception Object ref

### gdome_mevnt_stopPropagation ()

    void        gdome_mevnt_stopPropagation     (GdomeMutationEvent *self,
                                                 GdomeException *exc);

The stopPropagation method is used prevent further propagation of an event during event flow. If this method is called by any EventListener the event will cease propagating through the tree. The event will complete dispatch to all listeners on the current EventTarget before event flow stops. This method may be used during any stage of event flow.

`self` : | Event Object ref
`exc` : | Exception Object ref

### gdome_mevnt_initMutationEvent ()

    void        gdome_mevnt_initMutationEvent   (GdomeMutationEvent *self,
                                                 GdomeDOMString *typeArg,
                                                 GdomeBoolean canBubbleArg,
                                                 GdomeBoolean cancelableArg,
                                                 GdomeNode *relatedNodeArg,
                                                 GdomeDOMString *prevValueArg,
                                                 GdomeDOMString *newValueArg,
                                                 GdomeDOMString *attrNameArg,
                                                 gushort attrChangeArg,
                                                 GdomeException *exc);

The initMutationEvent method is used to initialize the value of a GdomeMutationEvent created through the DocumentEvent interface. This method may only be called before the MutationEvent has been dispatched via the dispatchEvent method, though it may be called multiple times during that phase if necessary. If called multiple times, the final invocation takes precedence.

`self` : | MutationEvent Object ref
`typeArg` : | Specifies the event type.
`canBubbleArg` : | Specifies whether or not the event can bubble.
`cancelableArg` : | Specifies whether or not the event's default action can be prevented.
`relatedNodeArg` : | Specifies the Event's related Node. This value may be `NULL`.
`prevValueArg` : | Specifies the Event's prevValue attribute. This value may be `NULL`.
`newValueArg` : | Specifies the Event's newValue attribute. This value may be `NULL`.
`attrNameArg` : | Specifies the Event's attrName attribute. This value may be null.
`attrChangeArg` : | Specifies the Event's attrChange attribute
`exc` : | Exception Object ref

<<< Previous Page | Home | Up | Next Page >>>
GdomeEvent | XPath modules