Annotation of win32/gnome/gdome2-x.x.x/libgdome/gdome-events.h, revision 1.1

1.1     ! paf         1: /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
        !             2: /* gdome-events.h
        !             3:  *
        !             4:  * Copyright (C) 1999 Raph Levien <raph@acm.org>
        !             5:  * Copyright (C) 2000 Mathieu Lacage <mathieu@gnu.org>
        !             6:  * Copyright (C) 2001 Paolo Casarini <paolo@casarini.org>
        !             7:  *
        !             8:  * This library is free software; you can redistribute it and/or
        !             9:  * modify it under the terms of the GNU Lesser General Public
        !            10:  * License as published by the Free Software Foundation; either
        !            11:  * version 2.1 of the License, or (at your option) any later version.
        !            12:  * 
        !            13:  * This library is distributed in the hope that it will be useful,
        !            14:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            15:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        !            16:  * Lesser General Public License for more details.
        !            17:  * 
        !            18:  * You should have received a copy of the GNU Lesser General Public
        !            19:  * License along with this library; if not, write to the Free Software
        !            20:  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        !            21:  */
        !            22: 
        !            23: #ifndef GDOME_EVENTS_H
        !            24: #define GDOME_EVENTS_H
        !            25: 
        !            26: #include "gdome.h" 
        !            27: 
        !            28: #ifdef __cplusplus
        !            29: extern "C" {
        !            30: #endif /* __cplusplus */
        !            31: 
        !            32: typedef enum {
        !            33:        GDOME_UNSPECIFIED_EVENT_TYPE_ERR = 257
        !            34: } GdomeEventExceptionCode;
        !            35: 
        !            36: typedef unsigned short GdomeEventException;
        !            37: 
        !            38: typedef struct _GdomeEventVtab GdomeEventVtab;
        !            39: typedef struct _GdomeEventListenerVtab GdomeEventListenerVtab;
        !            40: typedef struct _GdomeMutationEventVtab GdomeMutationEventVtab;
        !            41: 
        !            42: typedef enum {
        !            43:        GDOME_BASE_EVENT = 1,
        !            44:        GDOME_MUTATION_EVENT = 2,
        !            45: } GdomeEventType;
        !            46: 
        !            47: typedef enum {
        !            48:        GDOME_CAPTURING_PHASE = 1,
        !            49:        GDOME_AT_TARGET = 2,
        !            50:        GDOME_BUBBLING_PHASE = 3
        !            51: } GdomePhaseType;
        !            52: 
        !            53: typedef enum {
        !            54:        GDOME_ADDITION = 1,
        !            55:        GDOME_MODIFICATION = 2,
        !            56:        GDOME_REMOVAL = 3
        !            57: } GdomeAttrChangeType;
        !            58: 
        !            59: struct _GdomeEvent {
        !            60:        gpointer user_data;
        !            61: };
        !            62: 
        !            63: struct _GdomeEventListener {
        !            64:        gpointer user_data;
        !            65: };
        !            66: 
        !            67: struct _GdomeMutationEvent {
        !            68:        gpointer user_data;
        !            69: };
        !            70: 
        !            71: GdomeEvent *gdome_evnt_mkref (void);
        !            72: void gdome_evnt_ref (GdomeEvent *self, GdomeException *exc);
        !            73: void gdome_evnt_unref (GdomeEvent *self, GdomeException *exc);
        !            74: gpointer gdome_evnt_query_interface (GdomeEvent *self, const char *interface, GdomeException *exc);
        !            75: GdomeDOMString *gdome_evnt_type (GdomeEvent *self, GdomeException *exc);
        !            76: GdomeEventTarget *gdome_evnt_target (GdomeEvent *self, GdomeException *exc);
        !            77: GdomeEventTarget *gdome_evnt_currentTarget (GdomeEvent *self, GdomeException *exc);
        !            78: unsigned short gdome_evnt_eventPhase (GdomeEvent *self, GdomeException *exc);
        !            79: GdomeBoolean gdome_evnt_bubbles (GdomeEvent *self, GdomeException *exc);
        !            80: GdomeBoolean gdome_evnt_cancelable (GdomeEvent *self, GdomeException *exc);
        !            81: GdomeDOMTimeStamp gdome_evnt_timeStamp (GdomeEvent *self, GdomeException *exc);
        !            82: void gdome_evnt_stopPropagation (GdomeEvent *self, GdomeException *exc);
        !            83: void gdome_evnt_preventDefault (GdomeEvent *self, GdomeException *exc);
        !            84: void gdome_evnt_initEvent (GdomeEvent *self, GdomeDOMString *eventTypeArg, GdomeBoolean canBubbleArg, GdomeBoolean cancelableArg, GdomeException *exc);
        !            85: 
        !            86: 
        !            87: 
        !            88: GdomeEventListener *gdome_evntl_mkref (void (*callback) (GdomeEventListener *self,
        !            89:                                                          GdomeEvent *event,
        !            90:                                                          GdomeException *exc),
        !            91:                                        gpointer priv);
        !            92: void gdome_evntl_ref (GdomeEventListener *self, GdomeException *exc);
        !            93: void gdome_evntl_unref (GdomeEventListener *self, GdomeException *exc);
        !            94: gpointer gdome_evntl_query_interface (GdomeEventListener *self, const char *interface, GdomeException *exc);
        !            95: void gdome_evntl_handleEvent (GdomeEventListener *self, GdomeEvent *evt, GdomeException *exc);
        !            96: gpointer gdome_evntl_get_priv (GdomeEventListener *self);
        !            97: 
        !            98: GdomeMutationEvent *gdome_mevnt_mkref (void);
        !            99: GdomeNode *gdome_mevnt_relatedNode (GdomeMutationEvent *self, GdomeException *exc);
        !           100: GdomeDOMString *gdome_mevnt_prevValue (GdomeMutationEvent *self, GdomeException *exc);
        !           101: GdomeDOMString *gdome_mevnt_newValue (GdomeMutationEvent *self, GdomeException *exc);
        !           102: GdomeDOMString *gdome_mevnt_attrName (GdomeMutationEvent *self, GdomeException *exc);
        !           103: gushort gdome_mevnt_attrChange (GdomeMutationEvent *self, GdomeException *exc);
        !           104: void gdome_mevnt_initMutationEvent (GdomeMutationEvent *self, GdomeDOMString *typeArg, GdomeBoolean canBubbleArg, GdomeBoolean cancelableArg, GdomeNode *relatedNodeArg, GdomeDOMString *prevValueArg, GdomeDOMString *newValueArg, GdomeDOMString *attrNameArg, gushort attrChangeArg, GdomeException *exc);
        !           105: void gdome_mevnt_ref (GdomeMutationEvent *self, GdomeException *exc);
        !           106: void gdome_mevnt_unref (GdomeMutationEvent *self, GdomeException *exc);
        !           107: gpointer gdome_mevnt_query_interface (GdomeMutationEvent *self, const char *interface, GdomeException *exc);
        !           108: GdomeDOMString *gdome_mevnt_type (GdomeMutationEvent *self, GdomeException *exc);
        !           109: GdomeNode *gdome_mevnt_target (GdomeMutationEvent *self, GdomeException *exc);
        !           110: GdomeNode *gdome_mevnt_currentTarget (GdomeMutationEvent *self, GdomeException *exc);
        !           111: unsigned short gdome_mevnt_eventPhase (GdomeMutationEvent *self, GdomeException *exc);
        !           112: GdomeBoolean gdome_mevnt_bubbles (GdomeMutationEvent *self, GdomeException *exc);
        !           113: GdomeBoolean gdome_mevnt_cancelable (GdomeMutationEvent *self, GdomeException *exc);
        !           114: GdomeDOMTimeStamp gdome_mevnt_timeStamp (GdomeMutationEvent *self, GdomeException *exc);
        !           115: void gdome_mevnt_stopPropagation (GdomeMutationEvent *self, GdomeException *exc);
        !           116: void gdome_mevnt_preventDefault (GdomeMutationEvent *self, GdomeException *exc);
        !           117: void gdome_mevnt_initEvent (GdomeMutationEvent *self, GdomeDOMString *eventTypeArg, GdomeBoolean canBubbleArg, GdomeBoolean cancelableArg, GdomeException *exc);
        !           118: 
        !           119: /* Casting Macro */
        !           120: #include "gdome-util.h"
        !           121: /**
        !           122:  * GDOME_EVNT:
        !           123:  * @evt:  Event Object ref
        !           124:  *
        !           125:  * Cast a ganeral GdomeEvent reference to a GdomeEvent one.
        !           126:  */
        !           127: 
        !           128: #define GDOME_EVNT(evt) gdome_cast_evnt((GdomeEvent *)evt)
        !           129: /**
        !           130:  * GDOME_MEVNT:
        !           131:  * @evt:  Event Object ref
        !           132:  *
        !           133:  * Cast a ganeral GdomeEvent reference to a GdomeMutationEvent one.
        !           134:  */
        !           135: 
        !           136: #define GDOME_MEVNT(evt) gdome_cast_mevnt((GdomeEvent *)evt)
        !           137: 
        !           138: #ifdef __cplusplus
        !           139: }
        !           140: #endif /* __cplusplus */
        !           141: 
        !           142: #endif /* GDOME_EVENTS_H */

E-mail: