/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#ifndef __com_sun_star_xml_dom_events_EventType_idl__
#define __com_sun_star_xml_dom_events_EventType_idl__

module com { module sun { module star { module xml { module dom { module events {

enum EventType
{
    DOMFocusIn,
    /*
    The DOMFocusIn event occurs when an EventTarget receives focus, for instance via a pointing device being moved onto an element or by tabbing navigation to the element. Unlike the HTML event focus, DOMFocusIn can be applied to any focusable EventTarget, not just FORM controls.
    * Bubbles: Yes
    * Cancelable: No
    * Context Info: None
    */

    DOMFocusOut,
    /*
    The DOMFocusOut event occurs when an EventTarget loses focus, for instance via a pointing device being moved out of an element or by tabbing navigation out of the element. Unlike the HTML event blur, DOMFocusOut can be applied to any focusable EventTarget, not just FORM controls.
    * Bubbles: Yes
    * Cancelable: No
    * Context Info: None
    */

    DOMActivate,
    /*
    The activate event occurs when an element is activated, for instance, through a mouse click or a key press. A numerical argument is provided to give an indication of the type of activation that occurs: 1 for a simple activation (e.g. a simple click or Enter), 2 for hyper activation (for instance a double click or Shift Enter).
    * Bubbles: Yes
    * Cancelable: Yes
    * Context Info: detail (the numerical value)
    */

    click,
    /*
    The click event occurs when the pointing device button is clicked over an element.
    A click is defined as a mousedown and mouseup over the same screen location.
    The sequence of these events is:

    mousedown
    mouseup
    click

    If multiple clicks occur at the same screen location, the sequence repeats with the detail attribute incrementing with each repetition. This event is valid for most elements.

    * Bubbles: Yes
    * Cancelable: Yes
    * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail
    */

    mousedown,
    /*
    The mousedown event occurs when the pointing device button is pressed over an element. This event is valid for most elements.
    * Bubbles: Yes
    * Cancelable: Yes
    * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail
    */

    mouseup,
    /*
    The mouseup event occurs when the pointing device button is released over an element. This event is valid for most elements.
    * Bubbles: Yes
    * Cancelable: Yes
    * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail
    */

    mouseover,
    /*
    The mouseover event occurs when the pointing device is moved onto an element. This event is valid for most elements.
    * Bubbles: Yes
    * Cancelable: Yes
    * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, relatedTarget indicates the EventTarget the pointing device is exiting.
    */

    mousemove,
    /*
    The mousemove event occurs when the pointing device is moved while it is over an element. This event is valid for most elements.
    * Bubbles: Yes
    * Cancelable: No
    * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey
    */

    mouseout,
    /*
    The mouseout event occurs when the pointing device is moved away from an element. This event is valid for most elements...
    * Bubbles: Yes
    * Cancelable: Yes
    * Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, relatedTarget indicates the EventTarget the pointing device is entering.
    */

    DOMSubtreeModified,
    /*
    This is a general event for notification of all changes to the document. It can be used instead of the more specific events listed below. It may be fired after a single modification to the document or, at the implementation's discretion, after multiple changes have occurred. The latter use should generally be used to accommodate multiple changes which occur either simultaneously or in rapid succession. The target of this event is the lowest common parent of the changes which have taken place. This event is dispatched after any other events caused by the mutation have fired.
    * Bubbles: Yes
    * Cancelable: No
    * Context Info: None
    */

    DOMNodeInserted,
    /*
    Fired when a node has been added as a child of another node. This event is dispatched after the insertion has taken place. The target of this event is the node being inserted.
    * Bubbles: Yes
    * Cancelable: No
    * Context Info: relatedNode holds the parent node
    */

    DOMNodeRemoved,
    /*
    Fired when a node is being removed from its parent node. This event is dispatched before the node is removed from the tree. The target of this event is the node being removed.
    * Bubbles: Yes
    * Cancelable: No
    * Context Info: relatedNode holds the parent node
    */

    DOMNodeRemovedFromDocument,
    /*
    Fired when a node is being removed from a document, either through direct removal of the Node or removal of a subtree in which it is contained. This event is dispatched before the removal takes place. The target of this event is the Node being removed. If the Node is being directly removed the DOMNodeRemoved event will fire before the DOMNodeRemovedFromDocument event.
    * Bubbles: No
    * Cancelable: No
    * Context Info: None
    */

    DOMNodeInsertedIntoDocument,
    /*
    Fired when a node is being inserted into a document, either through direct insertion of the Node or insertion of a subtree in which it is contained. This event is dispatched after the insertion has taken place. The target of this event is the node being inserted. If the Node is being directly inserted the DOMNodeInserted event will fire before the DOMNodeInsertedIntoDocument event.
    * Bubbles: No
    * Cancelable: No
    * Context Info: None
    */

    DOMAttrModified,
    /*
    Fired after an Attr has been modified on a node. The target of this event is the Node whose Attr changed. The value of attrChange indicates whether the Attr was modified, added, or removed. The value of relatedNode indicates the Attr node whose value has been affected. It is expected that string based replacement of an Attr value will be viewed as a modification of the Attr since its identity does not change. Subsequently replacement of the Attr node with a different Attr node is viewed as the removal of the first Attr node and the addition of the second.
    * Bubbles: Yes
    * Cancelable: No
    * Context Info: attrName, attrChange, prevValue, newValue, relatedNode
    */

    DOMCharacterDataModified
    /*
    Fired after CharacterData within a node has been modified but the node itself has not been inserted or deleted. This event is also triggered by modifications to PI elements. The target of this event is the CharacterData node.
    * Bubbles: Yes
    * Cancelable: No
    * Context Info: prevValue, newValue
    */
};
}; }; }; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
