-2001-11-13 Michael Meeks <michael@ximian.com>
+2001-14-11 Bill Haneman <bill.haneman@sun.com>
+
+ * at-bridge/bridge.c:
+ Initial work for toolkit-level key snooper connection by bridge.
+
+ * cspi/spi-impl.h:
+ * cspi/spi_*.h:
+ * cspi/spi_*.c:
+ New typedefs and fixes to support new namespacing, and cleaner
+ separation of cspi bindings from libspi bonobo implementation.
+ Removed inconsistent and extraneous Spi* namespace prefix that
+ had crept into cspi headers.
+ Lots of comment fixes that sed had missed.
+
+ * cspi/spi-roletypes.h:
+ * cspi/spi-statetypes.h:
+ Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
+ to AccessibleRoleType.
+
+ * libspi/accessibleeventlistener.h:
+ Fixed minor namespacing weirdness.
+
+ * libspi/deviceeventcontroller.c:
+ Reordered some internal API for device listeners.
+ Changed the key registry final boolean to 'is_system_global'
+ rather than 'is_synchronous', which is more descriptive of its
+ actual meaning.
+ Added spi_device_event_controller_new().
+ Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
+
+ * libspi/keystrokelistener.[ch]:
+ Namespaced KeystrokeListener to SpiKeystrokeListener.
+ Changed uses of keymasks to use SPI_ prefix, and did other
+ knock-on fixups.
+
+ * libspi/keymasks.h:
+ Namespaced keymask constants with SPI_ prefix.
+
+ * libspi/registry.c:
+ Some warning fixes, and knock-on fixes from namespace changes.
+
+ * test/Makefile.am:
+ Added rules for accessx-gui test program.
+
+ * test/accessx-gui.c:
+ Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
+ utility. It doesn't actually use at-spi, but it's still cool and
+ useful ;-)
+
+ * test/keysynth-demo.c:
+ * test/simple-at.c:
+ * test/at.c:
+ * test/app.c:
+ Fixes so that these test clients work properly with the namespaced
+ libraries. (Incompletely tested for technical reasons, fixes may follow)
+
+
+2001-13-11 Michael Meeks <michael@ximian.com>
* libspi/application.c
(impl_accessibility_application_get_version),
(impl_accessibility_accessible_get_relation_set):
warning fixes & include action.h
-2001-11-13 Michael Meeks <michael@ximian.com>
+2001-13-11 Michael Meeks <michael@ximian.com>
* *.[ch] fix bits I screwed up:
s/([^ \tb(\*\&\?\",])spi_/\1/g;
s/([^ \tb(\*\&\?\",])Spi/\1/g;
-2001-11-13 Michael Meeks <michael@ximian.com>
+2001-13-11 Michael Meeks <michael@ximian.com>
* *.[ch] Namespace libspi into spi_ and Spi.
-2001-11-13 Michael Meeks <michael@ximian.com>
+2001-13-11 Michael Meeks <michael@ximian.com>
* Makefile.am: dist & install at-spi-1.0.pc
* configure.in: build it.
-2001-11-12 Bill Haneman <bill.haneman@sun.com>
+2001-12-11 Bill Haneman <bill.haneman@sun.com>
* test/keysynth-demo.c:
Use a 'realize' signal-handler to set the WM properties for
const GValue *param_values,
gpointer data);
+static gint bridge_key_listener (AtkImplementor *atk_impl,
+ AtkKeyEventStruct *event,
+ gpointer data);
+
int
gtk_module_init(gint *argc, gchar **argv[])
{
atk_add_focus_tracker (bridge_focus_tracker);
atk_add_global_event_listener (bridge_property_event_listener, "Gtk:AtkObject:property-change");
-/* atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkObject:children-changed");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkObject:children-changed");
atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkText:text-changed");
- atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkText:text-caret-moved");*/
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkText:text-caret-moved");
+ atk_add_key_event_listener (bridge_key_listener, NULL);
}
static void bridge_exit_func()
return TRUE;
}
+static gint
+bridge_key_listener (AtkImplementor *atk_impl, AtkKeyEventStruct *event, gpointer data)
+{
+ g_print ("bridge key listener!\n");
+}
+
static gboolean
bridge_signal_listener (GSignalInvocationHint *signal_hint,
guint n_param_values,
const GValue *param_values,
gpointer data);
+static gint bridge_key_listener (AtkImplementor *atk_impl,
+ AtkKeyEventStruct *event,
+ gpointer data);
+
int
gtk_module_init(gint *argc, gchar **argv[])
{
atk_add_focus_tracker (bridge_focus_tracker);
atk_add_global_event_listener (bridge_property_event_listener, "Gtk:AtkObject:property-change");
-/* atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkObject:children-changed");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkObject:children-changed");
atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkText:text-changed");
- atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkText:text-caret-moved");*/
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkText:text-caret-moved");
+ atk_add_key_event_listener (bridge_key_listener, NULL);
}
static void bridge_exit_func()
return TRUE;
}
+static gint
+bridge_key_listener (AtkImplementor *atk_impl, AtkKeyEventStruct *event, gpointer data)
+{
+ g_print ("bridge key listener!\n");
+}
+
static gboolean
bridge_signal_listener (GSignalInvocationHint *signal_hint,
guint n_param_values,
#include <stdlib.h>
#include <orbit/orbit.h>
+#include "accessibleeventlistener.h"
+#include "keystrokelistener.h"
#include "Accessibility.h"
typedef unsigned int boolean;
-typedef CORBA_Object SpiAccessible;
-typedef CORBA_Object SpiAccessibleAction;
-typedef CORBA_Object SpiAccessibleApplication;
-typedef CORBA_Object SpiAccessibleComponent;
-typedef CORBA_Object SpiAccessibleEditableText;
-typedef CORBA_Object SpiAccessibleHyperlink;
-typedef CORBA_Object SpiAccessibleHypertext;
-typedef CORBA_Object SpiAccessibleImage;
-typedef CORBA_Object SpiAccessibleRelation;
-typedef CORBA_Object SpiAccessibleSelection;
-typedef CORBA_Object SpiAccessibleStateSet;
-typedef CORBA_Object SpiAccessibleTable;
-typedef CORBA_Object SpiAccessibleText;
-typedef CORBA_Object SpiAccessibleValue;
+typedef CORBA_Object Accessible;
+typedef CORBA_Object AccessibleAction;
+typedef CORBA_Object AccessibleApplication;
+typedef CORBA_Object AccessibleComponent;
+typedef CORBA_Object AccessibleEditableText;
+typedef CORBA_Object AccessibleHyperlink;
+typedef CORBA_Object AccessibleHypertext;
+typedef CORBA_Object AccessibleImage;
+typedef CORBA_Object AccessibleRelation;
+typedef CORBA_Object AccessibleSelection;
+typedef CORBA_Object AccessibleStateSet;
+typedef CORBA_Object AccessibleTable;
+typedef CORBA_Object AccessibleText;
+typedef CORBA_Object AccessibleValue;
typedef CORBA_Object AccessibilityRegistry;
typedef CORBA_Object GenericInterface;
+typedef SpiKeystrokeListener AccessibleKeystrokeListener;
+typedef SpiAccessibleEventListener AccessibleEventListener;
+
+typedef SpiKeyMaskType AccessibleKeyMaskType;
+
#endif
-#ifndef _SPI_SPI_LISTENER_H_
-#define _SPI_SPI_LISTENER_H_
+#ifndef _SPI_LISTENER_H_
+#define _SPI_LISTENER_H_
#ifdef __cplusplus
*
*/
-typedef Accessibility_Event SpiAccessibleEvent;
+typedef Accessibility_Event AccessibleEvent;
/*
*
- * Function prototype typedefs for Event SpiListener Callbacks.
+ * Function prototype typedefs for Event Listener Callbacks.
* (see libspi/accessibleeventlistener.h for definition of VoidEventListenerCB).
*
* usage: signatures should be
- * void (*SpiAccessibleEventListenerCB) (SpiAccessibleEvent *event);
+ * void (*AccessibleEventListenerCB) (AccessibleEvent *event);
*
- * boolean (*KeystrokeListenerCB) (KeystrokeEvent *Event);
+ * boolean (*AccessibleKeystrokeListenerCB) (AccessibleKeystrokeEvent *Event);
*/
-typedef VoidEventListenerCB SpiAccessibleEventListenerCB;
-typedef BooleanKeystrokeListenerCB KeystrokeListenerCB;
+typedef VoidEventListenerCB AccessibleEventListenerCB;
+typedef BooleanKeystrokeListenerCB AccessibleKeystrokeListenerCB;
#ifdef __cplusplus
}
/*
*
- * Enumerated type for SpiAccessibleRole
+ * Enumerated type for AccessibleRole
*
*/
typedef enum
{
- ROLE_INVALID,
+ SPI_ROLE_INVALID,
/* Object is used to alert the user about something */
- ROLE_ALERT,
+ SPI_ROLE_ALERT,
/* Object that can be drawn into and is used to trap events */
- ROLE_CANVAS,
+ SPI_ROLE_CANVAS,
/*
* A choice that can be checked or unchecked and provides a separate
* indicator for the current state.
*/
- ROLE_CHECK_BOX,
+ SPI_ROLE_CHECK_BOX,
/* A specialized dialog that lets the user choose a color. */
- ROLE_COLOR_CHOOSER,
+ SPI_ROLE_COLOR_CHOOSER,
/* The header for a column of data */
- ROLE_COLUMN_HEADER,
+ SPI_ROLE_COLUMN_HEADER,
/* A list of choices the user can select from */
- ROLE_COMBO_BOX,
+ SPI_ROLE_COMBO_BOX,
/* An inconifed internal frame within a SPI_DESKTOP_PANE */
- ROLE_SPI_DESKTOP_ICON,
+ SPI_ROLE_SPI_DESKTOP_ICON,
/*
* A pane that supports internal frames and iconified versions of those
* internal frames.
*/
- ROLE_SPI_DESKTOP_FRAME,
+ SPI_ROLE_SPI_DESKTOP_FRAME,
/* A top level window with title bar and a border */
- ROLE_DIALOG,
+ SPI_ROLE_DIALOG,
/*
* A pane that allows the user to navigate through and select the contents
* of a directory
*/
- ROLE_DIRECTORY_PANE,
+ SPI_ROLE_DIRECTORY_PANE,
/*
* A specialized dialog that displays the files in the directory and lets
* the user select a file, browse a different directory, or specify a
* filename.
*/
- ROLE_FILE_CHOOSER,
+ SPI_ROLE_FILE_CHOOSER,
/*
* A object that fills up space in a user interface
*/
- ROLE_FILLER,
+ SPI_ROLE_FILLER,
/* XXX Don't know sure about this. */
- ROLE_FOCUS_TRAVERSABLE,
+ SPI_ROLE_FOCUS_TRAVERSABLE,
/* A top level window with a title bar, border, menubar, etc. */
- ROLE_FRAME,
+ SPI_ROLE_FRAME,
/* A pane that is guaranteed to be painted on top of all panes beneath it */
- ROLE_GLASS_PANE,
+ SPI_ROLE_GLASS_PANE,
/*
* A document container for HTML, whose children
* represent the document content.
*/
- ROLE_HTML_CONTAINER,
+ SPI_ROLE_HTML_CONTAINER,
/* A small fixed size picture, typically used to decorate components */
- ROLE_ICON,
+ SPI_ROLE_ICON,
/* A frame-like object that is clipped by a desktop pane. */
- ROLE_INTERNAL_FRAME,
+ SPI_ROLE_INTERNAL_FRAME,
/* An object used to present an icon or short string in an interface */
- ROLE_LABEL,
+ SPI_ROLE_LABEL,
/*
* A specialized pane that allows its children to be drawn in layers,
* providing a form of stacking order.
*/
- ROLE_LAYERED_PANE,
+ SPI_ROLE_LAYERED_PANE,
/*
* An object that presents a list of objects to the user and allows the
* user to select one or more of them.
*/
- ROLE_LIST,
+ SPI_ROLE_LIST,
/* An object that represents an element of a list. */
- ROLE_LIST_ITEM,
+ SPI_ROLE_LIST_ITEM,
/*
* An object usually found inside a menu bar that contains a list of
* actions the user can choose from.
*/
- ROLE_MENU,
+ SPI_ROLE_MENU,
/*
* An object usually drawn at the top of the primary dialog box of an
* application that contains a list of menus the user can choose from.
*/
- ROLE_MENU_BAR,
+ SPI_ROLE_MENU_BAR,
/*
* An object usually contained in a menu that presents an action the
* user can choose.
*/
- ROLE_MENU_ITEM,
+ SPI_ROLE_MENU_ITEM,
/* A specialized pane whose primary use is inside a DIALOG */
- ROLE_OPTION_PANE,
+ SPI_ROLE_OPTION_PANE,
/* An object that is a child of a page tab list */
- ROLE_PAGE_TAB,
+ SPI_ROLE_PAGE_TAB,
/*
* An object that presents a series of panels (or page tabs), one at a time,
* through some mechanism provided by the object.
*/
- ROLE_PAGE_TAB_LIST,
+ SPI_ROLE_PAGE_TAB_LIST,
/* A generic container that is often used to group objects. */
- ROLE_PANEL,
+ SPI_ROLE_PANEL,
/*
* A text object uses for passwords, or other places where the text
* content is not shown visibly to the user.
*/
- ROLE_PASSWORD_TEXT,
+ SPI_ROLE_PASSWORD_TEXT,
/*
* A temporary window that is usually used to offer the user a list of
* choices, and then hides when the user selects one of those choices.
*/
- ROLE_POPUP_MENU,
+ SPI_ROLE_POPUP_MENU,
/* An object used to indicate how much of a task has been completed. */
- ROLE_PROGRESS_BAR,
+ SPI_ROLE_PROGRESS_BAR,
/*
* An object the user can manipulate to tell the application to do
* something.
*/
- ROLE_PUSH_BUTTON,
+ SPI_ROLE_PUSH_BUTTON,
/*
* A specialized check box that will cause other radio buttons in the
* same group to become uncghecked when this one is checked.
*/
- ROLE_RADIO_BUTTON,
+ SPI_ROLE_RADIO_BUTTON,
/*
* A specialized pane that has a glass pane and a layered pane as its
* children.
*/
- ROLE_ROOT_PANE,
+ SPI_ROLE_ROOT_PANE,
/* The header for a row of data */
- ROLE_ROW_HEADER,
+ SPI_ROLE_ROW_HEADER,
/*
* An object usually used to allow a user to incrementally view a large
* amount of data.
*/
- ROLE_SCROLL_BAR,
+ SPI_ROLE_SCROLL_BAR,
/*
* An object that allows a user to incrementally view a large amount
* of information.
*/
- ROLE_SCROLL_PANE,
+ SPI_ROLE_SCROLL_PANE,
/*
* An object usually contained in a menu to provide a visible and
* logical separation of the contents in a menu.
*/
- ROLE_SEPARATOR,
+ SPI_ROLE_SEPARATOR,
/* An object that allows the user to select from a bounded range */
- ROLE_SLIDER,
+ SPI_ROLE_SLIDER,
/* A specialized panel that presents two other panels at the same time. */
- ROLE_SPLIT_PANE,
+ SPI_ROLE_SPLIT_PANE,
/* An object used to rpesent information in terms of rows and columns. */
- ROLE_TABLE,
- ROLE_TABLE_CELL,
- ROLE_TABLE_COLUMN_HEADER,
- ROLE_TABLE_ROW_HEADER,
+ SPI_ROLE_TABLE,
+ SPI_ROLE_TABLE_CELL,
+ SPI_ROLE_TABLE_COLUMN_HEADER,
+ SPI_ROLE_TABLE_ROW_HEADER,
/* An object that presents text to the user */
- ROLE_TEXT,
+ SPI_ROLE_TEXT,
/*
* A specialized push button that can be checked or unchecked, but does
* not procide a separate indicator for the current state.
*/
- ROLE_TOGGLE_BUTTON,
+ SPI_ROLE_TOGGLE_BUTTON,
/*
* A bar or palette usually composed of push buttons or toggle buttons
*/
- ROLE_TOOL_BAR,
+ SPI_ROLE_TOOL_BAR,
/*
* An object that provides information about another object
*/
- ROLE_TOOL_TIP,
+ SPI_ROLE_TOOL_TIP,
/* An object used to repsent hierarchical information to the user. */
- ROLE_TREE,
+ SPI_ROLE_TREE,
/*
* The object contains some SpiAccessible information, but its role is
* not known.
*/
- ROLE_UNKNOWN,
+ SPI_ROLE_UNKNOWN,
/* An object usually used in a scroll pane. */
- ROLE_VIEWPORT,
+ SPI_ROLE_VIEWPORT,
/* A top level window with no title or border */
- ROLE_WINDOW,
+ SPI_ROLE_WINDOW,
/* not a valid role, used for finding end of enumeration. */
- ROLE_LAST_DEFINED
-} SPI_ACCESSIBLE_ROLE;
+ SPI_ROLE_LAST_DEFINED
+} AccessibleRole;
#endif
typedef enum
{
- STATE_INVALID,
+ SPI_STATE_INVALID,
/* Indicates a window is currently the active window */
- STATE_ACTIVE,
+ SPI_STATE_ACTIVE,
/* Indicates that the object is armed */
- STATE_ARMED,
+ SPI_STATE_ARMED,
/* Indicates the current object is busy */
- STATE_BUSY,
+ SPI_STATE_BUSY,
/* Indicates this object is currently checked */
- STATE_CHECKED,
+ SPI_STATE_CHECKED,
/* Indicates this object is collapsed */
- STATE_COLLAPSED,
+ SPI_STATE_COLLAPSED,
/* Indicates the user can change the contents of this object */
- STATE_EDITABLE,
+ SPI_STATE_EDITABLE,
/* Indicates this object allows progressive disclosure of its children */
- STATE_EXPANDABLE,
+ SPI_STATE_EXPANDABLE,
/* Indicates this object its expanded */
- STATE_EXPANDED,
+ SPI_STATE_EXPANDED,
/*
* Indicates this object can accept keyboard focus, which means all
* events resulting from typing on the keyboard will normally be passed
* to it when it has focus
*/
- STATE_FOCUSABLE,
+ SPI_STATE_FOCUSABLE,
/* Indicates this object currently has the keyboard focus */
- STATE_FOCUSED,
+ SPI_STATE_FOCUSED,
/* Indicates the orientation of thsi object is horizontal */
- STATE_HORIZONTAL,
+ SPI_STATE_HORIZONTAL,
/* Indicates this object is minimized and is represented only by an icon */
- STATE_ICONIFIED,
+ SPI_STATE_ICONIFIED,
/*
* Indicates something must be done with this object before the user can
* interact with an object in a different window.
*/
- STATE_MODAL,
+ SPI_STATE_MODAL,
/* Indicates this (text) object can contain multiple lines of text */
- STATE_MULTI_LINE,
+ SPI_STATE_MULTI_LINE,
/*
* Indicates this object allows more than one of its children to be
* selected at the same time
*/
- STATE_MULTISELECSPI_TABLE,
+ SPI_STATE_MULTISELECSPI_TABLE,
/* Indicates this object paints every pixel within its rectangular region. */
- STATE_OPAQUE,
+ SPI_STATE_OPAQUE,
/* Indicates this object is currently pressed */
- STATE_PRESSED,
+ SPI_STATE_PRESSED,
/* Indicates the size of this object is not fixed */
- STATE_RESIZABLE,
+ SPI_STATE_RESIZABLE,
/*
* Indicates this object is the child of an object that allows its
* children to be selected and that this child is one of those children
* that can be selected.
*/
- STATE_SELECSPI_TABLE,
+ SPI_STATE_SELECSPI_TABLE,
/*
* Indicates this object is the child of an object that allows its
* children to be selected and that this child is one of those children
* that has been selected.
*/
- STATE_SELECTED,
+ SPI_STATE_SELECTED,
/* Indicates this object is sensitive */
- STATE_SENSITIVE,
+ SPI_STATE_SENSITIVE,
/*
* Indicates this object, the object's parent, the object's parent's
* parent, and so on, are all visible
*/
- STATE_SHOWING,
+ SPI_STATE_SHOWING,
/* Indicates this (text) object can contain only a single line of text */
- STATE_SINGLE_LINE,
+ SPI_STATE_SINGLE_LINE,
/* Indicates this object is transient */
- STATE_TRANSIENT,
+ SPI_STATE_TRANSIENT,
/* Indicates the orientation of this object is vertical */
- STATE_VERTICAL,
+ SPI_STATE_VERTICAL,
/* Indicates this object is visible */
- STATE_VISIBLE,
- STATE_LAST_DEFINED
-} SPI_ACCESSIBLE_STATE;
+ SPI_STATE_VISIBLE,
+ SPI_STATE_LAST_DEFINED
+} AccessibleState;
#endif
static CORBA_Environment ev;
static AccessibilityRegistry registry;
-static SpiAccessible *
-Obj_Add (SpiAccessible object)
+static Accessible *
+Obj_Add (Accessible object)
{
/* TODO: keep list of live object refs */
- SpiAccessible *oref = NULL;
+ Accessible *oref = NULL;
if (!CORBA_Object_is_nil (object, &ev))
{
- oref = g_malloc (sizeof (SpiAccessible));
+ oref = g_malloc (sizeof (Accessible));
*oref = object;
}
return oref;
#define _SPI_H
/* Implementation private definitions */
+
#include "spi-impl.h"
/*
- * Definitions for SPI_ACCESSIBLE_STATE , SPI_ACCESSIBLE_ROLE, SpiAccessibleEvent,
+ * Definitions for AccessibleRole, AccessibleState, AccessibleEvent,
* and event listeners.
*/
SPI_TEXT_BOUNDARY_LINE_START,
SPI_TEXT_BOUNDARY_LINE_END,
SPI_TEXT_BOUNDARY_ATTRIBUTE_RANGE
-} SPI_TEXT_BOUNDARY_TYPE;
-
-
+} AccessibleTextBoundaryType;
/*
*
typedef enum
{
- RELATION_LABEL_FOR,
- RELATION_LABELED_BY,
- RELATION_CONTROLLER_FOR,
- RELATION_CONTROLLED_BY,
- RELATION_MEMBER_OF
-} RELATION_TYPE;
+ SPI_RELATION_LABEL_FOR,
+ SPI_RELATION_LABELED_BY,
+ SPI_RELATION_CONTROLLER_FOR,
+ SPI_RELATION_CONTROLLED_BY,
+ SPI_RELATION_MEMBER_OF
+} AccessibleRelationType;
/* don't change the order of these ! */
typedef enum _AccessibleCoordType {
- COORD_TYPE_SCREEN,
- COORD_TYPE_WINDOW
-} SpiAccessibleCoordType;
-
-typedef enum _KeyEventType {
- KEY_PRESSED,
- KEY_RELEASED
-} KeyEventType;
-
-typedef enum _KeySynthType {
- KEY_PRESS,
- KEY_RELEASE,
- KEY_PRESSRELEASE,
- KEY_SYM
-} KeySynthType;
-
-typedef enum _KeyListenerSyncType {
- KEYSPI_LISTENER_SYNCHRONOUS = 1,
- KEYSPI_LISTENER_CANCONSUME = 2,
- KEYSPI_LISTENER_ALLWINDOWS = 4
-} KeyListenerSyncType;
-
-typedef unsigned long KeyEventMask;
-
-typedef struct _KeyStroke
+ SPI_COORD_TYPE_SCREEN,
+ SPI_COORD_TYPE_WINDOW
+} AccessibleCoordType;
+
+typedef enum _AccessibleKeyEventType {
+ SPI_KEY_PRESSED,
+ SPI_KEY_RELEASED
+} AccessibleKeyEventType;
+
+typedef enum _AccessibleKeySynthType {
+ SPI_KEY_PRESS,
+ SPI_KEY_RELEASE,
+ SPI_KEY_PRESSRELEASE,
+ SPI_KEY_SYM
+} AccessibleKeySynthType;
+
+typedef enum _AccessibleKeyListenerSyncType {
+ SPI_KEYLISTENER_NOSYNC = 0,
+ SPI_KEYLISTENER_SYNCHRONOUS = 1,
+ SPI_KEYLISTENER_CANCONSUME = 2,
+ SPI_KEYLISTENER_ALL_WINDOWS = 4
+} AccessibleKeyListenerSyncType;
+
+typedef unsigned long AccessibleKeyEventMask;
+
+typedef struct _AccessibleKeyStroke
{
long keyID;
short keycode;
- KeyEventType type;
+ AccessibleKeyEventType type;
unsigned short modifiers;
-} KeyStroke;
+} AccessibleKeyStroke;
-typedef struct _KeySet
+typedef struct _AccessibleAccessibleKeySet
{
unsigned long *keysyms;
unsigned short *keycodes;
short len;
-} KeySet;
+} AccessibleKeySet;
-#define ALL_KEYS ((void *)NULL)
+#define SPI_KEYSET_ALL_KEYS ((void *)NULL)
/*
*
* Returns: the next #AccessibleEvent in the SPI event queue.
*
**/
-SpiAccessibleEvent *
+AccessibleEvent *
SPI_nextEvent (boolean waitForEvent);
/**
* SPI_exit:
*
- * Disconnects from the Accessibility SpiRegistry and releases resources.
+ * Disconnects from the Accessibility Registry and releases resources.
* Not Yet Implemented.
*
**/
SPI_exit (void);
/*
- * Event SpiListener creation and support.
+ * Event Listener creation and support.
*/
/**
* Returns: a pointer to a newly-created #AccessibleEventListener.
*
**/
-SpiAccessibleEventListener *
-createEventListener (SpiAccessibleEventListenerCB callback);
+AccessibleEventListener *
+createEventListener (AccessibleEventListenerCB callback);
/**
* EventListener_addCallback:
* @listener: the #AccessibleEventListener instance to modify.
* @callback: an #AccessibleEventListenerCB function pointer.
*
- * Add an in-process callback function to an existing SpiAccessibleEventListener.
+ * Add an in-process callback function to an existing AccessibleEventListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
**/
boolean
-EventListener_addCallback (SpiAccessibleEventListener *listener,
- SpiAccessibleEventListenerCB callback);
+AccessibleEventListener_addCallback (AccessibleEventListener *listener,
+ AccessibleEventListenerCB callback);
/**
- * EventListener_removeCallback:
+ * AccessibleEventListener_removeCallback:
* @listener: the #AccessibleEventListener instance to modify.
* @callback: an #AccessibleEventListenerCB function pointer.
*
- * Remove an in-process callback function from an existing SpiAccessibleEventListener.
+ * Remove an in-process callback function from an existing AccessibleEventListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
**/
boolean
-EventListener_removeCallback (SpiAccessibleEventListener *listener,
- SpiAccessibleEventListenerCB callback);
+AccessibleEventListener_removeCallback (AccessibleEventListener *listener,
+ AccessibleEventListenerCB callback);
/**
- * createKeyListener:
- * @callback : an #KeystrokeListenerCB callback function, or NULL.
+ * createAccessibleKeystrokeListener:
+ * @callback : an #AccessibleKeystrokeListenerCB callback function, or NULL.
*
- * Create a new #KeystrokeListener with a specified callback function.
+ * Create a new #AccessibleKeystrokeListener with a specified callback function.
*
- * Returns: a pointer to a newly-created #KeystrokeListener.
+ * Returns: a pointer to a newly-created #AccessibleKeystrokeListener.
*
**/
-KeystrokeListener *
-createKeystrokeListener (KeystrokeListenerCB callback);
+AccessibleKeystrokeListener *
+createAccessibleKeystrokeListener (AccessibleKeystrokeListenerCB callback);
/**
* KeystrokeListener_addCallback:
*
**/
boolean
-KeystrokeListener_addCallback (KeystrokeListener *listener,
- KeystrokeListenerCB callback);
+AccessibleKeystrokeListener_addCallback (AccessibleKeystrokeListener *listener,
+ AccessibleKeystrokeListenerCB callback);
/**
- * KeystrokeListener_removeCallback:
- * @listener: the #KeystrokeListener instance to modify.
- * @callback: an #KeystrokeListenerCB function pointer.
+ * AccessibleKeystrokeListener_removeCallback:
+ * @listener: the #AccessibleKeystrokeListener instance to modify.
+ * @callback: an #AccessibleKeystrokeListenerCB function pointer.
*
- * Remove an in-process callback function from an existing #KeystrokeListener.
+ * Remove an in-process callback function from an existing #AccessibleKeystrokeListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
**/
boolean
-KeystrokeListener_removeCallback (KeystrokeListener *listener,
- KeystrokeListenerCB callback);
+AccessibleKeystrokeListener_removeCallback (AccessibleKeystrokeListener *listener,
+ AccessibleKeystrokeListenerCB callback);
/*
*
* functions are used internally. In general, listening to
* toolkit-specific events is not recommended.
*
- * Add an in-process callback function to an existing SpiAccessibleEventListener.
+ * Add an in-process callback function to an existing AccessibleEventListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
**/
boolean
-registerGlobalEventListener (SpiAccessibleEventListener *listener,
+registerGlobalEventListener (AccessibleEventListener *listener,
char *eventType);
/**
* Returns: a pointer to the 'i-th' virtual desktop's #Accessible representation.
*
**/
-SpiAccessible*
+Accessible*
getDesktop (int n);
/**
* placed in the list pointed to by parameter @list.
**/
int
-getDesktopList (SpiAccessible **list);
+getDesktopList (Accessible **list);
/**
- * registerKeystrokeListener:
- * @listener: a pointer to the #KeystrokeListener for which
+ * registerAccessibleKeystrokeListener:
+ * @listener: a pointer to the #AccessibleKeystrokeListener for which
* keystroke events are requested.
*
- * Not Yet Implemented.
+ * [Partially Implemented.]
*
**/
void
-registerKeystrokeListener (KeystrokeListener *listener,
- KeySet *keys,
- KeyMaskType modmask,
- KeyEventMask eventmask,
- KeyListenerSyncType sync_type);
+registerAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener,
+ AccessibleKeySet *keys,
+ AccessibleKeyMaskType modmask,
+ AccessibleKeyEventMask eventmask,
+ AccessibleKeyListenerSyncType sync_type);
+
+void
+deregisterAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener,
+ AccessibleKeyMaskType keymask);
/**
* generateKeyEvent:
* @keycode: a #long indicating the keycode of the key event
* being synthesized.
- * @synth_type: a #KeySynthType indicating whether this should be a
- * KEY_PRESS, KEY_RELEASE, both (KEY_PRESSRELEASE), or
+ * @synth_type: a #AccessibleKeySynthType indicating whether this should be a
+ * SPI_KEY_PRESS, SPI_KEY_RELEASE, both (SPI_KEY_PRESSRELEASE), or
* a press/release pair for a KEYSYM.
*
* Synthesize a keyboard event (as if a hardware keyboard event occurred in the
*
**/
void
-generateKeyEvent (long keyCode, KeySynthType synth_type);
+generateKeyEvent (long keyCode, AccessibleKeySynthType synth_type);
/**
* generateMouseEvent:
/*
*
- * SpiAccessible function prototypes
+ * Accessible function prototypes
*
*/
/**
- * SpiAccessible_ref:
+ * Accessible_ref:
* @obj: a pointer to the #Accessible object on which to operate.
*
* Increment the reference count for an #Accessible object.
*
**/
int
-SpiAccessible_ref (SpiAccessible *obj);
+Accessible_ref (Accessible *obj);
/**
- * SpiAccessible_unref:
+ * Accessible_unref:
* @obj: a pointer to the #Accessible object on which to operate.
*
* Decrement the reference count for an #Accessible object.
*
**/
int
-SpiAccessible_unref (SpiAccessible *obj);
+Accessible_unref (Accessible *obj);
/**
- * SpiAccessible_getName:
+ * Accessible_getName:
* @obj: a pointer to the #Accessible object on which to operate.
*
* Get the name of an #Accessible object.
*
**/
char *
-SpiAccessible_getName (SpiAccessible *obj);
+Accessible_getName (Accessible *obj);
/**
- * SpiAccessible_getDescription:
+ * Accessible_getDescription:
* @obj: a pointer to the #Accessible object on which to operate.
*
* Get the description of an #Accessible object.
*
**/
char *
-SpiAccessible_getDescription (SpiAccessible *obj);
+Accessible_getDescription (Accessible *obj);
/**
- * SpiAccessible_getParent:
+ * Accessible_getParent:
* @obj: a pointer to the #Accessible object to query.
*
* Get an #Accessible object's parent container.
* #Accessible instance, or NULL if the @obj has no parent container.
*
**/
-SpiAccessible *
-SpiAccessible_getParent (SpiAccessible *obj);
+Accessible *
+Accessible_getParent (Accessible *obj);
/**
- * SpiAccessible_getChildCount:
+ * Accessible_getChildCount:
*
* @obj: a pointer to the #Accessible object on which to operate.
*
*
**/
long
-SpiAccessible_getChildCount (SpiAccessible *obj);
+Accessible_getChildCount (Accessible *obj);
/**
- * SpiAccessible_getChildAtIndex:
+ * Accessible_getChildAtIndex:
*
* @obj: a pointer to the #Accessible object on which to operate.
* @childIndex: a #long indicating which child is specified.
* @childIndex.
*
**/
-SpiAccessible *
-SpiAccessible_getChildAtIndex (SpiAccessible *obj,
+Accessible *
+Accessible_getChildAtIndex (Accessible *obj,
long childIndex);
/**
- * SpiAccessible_getIndexInParent:
+ * Accessible_getIndexInParent:
*
* @obj: a pointer to the #Accessible object on which to operate.
*
*
**/
long
-SpiAccessible_getIndexInParent (SpiAccessible *obj);
+Accessible_getIndexInParent (Accessible *obj);
/**
- * SpiAccessible_getRelationSet:
+ * Accessible_getRelationSet:
*
* Not Yet Implemented.
*
**/
-SpiAccessibleRelation **
-SpiAccessible_getRelationSet (SpiAccessible *obj);
+AccessibleRelation **
+Accessible_getRelationSet (Accessible *obj);
/**
- * SpiAccessible_getRole:
+ * Accessible_getRole:
* @obj: a pointer to the #Accessible object on which to operate.
*
* Get the UI role of an #Accessible object.
*
**/
char *
-SpiAccessible_getRole (SpiAccessible *obj);
+Accessible_getRole (Accessible *obj);
/**
- * SpiAccessible_getStateSet:
+ * Accessible_getStateSet:
*
* Not Yet Implemented.
*
**/
-SpiAccessibleStateSet *
-SpiAccessible_getStateSet (SpiAccessible *obj);
+AccessibleStateSet *
+Accessible_getStateSet (Accessible *obj);
/* Interface query methods */
/**
- * SpiAccessible_isAction:
+ * Accessible_isAction:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleAction.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isAction (SpiAccessible *obj);
+Accessible_isAction (Accessible *obj);
/**
- * SpiAccessible_isComponent:
+ * Accessible_isComponent:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleComponent.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isComponent (SpiAccessible *obj);
+Accessible_isComponent (Accessible *obj);
/**
- * SpiAccessible_isEditableText:
+ * Accessible_isEditableText:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleEditableText.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isEditableText (SpiAccessible *obj);
+Accessible_isEditableText (Accessible *obj);
/**
- * SpiAccessible_isHypertext:
+ * Accessible_isHypertext:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleHypertext.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isHypertext (SpiAccessible *obj);
+Accessible_isHypertext (Accessible *obj);
/**
- * SpiAccessible_isImage:
+ * Accessible_isImage:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleImage.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isImage (SpiAccessible *obj);
+Accessible_isImage (Accessible *obj);
/**
- * SpiAccessible_isSelection:
+ * Accessible_isSelection:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleSelection.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isSelection (SpiAccessible *obj);
+Accessible_isSelection (Accessible *obj);
/**
- * SpiAccessible_isTable:
+ * Accessible_isTable:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleTable.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isTable (SpiAccessible *obj);
+Accessible_isTable (Accessible *obj);
/**
- * SpiAccessible_isText:
+ * Accessible_isText:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleText.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isText (SpiAccessible *obj);
+Accessible_isText (Accessible *obj);
/**
- * SpiAccessible_getAction:
+ * Accessible_getAction:
*
* Not Yet Implemented.
*
**/
-SpiAccessibleAction *
-SpiAccessible_getAction (SpiAccessible *obj);
+AccessibleAction *
+Accessible_getAction (Accessible *obj);
/**
- * SpiAccessible_getComponent:
+ * Accessible_getComponent:
* @obj: a pointer to the #Accessible instance to query.
*
* Get the #AccessibleComponent interface for an #Accessible.
* Returns: a pointer to an #AccessibleComponent interface instance, or
* NULL if @obj does not implement #AccessibleComponent.
**/
-SpiAccessibleComponent *
-SpiAccessible_getComponent (SpiAccessible *obj);
+AccessibleComponent *
+Accessible_getComponent (Accessible *obj);
/**
- * SpiAccessible_getEditableText:
+ * Accessible_getEditableText:
*
* Not Yet Implemented.
*
**/
-SpiAccessibleEditableText *
-SpiAccessible_getEditableText (SpiAccessible *obj);
+AccessibleEditableText *
+Accessible_getEditableText (Accessible *obj);
/**
- * SpiAccessible_getHypertext:
+ * Accessible_getHypertext:
*
* Not Yet Implemented.
*
**/
-SpiAccessibleHypertext *
-SpiAccessible_getHypertext (SpiAccessible *obj);
+AccessibleHypertext *
+Accessible_getHypertext (Accessible *obj);
/**
- * SpiAccessible_getImage:
+ * Accessible_getImage:
*
* Not Yet Implemented.
*
**/
-SpiAccessibleImage *
-SpiAccessible_getImage (SpiAccessible *obj);
+AccessibleImage *
+Accessible_getImage (Accessible *obj);
/**
- * SpiAccessible_getSelection:
+ * Accessible_getSelection:
*
* Not Yet Implemented.
*
**/
-SpiAccessibleSelection *
-SpiAccessible_getSelection (SpiAccessible *obj);
+AccessibleSelection *
+Accessible_getSelection (Accessible *obj);
/**
- * SpiAccessible_getTable:
+ * Accessible_getTable:
*
* Not Yet Implemented.
*
**/
-SpiAccessibleTable *
-SpiAccessible_getTable (SpiAccessible *obj);
+AccessibleTable *
+Accessible_getTable (Accessible *obj);
/**
- * SpiAccessible_getText:
+ * Accessible_getText:
*
* Not Yet Implemented.
*
**/
-SpiAccessibleText *
-SpiAccessible_getText (SpiAccessible *obj);
+AccessibleText *
+Accessible_getText (Accessible *obj);
/**
- * SpiAccessible_queryInterface:
+ * Accessible_queryInterface:
* @obj: a pointer to the #Accessible instance to query.
* @interface_name: a UTF-8 character string specifiying the requested interface.
*
*
**/
GenericInterface *
-SpiAccessible_queryInterface (SpiAccessible *obj, char *interface_name);
+Accessible_queryInterface (Accessible *obj, char *interface_name);
/*
*
- * SpiAccessibleAction function prototypes
+ * AccessibleAction function prototypes
*
*/
int
-SpiAccessibleAction_ref (
- SpiAccessibleAction *obj);
+AccessibleAction_ref (AccessibleAction *obj);
int
-SpiAccessibleAction_unref (SpiAccessibleAction *obj);
+AccessibleAction_unref (AccessibleAction *obj);
long
-SpiAccessibleAction_getNActions (SpiAccessibleAction *obj);
+AccessibleAction_getNActions (AccessibleAction *obj);
/**
- * SpiAccessibleAction_getDescription:
+ * AccessibleAction_getDescription:
* @obj: a pointer to the #AccessibleAction to query.
*
* Get the description of 'i-th' action invokable on an
*
**/
char *
-SpiAccessibleAction_getDescription (SpiAccessibleAction *obj,
+AccessibleAction_getDescription (AccessibleAction *obj,
long index);
boolean
-SpiAccessibleAction_doAction (SpiAccessibleAction *obj,
+AccessibleAction_doAction (AccessibleAction *obj,
long index);
char *
-SpiAccessibleAction_getKeyBinding (SpiAccessibleAction *obj,
+AccessibleAction_getKeyBinding (AccessibleAction *obj,
long index);
/*
*
- * SpiAccessibleApplication function prototypes
+ * AccessibleApplication function prototypes
*
*/
/**
- * SpiAccessibleApplication_unref:
+ * AccessibleApplication_unref:
* @obj: a pointer to the #AccessibleApplication on which to operate.
*
* Decrement the reference count for an #AccessibleApplication.
*
**/
int
-SpiAccessibleApplication_ref (SpiAccessibleApplication *obj);
+AccessibleApplication_ref (AccessibleApplication *obj);
/**
- * SpiAccessibleApplication_unref:
+ * AccessibleApplication_unref:
* @obj: a pointer to the #AccessibleApplication object on which to operate.
*
* Decrement the reference count for an #AccessibleApplication.
*
**/
int
-SpiAccessibleApplication_unref (SpiAccessibleApplication *obj);
+AccessibleApplication_unref (AccessibleApplication *obj);
/**
- * SpiAccessibleApplication_getToolkitName:
+ * AccessibleApplication_getToolkitName:
* @obj: a pointer to the #AccessibleApplication to query.
*
* Get the name of the UI toolkit used by an #AccessibleApplication.
*
**/
char *
-SpiAccessibleApplication_getToolkitName (SpiAccessibleApplication *obj);
+AccessibleApplication_getToolkitName (AccessibleApplication *obj);
/**
- * SpiAccessibleApplication_getVersion:
+ * AccessibleApplication_getVersion:
* @obj: a pointer to the #AccessibleApplication being queried.
*
* Get the version of the at-spi bridge exported by an
*
**/
char *
-SpiAccessibleApplication_getVersion (SpiAccessibleApplication *obj);
+AccessibleApplication_getVersion (AccessibleApplication *obj);
/**
- * SpiAccessibleApplication_getID:
+ * AccessibleApplication_getID:
* @obj: a pointer to the #AccessibleApplication being queried.
*
- * Get the unique ID assigned by the SpiRegistry to an
+ * Get the unique ID assigned by the Registry to an
* #AccessibleApplication instance.
* (Not Yet Implemented by the registry).
*
* Returns: a unique #long integer associated with the application
- * by the SpiRegistry, or 0 if the application is not registered.
+ * by the Registry, or 0 if the application is not registered.
**/
long
-SpiAccessibleApplication_getID (SpiAccessibleApplication *obj);
+AccessibleApplication_getID (AccessibleApplication *obj);
/**
- * SpiAccessibleApplication_pause:
+ * AccessibleApplication_pause:
*
* Attempt to pause the application (used when client event queue is
* over-full).
*
**/
boolean
-SpiAccessibleApplication_pause (SpiAccessibleApplication *obj);
+AccessibleApplication_pause (AccessibleApplication *obj);
/**
- * SpiAccessibleApplication_pause:
+ * AccessibleApplication_pause:
*
* Attempt to resume the application (used after #AccessibleApplication_pause).
* Not Yet Implemented.
*
**/
boolean
-SpiAccessibleApplication_resume (SpiAccessibleApplication *obj);
+AccessibleApplication_resume (AccessibleApplication *obj);
/*
*
- * SpiAccessibleComponent function prototypes
+ * AccessibleComponent function prototypes
*
*/
int
-SpiAccessibleComponent_ref (SpiAccessibleComponent *obj);
+AccessibleComponent_ref (AccessibleComponent *obj);
int
-SpiAccessibleComponent_unref (SpiAccessibleComponent *obj);
+AccessibleComponent_unref (AccessibleComponent *obj);
boolean
-SpiAccessibleComponent_contains (SpiAccessibleComponent *obj,
+AccessibleComponent_contains (AccessibleComponent *obj,
long x,
long y,
- SpiAccessibleCoordType ctype);
+ AccessibleCoordType ctype);
-SpiAccessible *
-SpiAccessibleComponent_getAccessibleAtPoint (SpiAccessibleComponent *obj,
+Accessible *
+AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj,
long x,
long y,
- SpiAccessibleCoordType ctype);
+ AccessibleCoordType ctype);
/**
- * SpiAccessibleComponent_getExtents:
+ * AccessibleComponent_getExtents:
* @obj: a pointer to the #AccessibleComponent to query.
* @x: a pointer to a #long into which the minimum x coordinate will be returned.
* @y: a pointer to a #long into which the minimum y coordinate will be returned.
*
**/
void
-SpiAccessibleComponent_getExtents (SpiAccessibleComponent *obj,
+AccessibleComponent_getExtents (AccessibleComponent *obj,
long *x,
long *y,
long *width,
long *height,
- SpiAccessibleCoordType ctype);
+ AccessibleCoordType ctype);
void
-SpiAccessibleComponent_getPosition (SpiAccessibleComponent *obj,
+AccessibleComponent_getPosition (AccessibleComponent *obj,
long *x,
long *y,
- SpiAccessibleCoordType ctype);
+ AccessibleCoordType ctype);
void
-SpiAccessibleComponent_getSize (SpiAccessibleComponent *obj,
+AccessibleComponent_getSize (AccessibleComponent *obj,
long *width,
long *height);
void
-SpiAccessibleComponent_grabFocus (SpiAccessibleComponent *obj);
+AccessibleComponent_grabFocus (AccessibleComponent *obj);
/*
*
- * SpiAccessibleEditableText function prototypes
+ * AccessibleEditableText function prototypes
*
*/
int
-SpiAccessibleEditableText_ref (SpiAccessibleEditableText *obj);
+AccessibleEditableText_ref (AccessibleEditableText *obj);
int
-SpiAccessibleEditableText_unref (SpiAccessibleEditableText *obj);
+AccessibleEditableText_unref (AccessibleEditableText *obj);
boolean
-SpiAccessibleEditableText_setRunAttributes (SpiAccessibleEditableText *obj,
+AccessibleEditableText_setRunAttributes (AccessibleEditableText *obj,
const char *attributes,
long startPos, long endPos);
void
-SpiAccessibleEditableText_setTextContents (SpiAccessibleEditableText *obj,
+AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
const char *newContents);
void
-SpiAccessibleEditableText_insertText (SpiAccessibleEditableText *obj,
+AccessibleEditableText_insertText (AccessibleEditableText *obj,
long position,
char *text,
long length);
void
-SpiAccessibleEditableText_copyText (SpiAccessibleText *obj,
+AccessibleEditableText_copyText (AccessibleText *obj,
long startPos,
long endPos);
void
-SpiAccessibleEditableText_cutText (SpiAccessibleEditableText *obj,
+AccessibleEditableText_cutText (AccessibleEditableText *obj,
long startPos,
long endPos);
void
-SpiAccessibleEditableText_deleteText (SpiAccessibleEditableText *obj,
+AccessibleEditableText_deleteText (AccessibleEditableText *obj,
long startPos,
long endPos);
void
-SpiAccessibleEditableText_pasteText (SpiAccessibleEditableText *obj,
+AccessibleEditableText_pasteText (AccessibleEditableText *obj,
long position);
/*
*
- * SpiAccessibleHyperlink function prototypes
+ * AccessibleHyperlink function prototypes
*
*/
int
-SpiAccessibleHyperlink_ref (SpiAccessibleHyperlink *obj);
+AccessibleHyperlink_ref (AccessibleHyperlink *obj);
int
-SpiAccessibleHyperlink_unref (SpiAccessibleHyperlink *obj);
+AccessibleHyperlink_unref (AccessibleHyperlink *obj);
long
-SpiAccessibleHyperlink_getNAnchors (SpiAccessibleHyperlink *obj);
+AccessibleHyperlink_getNAnchors (AccessibleHyperlink *obj);
char *
-SpiAccessibleHyperlink_getURI (SpiAccessibleHyperlink *obj,
+AccessibleHyperlink_getURI (AccessibleHyperlink *obj,
long i);
-SpiAccessible
-SpiAccessibleHyperlink_getObject (SpiAccessibleHyperlink *obj,
+Accessible *
+AccessibleHyperlink_getObject (AccessibleHyperlink *obj,
long i);
void
-SpiAccessibleHyperlink_getIndexRange (SpiAccessibleHyperlink *obj,
+AccessibleHyperlink_getIndexRange (AccessibleHyperlink *obj,
long *startIndex,
long *endIndex);
boolean
-SpiAccessibleHyperlink_isValid (SpiAccessibleHyperlink *obj);
+AccessibleHyperlink_isValid (AccessibleHyperlink *obj);
/*
*
- * SpiAccessibleHypertext function prototypes
+ * AccessibleHypertext function prototypes
*
*/
int
-SpiAccessibleHypertext_ref (SpiAccessibleHypertext *obj);
+AccessibleHypertext_ref (AccessibleHypertext *obj);
int
-SpiAccessibleHypertext_unref (SpiAccessibleHypertext *obj);
+AccessibleHypertext_unref (AccessibleHypertext *obj);
long
-SpiAccessibleHypertext_getNLinks (SpiAccessibleHypertext *obj);
+AccessibleHypertext_getNLinks (AccessibleHypertext *obj);
-SpiAccessibleHyperlink *
-SpiAccessibleHyperText_getLink (SpiAccessibleHypertext *obj,
+AccessibleHyperlink *
+AccessibleHyperText_getLink (AccessibleHypertext *obj,
long linkIndex);
long
-SpiAccessibleHypertext_getLinkIndex (SpiAccessibleHypertext *obj,
+AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj,
long characterIndex);
/*
*
- * SpiAccessibleImage function prototypes
+ * AccessibleImage function prototypes
*
*/
int
-SpiAccessibleImage_ref (SpiAccessibleImage *obj);
+AccessibleImage_ref (AccessibleImage *obj);
int
-SpiAccessibleImage_unref (SpiAccessibleImage *obj);
+AccessibleImage_unref (AccessibleImage *obj);
char *
-SpiAccessibleImage_getImageDescription (SpiAccessibleImage *obj);
+AccessibleImage_getImageDescription (AccessibleImage *obj);
void
-SpiAccessibleImage_getImageSize (SpiAccessibleImage *obj,
+AccessibleImage_getImageSize (AccessibleImage *obj,
long *width,
long *height);
void
-SpiAccessibleImage_getImagePosition (SpiAccessibleImage *obj,
+AccessibleImage_getImagePosition (AccessibleImage *obj,
long *x,
long *y,
- SpiAccessibleCoordType ctype);
+ AccessibleCoordType ctype);
/*
*
- * SpiAccessibleRelation function prototypes
+ * AccessibleRelation function prototypes
*
*/
int
-SpiAccessibleRelation_ref (SpiAccessibleRelation *obj);
+AccessibleRelation_ref (AccessibleRelation *obj);
int
-SpiAccessibleRelation_unref (SpiAccessibleRelation *obj);
-
-RELATION_TYPE
-SpiAccessibleRelation_getRelationType (SpiAccessibleRelation *obj);
+AccessibleRelation_unref (AccessibleRelation *obj);
-SpiAccessible *
-SpiAccessibleRelation_getTarget (SpiAccessibleRelation *obj);
+AccessibleRelationType
+AccessibleRelation_getRelationType (AccessibleRelation *obj);
+Accessible *
+AccessibleRelation_getTarget (AccessibleRelation *obj);
/*
*
- * SpiAccessibleSelection function prototypes
+ * AccessibleSelection function prototypes
*
*/
int
-SpiAccessibleSelection_ref (SpiAccessibleSelection *obj);
+AccessibleSelection_ref (AccessibleSelection *obj);
int
-SpiAccessibleSelection_unref (SpiAccessibleSelection *obj);
+AccessibleSelection_unref (AccessibleSelection *obj);
long
-SpiAccessibleSelection_getNSelectedChildren (SpiAccessibleSelection *obj);
+AccessibleSelection_getNSelectedChildren (AccessibleSelection *obj);
-SpiAccessible *
-SpiAccessibleSelection_getSelectedChild (SpiAccessibleSelection *obj,
+Accessible *
+AccessibleSelection_getSelectedChild (AccessibleSelection *obj,
long selectedChildIndex);
boolean
-SpiAccessibleSelection_selectChild (SpiAccessibleSelection *obj,
+AccessibleSelection_selectChild (AccessibleSelection *obj,
long childIndex);
boolean
-SpiAccessibleSelection_deselectSelectedChild (SpiAccessibleSelection *obj,
+AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
long selectedChildIndex);
boolean
-SpiAccessibleSelection_isChildSelected (SpiAccessibleSelection *obj,
+AccessibleSelection_isChildSelected (AccessibleSelection *obj,
long childIndex);
void
-SpiAccessibleSelection_selectAll (SpiAccessibleSelection *obj);
+AccessibleSelection_selectAll (AccessibleSelection *obj);
void
-SpiAccessibleSelection_clearSelection (SpiAccessibleSelection *obj);
+AccessibleSelection_clearSelection (AccessibleSelection *obj);
/*
*
- * SpiAccessibleStateSet function prototypes
+ * AccessibleStateSet function prototypes
*
*/
int
-SpiAccessibleStateSet_ref (SpiAccessibleStateSet *obj);
+AccessibleStateSet_ref (AccessibleStateSet *obj);
int
-SpiAccessibleStateSet_unref (SpiAccessibleStateSet *obj);
+AccessibleStateSet_unref (AccessibleStateSet *obj);
boolean
-SpiAccessibleStateSet_contains (SpiAccessibleStateSet *obj,
- SPI_ACCESSIBLE_STATE state);
+AccessibleStateSet_contains (AccessibleStateSet *obj,
+ AccessibleState state);
void
-SpiAccessibleStateSet_add (SpiAccessibleStateSet *obj,
- SPI_ACCESSIBLE_STATE state);
+AccessibleStateSet_add (AccessibleStateSet *obj,
+ AccessibleState state);
void
-SpiAccessibleStateSet_remove (SpiAccessibleStateSet *obj,
- SPI_ACCESSIBLE_STATE state);
+AccessibleStateSet_remove (AccessibleStateSet *obj,
+ AccessibleState state);
boolean
-SpiAccessibleStateSet_equals (SpiAccessibleStateSet *obj,
- SpiAccessibleStateSet *obj2);
+AccessibleStateSet_equals (AccessibleStateSet *obj,
+ AccessibleStateSet *obj2);
void
-SpiAccessibleStateSet_compare (SpiAccessibleStateSet *obj,
- SpiAccessibleStateSet *obj2,
- SpiAccessibleStateSet **differenceSet);
+AccessibleStateSet_compare (AccessibleStateSet *obj,
+ AccessibleStateSet *obj2,
+ AccessibleStateSet **differenceSet);
boolean
-SpiAccessibleStateSet_isEmpty (SpiAccessibleStateSet *obj);
+AccessibleStateSet_isEmpty (AccessibleStateSet *obj);
/*
*
- * SpiAccessibleTable function prototypes
+ * AccessibleTable function prototypes
*
*/
int
-SpiAccessibleTable_ref (SpiAccessibleTable *obj);
+AccessibleTable_ref (AccessibleTable *obj);
int
-SpiAccessibleTable_unref (SpiAccessibleTable *obj);
+AccessibleTable_unref (AccessibleTable *obj);
-SpiAccessible *
-SpiAccessibleTable_getCaption (SpiAccessibleTable *obj);
+Accessible *
+AccessibleTable_getCaption (AccessibleTable *obj);
-SpiAccessible *
-SpiAccessibleTable_getSummary (SpiAccessibleTable *obj);
+Accessible *
+AccessibleTable_getSummary (AccessibleTable *obj);
long
-SpiAccessibleTable_getNRows (SpiAccessibleTable *obj);
+AccessibleTable_getNRows (AccessibleTable *obj);
long
-SpiAccessibleTable_getNColumns (SpiAccessibleTable *obj);
+AccessibleTable_getNColumns (AccessibleTable *obj);
-SpiAccessible *
-SpiAccessibleTable_refAt (SpiAccessibleTable *obj,
+Accessible *
+AccessibleTable_refAt (AccessibleTable *obj,
long row,
long column);
long
-SpiAccessibleTable_getIndexAt (SpiAccessibleTable *obj,
+AccessibleTable_getIndexAt (AccessibleTable *obj,
long row,
long column);
long
-SpiAccessibleTable_getRowAtIndex (SpiAccessibleTable *obj,
+AccessibleTable_getRowAtIndex (AccessibleTable *obj,
long index);
long
-SpiAccessibleTable_getColumnAtIndex (SpiAccessibleTable *obj,
+AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
long index);
char *
-SpiAccessibleTable_getRowDescription (SpiAccessibleTable *obj,
+AccessibleTable_getRowDescription (AccessibleTable *obj,
long row);
char *
-SpiAccessibleTable_getColumnDescription (SpiAccessibleTable *obj,
+AccessibleTable_getColumnDescription (AccessibleTable *obj,
long column);
long
-SpiAccessibleTable_getRowExtentAt (SpiAccessibleTable *obj,
+AccessibleTable_getRowExtentAt (AccessibleTable *obj,
long row,
long column);
long
-SpiAccessibleTable_getColumnExtentAt (SpiAccessibleTable *obj,
+AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
long row,
long column);
-SpiAccessible *
-SpiAccessibleTable_getRowHeader (SpiAccessibleTable *obj,
+Accessible *
+AccessibleTable_getRowHeader (AccessibleTable *obj,
long row);
-SpiAccessible *
-SpiAccessibleTable_getColumnHeader (SpiAccessibleTable *obj,
+Accessible *
+AccessibleTable_getColumnHeader (AccessibleTable *obj,
long column);
long
-SpiAccessibleTable_getNSelectedRows (SpiAccessibleTable *obj);
+AccessibleTable_getNSelectedRows (AccessibleTable *obj);
long
-SpiAccessibleTable_getSelectedRows (SpiAccessibleTable *obj,
+AccessibleTable_getSelectedRows (AccessibleTable *obj,
long **selectedRows);
long
-SpiAccessibleTable_getNSelectedColumns (SpiAccessibleTable *obj);
+AccessibleTable_getNSelectedColumns (AccessibleTable *obj);
long
-SpiAccessibleTable_getSelectedColumns (SpiAccessibleTable *obj,
+AccessibleTable_getSelectedColumns (AccessibleTable *obj,
long **selectedColumns);
boolean
-SpiAccessibleTable_isRowSelected (SpiAccessibleTable *obj,
+AccessibleTable_isRowSelected (AccessibleTable *obj,
long row);
boolean
-SpiAccessibleTable_isColumnSelected (SpiAccessibleTable *obj,
+AccessibleTable_isColumnSelected (AccessibleTable *obj,
long column);
boolean
-SpiAccessibleTable_isSelected (SpiAccessibleTable *obj,
+AccessibleTable_isSelected (AccessibleTable *obj,
long row,
long column);
/*
*
- * SpiAccessibleText function prototypes
+ * AccessibleText function prototypes
*
*/
int
-SpiAccessibleText_ref (SpiAccessibleText *obj);
+AccessibleText_ref (AccessibleText *obj);
int
-SpiAccessibleText_unref (SpiAccessibleText *obj);
+AccessibleText_unref (AccessibleText *obj);
long
-SpiAccessibleText_getCharacterCount (SpiAccessibleText *obj);
+AccessibleText_getCharacterCount (AccessibleText *obj);
char *
-SpiAccessibleText_getText (SpiAccessibleText *obj,
+AccessibleText_getText (AccessibleText *obj,
long startOffset,
long endOffset);
long
-SpiAccessibleText_getCaretOffset (SpiAccessibleText *obj);
+AccessibleText_getCaretOffset (AccessibleText *obj);
char *
-SpiAccessibleText_getAttributes (SpiAccessibleText *obj,
+AccessibleText_getAttributes (AccessibleText *obj,
long offset,
long *startOffset,
long *endOfset);
boolean
-SpiAccessibleText_setCaretOffset (SpiAccessibleText *obj,
+AccessibleText_setCaretOffset (AccessibleText *obj,
long newOffset);
char *
-SpiAccessibleText_getTextBeforeOffset (SpiAccessibleText *obj,
+AccessibleText_getTextBeforeOffset (AccessibleText *obj,
long offset,
- SPI_TEXT_BOUNDARY_TYPE type,
+ AccessibleTextBoundaryType type,
long *startOffset, long *endOffset);
char *
-SpiAccessibleText_getTextAtOffset (SpiAccessibleText *obj,
+AccessibleText_getTextAtOffset (AccessibleText *obj,
long offset,
- SPI_TEXT_BOUNDARY_TYPE type,
- long *startOffset, long *endOffset);
+ AccessibleTextBoundaryType type,
+ long *startOffset, long *endOffset);
char *
-SpiAccessibleText_getTextAfterOffset (SpiAccessibleText *obj,
- long offset,
- SPI_TEXT_BOUNDARY_TYPE type,
+AccessibleText_getTextAfterOffset (AccessibleText *obj,
+ long offset,
+ AccessibleTextBoundaryType type,
long *startOffset, long *endOffset);
+
unsigned long
-SpiAccessibleText_getCharacterAtOffset (SpiAccessibleText *obj,
+AccessibleText_getCharacterAtOffset (AccessibleText *obj,
long offset);
void
-SpiAccessibleText_getCharacterExtents (SpiAccessibleText *obj,
+AccessibleText_getCharacterExtents (AccessibleText *obj,
long offset,
long *x,
long *y,
long *width,
- long *height, SpiAccessibleCoordType type);
+ long *height, AccessibleCoordType type);
long
-SpiAccessibleText_getOffsetAtPoint (SpiAccessibleText *obj,
+AccessibleText_getOffsetAtPoint (AccessibleText *obj,
long x,
- long y, SpiAccessibleCoordType type);
+ long y, AccessibleCoordType type);
long
-SpiAccessibleText_getNSelections (SpiAccessibleText *obj);
+AccessibleText_getNSelections (AccessibleText *obj);
void
-SpiAccessibleText_getSelection (SpiAccessibleText *obj,
+AccessibleText_getSelection (AccessibleText *obj,
long selectionNum, long *startOffset,
long *endOffset);
boolean
-SpiAccessibleText_addSelection (SpiAccessibleText *obj,
+AccessibleText_addSelection (AccessibleText *obj,
long startOffset, long endOffset);
boolean
-SpiAccessibleText_removeSelection (SpiAccessibleText *obj,
+AccessibleText_removeSelection (AccessibleText *obj,
long selectionNum);
boolean
-SpiAccessibleText_setSelection (SpiAccessibleText *obj,
+AccessibleText_setSelection (AccessibleText *obj,
long selectionNum,
long startOffset,
long endOffset);
/*
*
- * SpiAccessibleValue Function Prototypes:
+ * AccessibleValue Function Prototypes:
*
*/
float
-SpiAccessibleValue_getMinimumValue (SpiAccessibleValue *value);
+AccessibleValue_getMinimumValue (AccessibleValue *value);
float
-SpiAccessibleValue_getCurrentValue (SpiAccessibleValue *value);
+AccessibleValue_getCurrentValue (AccessibleValue *value);
float
-SpiAccessibleValue_getMaximumValue (SpiAccessibleValue *value);
+AccessibleValue_getMaximumValue (AccessibleValue *value);
boolean
-SpiAccessibleValue_setCurrentValue (SpiAccessibleValue *value,
+AccessibleValue_setCurrentValue (AccessibleValue *value,
float newValue);
void
* Returns a localizable string name for an AtkRole enumerated type.
*/
char*
-SpiAccessible_Role_getName (Accessibility_Role role)
+Accessible_Role_getName (Accessibility_Role role)
{
if (role < MAX_ROLES) return role_names [(int) role];
else return "";
/**
- * SpiAccessible_ref:
+ * Accessible_ref:
* @obj: a pointer to the #Accessible object on which to operate.
*
* Increment the reference count for an #Accessible object.
*
**/
int
-SpiAccessible_ref (SpiAccessible *obj)
+Accessible_ref (Accessible *obj)
{
Accessibility_Accessible_ref (*obj, &ev);
spi_check_ev (&ev, "ref");
/**
- * SpiAccessible_unref:
+ * Accessible_unref:
* @obj: a pointer to the #Accessible object on which to operate.
*
* Decrement the reference count for an #Accessible object.
*
**/
int
-SpiAccessible_unref (SpiAccessible *obj)
+Accessible_unref (Accessible *obj)
{
Accessibility_Accessible_unref (*obj, &ev);
spi_check_ev (&ev, "unref");
}
/**
- * SpiAccessible_getName:
+ * Accessible_getName:
* @obj: a pointer to the #Accessible object on which to operate.
*
* Get the name of an #Accessible object.
*
**/
char *
-SpiAccessible_getName (SpiAccessible *obj)
+Accessible_getName (Accessible *obj)
{
char *retval =
(char *)
}
/**
- * SpiAccessible_getDescription:
+ * Accessible_getDescription:
* @obj: a pointer to the #Accessible object on which to operate.
*
* Get the description of an #Accessible object.
*
**/
char *
-SpiAccessible_getDescription (SpiAccessible *obj)
+Accessible_getDescription (Accessible *obj)
{
char *retval = (char *)
Accessibility_Accessible__get_description (*obj, &ev);
}
/**
- * SpiAccessible_getParent:
+ * Accessible_getParent:
* @obj: a pointer to the #Accessible object to query.
*
* Get an #Accessible object's parent container.
* #Accessible instance, or NULL if the @obj has no parent container.
*
**/
-SpiAccessible *
-SpiAccessible_getParent (SpiAccessible *obj)
+Accessible *
+Accessible_getParent (Accessible *obj)
{
- SpiAccessible *retval =
+ Accessible *retval =
Obj_Add (Accessibility_Accessible__get_parent (*obj, &ev));
spi_check_ev (&ev, "getParent");
return retval;
}
/**
- * SpiAccessible_getChildCount:
+ * Accessible_getChildCount:
*
* @obj: a pointer to the #Accessible object on which to operate.
*
*
**/
long
-SpiAccessible_getChildCount (SpiAccessible *obj)
+Accessible_getChildCount (Accessible *obj)
{
long retval = (long) Accessibility_Accessible__get_childCount (*obj, &ev);
spi_check_ev (&ev, "getChildCount");
}
/**
- * SpiAccessible_getChildAtIndex:
+ * Accessible_getChildAtIndex:
*
* @obj: a pointer to the #Accessible object on which to operate.
* @childIndex: a #long indicating which child is specified.
* @childIndex.
*
**/
-SpiAccessible *
-SpiAccessible_getChildAtIndex (SpiAccessible *obj,
+Accessible *
+Accessible_getChildAtIndex (Accessible *obj,
long childIndex)
{
- SpiAccessible *retval = Obj_Add (Accessibility_Accessible_getChildAtIndex (*obj, childIndex, &ev));
+ Accessible *retval = Obj_Add (Accessibility_Accessible_getChildAtIndex (*obj, childIndex, &ev));
spi_check_ev (&ev, "getChildAtIndex");
return retval;
}
/**
- * SpiAccessible_getIndexInParent:
+ * Accessible_getIndexInParent:
*
* @obj: a pointer to the #Accessible object on which to operate.
*
*
**/
long
-SpiAccessible_getIndexInParent (SpiAccessible *obj)
+Accessible_getIndexInParent (Accessible *obj)
{
long retval = (long) Accessibility_Accessible_getIndexInParent (*obj, &ev);
spi_check_ev (&ev, "getIndexInParent");
}
/**
- * SpiAccessible_getRelationSet:
+ * Accessible_getRelationSet:
*
* Not Yet Implemented.
*
* Returns: a pointer to an array of #AccessibleRelations.
*
**/
-SpiAccessibleRelation **
-SpiAccessible_getRelationSet (SpiAccessible *obj)
+AccessibleRelation **
+Accessible_getRelationSet (Accessible *obj)
{
return NULL;
}
/**
- * SpiAccessible_getRole:
+ * Accessible_getRole:
* @obj: a pointer to the #Accessible object on which to operate.
*
* Get the UI role of an #Accessible object.
*
**/
char *
-SpiAccessible_getRole (SpiAccessible *obj)
+Accessible_getRole (Accessible *obj)
{
- char *retval = SpiAccessible_Role_getName (
+ char *retval = Accessible_Role_getName (
Accessibility_Accessible_getRole (*obj, &ev));
spi_check_ev (&ev, "getRole");
return retval;
}
/**
- * SpiAccessible_getStateSet:
+ * Accessible_getStateSet:
*
* Not Yet Implemented.
*
* Returns: a pointer to an #AccessibleStateSet representing the object's current state.
**/
-SpiAccessibleStateSet *
-SpiAccessible_getStateSet (SpiAccessible *obj)
+AccessibleStateSet *
+Accessible_getStateSet (Accessible *obj)
{
return NULL;
}
/* Interface query methods */
/**
- * SpiAccessible_isAction:
+ * Accessible_isAction:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleAction.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isAction (SpiAccessible *obj)
+Accessible_isAction (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
}
/**
- * SpiAccessible_isComponent:
+ * Accessible_isComponent:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleComponent.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isComponent (SpiAccessible *obj)
+Accessible_isComponent (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
}
/**
- * SpiAccessible_isEditableText:
+ * Accessible_isEditableText:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleEditableText.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isEditableText (SpiAccessible *obj)
+Accessible_isEditableText (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
}
/**
- * SpiAccessible_isHypertext:
+ * Accessible_isHypertext:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleHypertext.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isHypertext (SpiAccessible *obj)
+Accessible_isHypertext (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
}
/**
- * SpiAccessible_isImage:
+ * Accessible_isImage:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleImage.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isImage (SpiAccessible *obj)
+Accessible_isImage (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
}
/**
- * SpiAccessible_isSelection:
+ * Accessible_isSelection:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleSelection.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isSelection (SpiAccessible *obj)
+Accessible_isSelection (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
}
/**
- * SpiAccessible_isTable:
+ * Accessible_isTable:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleTable.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isTable (SpiAccessible *obj)
+Accessible_isTable (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
}
/**
- * SpiAccessible_isText:
+ * Accessible_isText:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleText.
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isText (SpiAccessible *obj)
+Accessible_isText (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
}
/**
- * SpiAccessible_isValue:
+ * Accessible_isValue:
* @obj: a pointer to the #Accessible instance to query.
*
* Query whether the specified #Accessible implements #AccessibleValue.
- * Not Yet Implemented.
*
* Returns: #TRUE if @obj implements the #AccessibleValue interface,
* #FALSE otherwise.
**/
boolean
-SpiAccessible_isValue (SpiAccessible *obj)
+Accessible_isValue (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
}
/**
- * SpiAccessible_getAction:
+ * Accessible_getAction:
*
- * Not Yet Implemented.
*
**/
-SpiAccessibleAction *
-SpiAccessible_getAction (SpiAccessible *obj)
+AccessibleAction *
+Accessible_getAction (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
&ev);
spi_check_ev (&ev, "getAction");
- return (SpiAccessibleAction *)
+ return (AccessibleAction *)
((CORBA_Object_is_nil (iface, &ev)) ? 0 : Obj_Add (iface));
}
/**
- * SpiAccessible_getComponent:
+ * Accessible_getComponent:
* @obj: a pointer to the #Accessible instance to query.
*
* Get the #AccessibleComponent interface for an #Accessible.
* Returns: a pointer to an #AccessibleComponent interface instance, or
* NULL if @obj does not implement #AccessibleComponent.
**/
-SpiAccessibleComponent *
-SpiAccessible_getComponent (SpiAccessible *obj)
+AccessibleComponent *
+Accessible_getComponent (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
&ev);
spi_check_ev (&ev, "getComponent");
- return (SpiAccessibleComponent *) ((CORBA_Object_is_nil (iface, &ev)) ? 0 : Obj_Add (iface));
+ return (AccessibleComponent *) ((CORBA_Object_is_nil (iface, &ev)) ? 0 : Obj_Add (iface));
}
-SpiAccessibleEditableText *
-SpiAccessible_getEditableText (SpiAccessible *obj)
+AccessibleEditableText *
+Accessible_getEditableText (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
&ev);
spi_check_ev (&ev, "getEditableText");
- return (SpiAccessibleEditableText *)
+ return (AccessibleEditableText *)
((CORBA_Object_is_nil (iface, &ev)) ? 0 : Obj_Add (iface));
}
-SpiAccessibleHypertext *
-SpiAccessible_getHypertext (SpiAccessible *obj)
+AccessibleHypertext *
+Accessible_getHypertext (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
&ev);
spi_check_ev (&ev, "getHypertext");
- return (SpiAccessibleHypertext *)
+ return (AccessibleHypertext *)
((CORBA_Object_is_nil (iface, &ev)) ? 0 : Obj_Add (iface));
}
-SpiAccessibleImage *
-SpiAccessible_getImage (SpiAccessible *obj)
+AccessibleImage *
+Accessible_getImage (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
&ev);
spi_check_ev (&ev, "getImage");
- return (SpiAccessibleImage *)
+ return (AccessibleImage *)
((CORBA_Object_is_nil (iface, &ev)) ? 0 : Obj_Add (iface));
}
-SpiAccessibleSelection *
-SpiAccessible_getSelection (SpiAccessible *obj)
+AccessibleSelection *
+Accessible_getSelection (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
&ev);
spi_warn_ev (&ev, "getSelection");
- return (SpiAccessibleSelection *)
+ return (AccessibleSelection *)
((CORBA_Object_is_nil (iface, &ev)) ? 0 : Obj_Add (iface));
}
-SpiAccessibleTable *
-SpiAccessible_getTable (SpiAccessible *obj)
+AccessibleTable *
+Accessible_getTable (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
&ev);
spi_check_ev (&ev, "getTable");
- return (SpiAccessibleTable *)
+ return (AccessibleTable *)
((CORBA_Object_is_nil (iface, &ev)) ? 0 : Obj_Add (iface));
}
-SpiAccessibleText *
-SpiAccessible_getText (SpiAccessible *obj)
+AccessibleText *
+Accessible_getText (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
spi_check_ev (&ev, "getText");
- return (SpiAccessibleText *)
+ return (AccessibleText *)
((CORBA_Object_is_nil (iface, &ev)) ? 0 : Obj_Add (iface));
}
-SpiAccessibleValue *
-SpiAccessible_getValue (SpiAccessible *obj)
+AccessibleValue *
+Accessible_getValue (Accessible *obj)
{
Bonobo_Unknown iface =
Accessibility_Accessible_queryInterface (*obj,
"IDL:Accessibility/Value:1.0",
&ev);
- return (SpiAccessibleValue *)
+ return (AccessibleValue *)
((CORBA_Object_is_nil (iface, &ev)) ? 0 : Obj_Add (iface));
}
/**
- * SpiAccessible_queryInterface:
+ * Accessible_queryInterface:
* @obj: a pointer to the #Accessible instance to query.
* @interface_name: a UTF-8 character string specifiying the requested interface.
*
*
**/
GenericInterface *
-SpiAccessible_queryInterface (SpiAccessible *obj, char *interface_name)
+Accessible_queryInterface (Accessible *obj, char *interface_name)
{
GenericInterface iface;
iface = Accessibility_Accessible_queryInterface (*obj,
int
-SpiAccessibleAction_ref (
- SpiAccessibleAction *obj)
+AccessibleAction_ref (
+ AccessibleAction *obj)
{
Accessibility_Action_ref (*obj, &ev);
return 0;
}
int
-SpiAccessibleAction_unref (SpiAccessibleAction *obj)
+AccessibleAction_unref (AccessibleAction *obj)
{
Accessibility_Action_unref (*obj, &ev);
return 0;
long
-SpiAccessibleAction_getNActions (SpiAccessibleAction *obj)
+AccessibleAction_getNActions (AccessibleAction *obj)
{
return (long)
Accessibility_Action__get_nActions (*obj, &ev);
/**
- * SpiAccessibleAction_getDescription:
+ * AccessibleAction_getDescription:
* @obj: a pointer to the #AccessibleAction to query.
*
* Get the description of 'i-th' action invokable on an
* object implementing #AccessibleAction.
*
- * Not Yet Implemented.
- *
* Returns: a UTF-8 string describing the 'i-th' invokable action.
*
**/
char *
-SpiAccessibleAction_getDescription (SpiAccessibleAction *obj,
+AccessibleAction_getDescription (AccessibleAction *obj,
long index)
{
return (char *)
char *
-SpiAccessibleAction_getKeyBinding (SpiAccessibleAction *obj,
+AccessibleAction_getKeyBinding (AccessibleAction *obj,
long index)
{
return (char *)
char *
-SpiAccessibleAction_getName (SpiAccessibleAction *obj,
+AccessibleAction_getName (AccessibleAction *obj,
long index)
{
return (char *)
- Accessibility_Action_getName (*obj,
- (CORBA_long) index,
- &ev);
+ Accessibility_Action_getName (*obj,
+ (CORBA_long) index,
+ &ev);
}
boolean
-SpiAccessibleAction_doAction (SpiAccessibleAction *obj,
+AccessibleAction_doAction (AccessibleAction *obj,
long index)
{
return (boolean)
/*
*
- * SpiAccessibleApplication function prototypes
+ * AccessibleApplication function prototypes
*
*/
/**
- * SpiAccessibleApplication_ref:
+ * AccessibleApplication_ref:
* @obj: a pointer to the #AccessibleApplication on which to operate.
*
* Increment the reference count for an #AccessibleApplication.
*
**/
int
-SpiAccessibleApplication_ref (SpiAccessibleApplication *obj)
+AccessibleApplication_ref (AccessibleApplication *obj)
{
Accessibility_Application_ref (*obj, &ev);
return 0;
}
/**
- * SpiAccessibleApplication_unref:
+ * AccessibleApplication_unref:
* @obj: a pointer to the #AccessibleApplication object on which to operate.
*
* Decrement the reference count for an #AccessibleApplication.
*
**/
int
-SpiAccessibleApplication_unref (SpiAccessibleApplication *obj)
+AccessibleApplication_unref (AccessibleApplication *obj)
{
Accessibility_Application_unref (*obj, &ev);
return 0;
}
/**
- * SpiAccessibleApplication_getToolkitName:
+ * AccessibleApplication_getToolkitName:
* @obj: a pointer to the #AccessibleApplication to query.
*
* Get the name of the UI toolkit used by an #AccessibleApplication.
*
**/
char *
-SpiAccessibleApplication_getToolkitName (SpiAccessibleApplication *obj)
+AccessibleApplication_getToolkitName (AccessibleApplication *obj)
{
return Accessibility_Application__get_toolkitName (*obj, &ev);
}
/**
- * SpiAccessibleApplication_getVersion:
+ * AccessibleApplication_getVersion:
* @obj: a pointer to the #AccessibleApplication being queried.
*
* Get the version of the at-spi bridge exported by an
*
**/
char *
-SpiAccessibleApplication_getVersion (SpiAccessibleApplication *obj)
+AccessibleApplication_getVersion (AccessibleApplication *obj)
{
return Accessibility_Application__get_version (*obj, &ev);
}
/**
- * SpiAccessibleApplication_getID:
+ * AccessibleApplication_getID:
* @obj: a pointer to the #AccessibleApplication being queried.
*
- * Get the unique ID assigned by the SpiRegistry to an
+ * Get the unique ID assigned by the Registry to an
* #AccessibleApplication instance.
* (Not Yet Implemented by the registry).
*
* Returns: a unique #long integer associated with the application
- * by the SpiRegistry, or 0 if the application is not registered.
+ * by the Registry, or 0 if the application is not registered.
long
-SpiAccessibleApplication_getID (SpiAccessibleApplication *obj)
+AccessibleApplication_getID (AccessibleApplication *obj)
{
return Accessibility_Application__get_id (*obj, &ev);
}
/**
- * SpiAccessibleApplication_pause:
+ * AccessibleApplication_pause:
*
* Attempt to pause the application (used when client event queue is
* over-full).
*
**/
boolean
-SpiAccessibleApplication_pause (SpiAccessibleApplication *obj)
+AccessibleApplication_pause (AccessibleApplication *obj)
{
return FALSE;
}
/**
- * SpiAccessibleApplication_resume:
+ * AccessibleApplication_resume:
*
* Attempt to resume the application (used after #AccessibleApplication_pause).
* Not Yet Implemented.
*
**/
boolean
-SpiAccessibleApplication_resume (SpiAccessibleApplication *obj)
+AccessibleApplication_resume (AccessibleApplication *obj)
{
return FALSE;
}
/*
*
- * SpiAccessibleComponent function implementations
+ * AccessibleComponent function implementations
*
*/
/**
- * SpiAccessibleComponent_ref:
+ * AccessibleComponent_ref:
* @obj: a pointer to an object implementing #AccessibleComponent on which to operate.
*
* Increment the reference count for an #AccessibleComponent.
*
**/
int
-SpiAccessibleComponent_ref (SpiAccessibleComponent *obj)
+AccessibleComponent_ref (AccessibleComponent *obj)
{
Accessibility_Component_ref (*obj, &ev);
return 0;
}
/**
- * SpiAccessibleComponent_unref:
+ * AccessibleComponent_unref:
* @obj: a pointer to the object implementing #AccessibleComponent on which to operate.
*
* Decrement the reference count for an #AccessibleComponent.
*
**/
int
-SpiAccessibleComponent_unref (SpiAccessibleComponent *obj)
+AccessibleComponent_unref (AccessibleComponent *obj)
{
Accessibility_Component_unref (*obj, &ev);
return 0;
}
/**
- * SpiAccessibleComponent_contains:
+ * AccessibleComponent_contains:
* @obj: a pointer to the #AccessibleComponent to query.
* @x: a #long specifying the x coordinate in question.
* @y: a #long specifying the y coordinate in question.
* @ctype: the desired coordinate system of the point (@x, @y)
- * (e.g. COORD_TYPE_WINDOW, COORD_TYPE_SCREEN).
+ * (e.g. SPI_COORD_TYPE_WINDOW, SPI_COORD_TYPE_SCREEN).
*
* Query whether a given #AccessibleComponent contains a particular point.
*
**/
boolean
-SpiAccessibleComponent_contains (SpiAccessibleComponent *obj,
+AccessibleComponent_contains (AccessibleComponent *obj,
long x,
long y,
- SpiAccessibleCoordType ctype)
+ AccessibleCoordType ctype)
{
return Accessibility_Component_contains (*obj,
(CORBA_long) x,
}
/**
- * SpiAccessibleComponent_getAccessibleAtPoint:
+ * AccessibleComponent_getAccessibleAtPoint:
* @obj: a pointer to the #AccessibleComponent to query.
* @x: a #long specifying the x coordinate of the point in question.
* @y: a #long specifying the y coordinate of the point in question.
* @ctype: the coordinate system of the point (@x, @y)
- * (e.g. COORD_TYPE_WINDOW, COORD_TYPE_SCREEN).
+ * (e.g. SPI_COORD_TYPE_WINDOW, SPI_COORD_TYPE_SCREEN).
*
* Get the accessible child at a given coordinate within an #AccessibleComponent.
*
* Returns: a pointer to an #Accessible child of the specified component which
* contains the point (@x, @y), or NULL of no child contains the point.
**/
-SpiAccessible *
-SpiAccessibleComponent_getAccessibleAtPoint (SpiAccessibleComponent *obj,
+Accessible *
+AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj,
long x,
long y,
- SpiAccessibleCoordType ctype)
+ AccessibleCoordType ctype)
{
- SpiAccessible child;
+ Accessible child;
child = Accessibility_Component_getAccessibleAtPoint(*obj,
(CORBA_long) x,
(CORBA_long) y,
}
/**
- * SpiAccessibleComponent_getExtents:
+ * AccessibleComponent_getExtents:
* @obj: a pointer to the #AccessibleComponent to query.
* @x: a pointer to a #long into which the minimum x coordinate will be returned.
* @y: a pointer to a #long into which the minimum y coordinate will be returned.
* @width: a pointer to a #long into which the x extents (width) will be returned.
* @height: a pointer to a #long into which the y extents (height) will be returned.
* @ctype: the desired coordinate system into which to return the results,
- * (e.g. COORD_TYPE_WINDOW, COORD_TYPE_SCREEN).
+ * (e.g. SPI_COORD_TYPE_WINDOW, SPI_COORD_TYPE_SCREEN).
*
* Get the bounding box of the specified #AccessibleComponent.
*
**/
void
-SpiAccessibleComponent_getExtents (SpiAccessibleComponent *obj,
+AccessibleComponent_getExtents (AccessibleComponent *obj,
long *x,
long *y,
long *width,
long *height,
- SpiAccessibleCoordType ctype)
+ AccessibleCoordType ctype)
{
CORBA_long cx, cy, cw, ch;
Accessibility_Component_getExtents (*obj,
&ch,
ctype,
&ev);
- spi_warn_ev (&ev, "SpiAccessibleComponent_getExtents");
+ spi_warn_ev (&ev, "AccessibleComponent_getExtents");
*x = (long) cx;
*y = (long) cy;
*width = (long) cw;
}
/**
- * SpiAccessibleComponent_getPosition:
+ * AccessibleComponent_getPosition:
* @obj: a pointer to the #AccessibleComponent to query.
* @x: a pointer to a #long into which the minimum x coordinate will be returned.
* @y: a pointer to a #long into which the minimum y coordinate will be returned.
* @ctype: the desired coordinate system into which to return the results,
- * (e.g. COORD_TYPE_WINDOW, COORD_TYPE_SCREEN).
+ * (e.g. SPI_COORD_TYPE_WINDOW, SPI_COORD_TYPE_SCREEN).
*
* Get the minimum x and y coordinates of the specified #AccessibleComponent.
*
**/
void
-SpiAccessibleComponent_getPosition (SpiAccessibleComponent *obj,
+AccessibleComponent_getPosition (AccessibleComponent *obj,
long *x,
long *y,
- SpiAccessibleCoordType ctype)
+ AccessibleCoordType ctype)
{
Accessibility_Component_getPosition (*obj,
(CORBA_long *) x,
}
/**
- * SpiAccessibleComponent_getSize:
+ * AccessibleComponent_getSize:
* @obj: a pointer to the #AccessibleComponent to query.
* @width: a pointer to a #long into which the x extents (width) will be returned.
* @height: a pointer to a #long into which the y extents (height) will be returned.
*
**/
void
-SpiAccessibleComponent_getSize (SpiAccessibleComponent *obj,
+AccessibleComponent_getSize (AccessibleComponent *obj,
long *width,
long *height)
{
/* Not Yet Implemented */
void
-SpiAccessibleComponent_grabFocus (SpiAccessibleComponent *obj)
+AccessibleComponent_grabFocus (AccessibleComponent *obj)
{
;
}
int
-SpiAccessibleEditableText_ref (SpiAccessibleEditableText *obj)
+AccessibleEditableText_ref (AccessibleEditableText *obj)
{
Accessibility_EditableText_ref (*obj, &ev);
return 0;
int
-SpiAccessibleEditableText_unref (SpiAccessibleEditableText *obj)
+AccessibleEditableText_unref (AccessibleEditableText *obj)
{
Accessibility_EditableText_unref (*obj, &ev);
return 0;
boolean
-SpiAccessibleEditableText_setAttributes (SpiAccessibleEditableText *obj,
- const char *attributes,
- long startPos, long endPos)
+AccessibleEditableText_setAttributes (AccessibleEditableText *obj,
+ const char *attributes,
+ long startPos, long endPos)
{
return (boolean)
Accessibility_EditableText_setAttributes (*obj,
- (CORBA_char *) attributes,
- (CORBA_long) startPos, (CORBA_long) endPos, &ev);
+ (CORBA_char *) attributes,
+ (CORBA_long) startPos, (CORBA_long) endPos, &ev);
}
void
-SpiAccessibleEditableText_setTextContents (SpiAccessibleEditableText *obj,
+AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
const char *newContents)
{
Accessibility_EditableText_setTextContents (*obj,
void
-SpiAccessibleEditableText_insertText (SpiAccessibleEditableText *obj,
+AccessibleEditableText_insertText (AccessibleEditableText *obj,
long position,
char *text,
long length)
void
-SpiAccessibleEditableText_copyText (SpiAccessibleText *obj,
+AccessibleEditableText_copyText (AccessibleText *obj,
long startPos,
long endPos)
{
void
-SpiAccessibleEditableText_cutText (SpiAccessibleEditableText *obj,
+AccessibleEditableText_cutText (AccessibleEditableText *obj,
long startPos,
long endPos)
{
void
-SpiAccessibleEditableText_deleteText (SpiAccessibleEditableText *obj,
+AccessibleEditableText_deleteText (AccessibleEditableText *obj,
long startPos,
long endPos)
{
void
-SpiAccessibleEditableText_pasteText (SpiAccessibleEditableText *obj,
+AccessibleEditableText_pasteText (AccessibleEditableText *obj,
long position)
{
Accessibility_EditableText_pasteText (*obj,
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
/**
- * createEventListener:
+ * createAccessibleEventListener:
* @callback : an #AccessibleEventListenerCB callback function, or NULL.
*
* Create a new #AccessibleEventListener with a specified callback function.
* Returns: a pointer to a newly-created #AccessibleEventListener.
*
**/
-SpiAccessibleEventListener *
-createEventListener (SpiAccessibleEventListenerCB callback)
+AccessibleEventListener *
+createAccessibleEventListener (AccessibleEventListenerCB callback)
{
- SpiAccessibleEventListener *listener = spi_accessible_event_listener_new ();
+ AccessibleEventListener *listener = spi_accessible_event_listener_new ();
if (callback)
{
spi_accessible_event_listener_add_callback (listener, callback);
}
/**
- * EventListener_addCallback:
+ * AccessibleEventListener_addCallback:
* @listener: the #AccessibleEventListener instance to modify.
* @callback: an #AccessibleEventListenerCB function pointer.
*
- * Add an in-process callback function to an existing SpiAccessibleEventListener.
+ * Add an in-process callback function to an existing AccessibleEventListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
**/
boolean
-EventListener_addCallback (SpiAccessibleEventListener *listener,
- SpiAccessibleEventListenerCB callback)
+AccessibleEventListener_addCallback (AccessibleEventListener *listener,
+ AccessibleEventListenerCB callback)
{
spi_accessible_event_listener_add_callback (listener, callback);
return TRUE;
}
/**
- * EventListener_removeCallback:
+ * AccessibleEventListener_removeCallback:
* @listener: the #AccessibleEventListener instance to modify.
* @callback: an #AccessibleEventListenerCB function pointer.
*
- * Remove an in-process callback function from an existing SpiAccessibleEventListener.
+ * Remove an in-process callback function from an existing AccessibleEventListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
**/
boolean
-EventListener_removeCallback (SpiAccessibleEventListener *listener,
- SpiAccessibleEventListenerCB callback)
+AccessibleEventListener_removeCallback (AccessibleEventListener *listener,
+ AccessibleEventListenerCB callback)
{
spi_accessible_event_listener_remove_callback (listener, callback);
return TRUE;
}
/**
- * createKeystrokeListener:
- * @callback : an #KeystrokeListenerCB callback function, or NULL.
+ * createAccessibleKeystrokeListener:
+ * @callback : an #AccessibleKeystrokeListenerCB callback function, or NULL.
*
- * Create a new #KeystrokeListener with a specified callback function.
+ * Create a new #AccessibleKeystrokeListener with a specified callback function.
*
- * Returns: a pointer to a newly-created #KeystrokeListener.
+ * Returns: a pointer to a newly-created #AccessibleKeystrokeListener.
*
**/
-KeystrokeListener *
-createKeystrokeListener (KeystrokeListenerCB callback)
+AccessibleKeystrokeListener *
+createAccessibleKeystrokeListener (AccessibleKeystrokeListenerCB callback)
{
- KeystrokeListener *listener = keystroke_listener_new ();
+ SpiKeystrokeListener *listener = spi_keystroke_listener_new ();
if (callback)
{
- keystroke_listener_add_callback (listener, callback);
+ spi_keystroke_listener_add_callback (listener, callback);
}
- return listener;
+ return (AccessibleKeystrokeListener *)listener;
}
/**
- * KeystrokeListener_addCallback:
- * @listener: the #KeystrokeListener instance to modify.
- * @callback: an #KeystrokeListenerCB function pointer.
+ * AccessibleKeystrokeListener_addCallback:
+ * @listener: the #AccessibleKeystrokeListener instance to modify.
+ * @callback: an #AccessibleKeystrokeListenerCB function pointer.
*
- * Add an in-process callback function to an existing #KeystrokeListener.
+ * Add an in-process callback function to an existing #AccessibleKeystrokeListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
**/
boolean
-KeystrokeListener_addCallback (KeystrokeListener *listener,
- KeystrokeListenerCB callback)
+AccessibleKeystrokeListener_addCallback (AccessibleKeystrokeListener *listener,
+ AccessibleKeystrokeListenerCB callback)
{
- keystroke_listener_add_callback (listener, callback);
+ spi_keystroke_listener_add_callback (listener, callback);
return TRUE;
}
/**
- * KeystrokeListener_removeCallback:
- * @listener: the #KeystrokeListener instance to modify.
- * @callback: an #KeystrokeListenerCB function pointer.
+ * AccessibleKeystrokeListener_removeCallback:
+ * @listener: the #AccessibleKeystrokeListener instance to modify.
+ * @callback: an #AccessibleKeystrokeListenerCB function pointer.
*
- * Remove an in-process callback function from an existing KeystrokeListener.
+ * Remove an in-process callback function from an existing #AccessibleKeystrokeListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
**/
boolean
-KeystrokeListener_removeCallback (KeystrokeListener *listener,
- KeystrokeListenerCB callback)
+AccessibleKeystrokeListener_removeCallback (AccessibleKeystrokeListener *listener,
+ AccessibleKeystrokeListenerCB callback)
{
keystroke_listener_remove_callback (listener, callback);
return TRUE;
int
-SpiAccessibleHyperlink_ref (SpiAccessibleHyperlink *obj)
+AccessibleHyperlink_ref (AccessibleHyperlink *obj)
{
Accessibility_Hyperlink_ref (*obj, &ev);
return 0;
int
-SpiAccessibleHyperlink_unref (SpiAccessibleHyperlink *obj)
+AccessibleHyperlink_unref (AccessibleHyperlink *obj)
{
Accessibility_Hyperlink_unref (*obj, &ev);
return 0;
long
-SpiAccessibleHyperlink_getNAnchors (SpiAccessibleHyperlink *obj)
+AccessibleHyperlink_getNAnchors (AccessibleHyperlink *obj)
{
return (long)
Accessibility_Hyperlink__get_nAnchors (*obj, &ev);
char *
-SpiAccessibleHyperlink_getURI (SpiAccessibleHyperlink *obj,
+AccessibleHyperlink_getURI (AccessibleHyperlink *obj,
long i)
{
return (char *)
-SpiAccessible
-SpiAccessibleHyperlink_getObject (SpiAccessibleHyperlink *obj,
+Accessible*
+AccessibleHyperlink_getObject (AccessibleHyperlink *obj,
long i)
{
- return (SpiAccessible)
+ return Obj_Add (
Accessibility_Hyperlink_getObject (*obj,
- (CORBA_long) i, &ev);
+ (CORBA_long) i, &ev));
}
void
-SpiAccessibleHyperlink_getIndexRange (SpiAccessibleHyperlink *obj,
+AccessibleHyperlink_getIndexRange (AccessibleHyperlink *obj,
long *startIndex,
long *endIndex)
{
boolean
-SpiAccessibleHyperlink_isValid (SpiAccessibleHyperlink *obj)
+AccessibleHyperlink_isValid (AccessibleHyperlink *obj)
{
return (boolean)
Accessibility_Hyperlink_isValid (*obj, &ev);
int
-SpiAccessibleHypertext_ref (SpiAccessibleHypertext *obj)
+AccessibleHypertext_ref (AccessibleHypertext *obj)
{
Accessibility_Hypertext_ref (*obj, &ev);
return 0;
int
-SpiAccessibleHypertext_unref (SpiAccessibleHypertext *obj)
+AccessibleHypertext_unref (AccessibleHypertext *obj)
{
Accessibility_Hypertext_unref (*obj, &ev);
return 0;
long
-SpiAccessibleHypertext_getNLinks (SpiAccessibleHypertext *obj)
+AccessibleHypertext_getNLinks (AccessibleHypertext *obj)
{
return (long)
Accessibility_Hypertext_getNLinks (*obj, &ev);
}
-SpiAccessibleHyperlink *
-SpiAccessibleHyperText_getLink (SpiAccessibleHypertext *obj,
+AccessibleHyperlink *
+AccessibleHyperText_getLink (AccessibleHypertext *obj,
long linkIndex)
{
- return (SpiAccessibleHyperlink *)
+ return (AccessibleHyperlink *)
Accessibility_Hypertext_getLink (*obj,
(CORBA_long) linkIndex, &ev);
}
long
-SpiAccessibleHypertext_getLinkIndex (SpiAccessibleHypertext *obj,
+AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj,
long characterIndex)
{
return (long)
int
-SpiAccessibleImage_ref (SpiAccessibleImage *obj)
+AccessibleImage_ref (AccessibleImage *obj)
{
Accessibility_Image_ref (*obj, &ev);
return 0;
int
-SpiAccessibleImage_unref (SpiAccessibleImage *obj)
+AccessibleImage_unref (AccessibleImage *obj)
{
Accessibility_Image_unref (*obj, &ev);
return 0;
char *
-SpiAccessibleImage_getImageDescription (SpiAccessibleImage *obj)
+AccessibleImage_getImageDescription (AccessibleImage *obj)
{
return (char *)
Accessibility_Image__get_imageDescription (*obj, &ev);
- }
+}
void
-SpiAccessibleImage_getImageSize (SpiAccessibleImage *obj,
+AccessibleImage_getImageSize (AccessibleImage *obj,
long *width,
long *height)
{
void
-SpiAccessibleImage_getImagePosition (SpiAccessibleImage *obj,
+AccessibleImage_getImagePosition (AccessibleImage *obj,
long *x,
long *y,
- SpiAccessibleCoordType ctype)
+ AccessibleCoordType ctype)
{
Accessibility_Image_getImagePosition (*obj,
(CORBA_long *) x, (CORBA_long *) y, (CORBA_short) ctype,
* Returns: the next #AccessibleEvent in the SPI event queue.
*
**/
-SpiAccessibleEvent *
+AccessibleEvent *
SPI_nextEvent (boolean waitForEvent)
{
return NULL;
/**
* SPI_exit:
*
- * Disconnects from the Accessibility SpiRegistry and releases resources.
+ * Disconnects from the Accessibility Registry and releases resources.
* Not Yet Implemented.
*
**/
* functions are used internally. In general, listening to
* toolkit-specific events is not recommended.
*
- * Add an in-process callback function to an existing SpiAccessibleEventListener.
+ * Add an in-process callback function to an existing AccessibleEventListener.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
**/
boolean
-registerGlobalEventListener (SpiAccessibleEventListener *listener,
+registerGlobalEventListener (AccessibleEventListener *listener,
char *eventType)
{
Accessibility_Registry_registerGlobalEventListener (
* deregisterGlobalEventListener:
* @listener: the #AccessibleEventListener to be registered against an event type.
*
- * deregisters an SpiAccessibleEventListener from the registry, for all event types it may be listening to.
+ * deregisters an AccessibleEventListener from the registry, for all event types it may be listening to.
*
* Returns: #TRUE if successful, otherwise #FALSE.
*
**/
boolean
-deregisterGlobalEventListenerAll (SpiAccessibleEventListener *listener)
+deregisterGlobalEventListenerAll (AccessibleEventListener *listener)
{
Accessibility_Registry_deregisterGlobalEventListenerAll (
registry,
* Returns: a pointer to the 'i-th' virtual desktop's #Accessible representation.
*
**/
-SpiAccessible*
+Accessible*
getDesktop (int n)
{
return Obj_Add (Accessibility_Registry_getDesktop (registry, (CORBA_short) n, &ev));
* placed in the list pointed to by parameter @list.
**/
int
-getDesktopList (SpiAccessible **list)
+getDesktopList (Accessible **list)
{
*list = NULL;
return 0;
return TRUE;
}
-void
-save_this_impl_registerKeystrokeListener (KeystrokeListener *listener, KeyMaskType keymask)
-{
- static gboolean initialized = FALSE;
- static Window grab_window;
- XEvent *x_event = g_new0(XEvent, 1);
- key_listeners = g_list_append (key_listeners, listener);
- if (!initialized)
- {
- g_timeout_add_full (G_PRIORITY_HIGH_IDLE, 200, key_event_source_func, key_listeners, NULL);
- display = XOpenDisplay (getenv ("DISPLAY"));
- grab_window = DefaultRootWindow (display);
- XSelectInput (display, grab_window, KeyPress | KeyRelease);
- initialized = TRUE;
- }
- /* */
- XGrabKey (display,
- AnyKey,
- LockMask,
- grab_window,
- False,
- GrabModeAsync,
- GrabModeAsync);
- while (0)
- {
- XNextEvent (display, x_event);
- g_print ("foo!\n");
- }
-}
-
/**
- * registerKeystrokeListener:
- * @listener: a pointer to the #KeystrokeListener for which
+ * registerAccessibleKeystrokeListener:
+ * @listener: a pointer to the #AccessibleKeystrokeListener for which
* keystroke events are requested.
*
**/
void
-registerKeystrokeListener (KeystrokeListener *listener,
- KeySet *keys,
- KeyMaskType modmask,
- KeyEventMask eventmask,
- KeyListenerSyncType sync_type)
+registerAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener,
+ AccessibleKeySet *keys,
+ AccessibleKeyMaskType modmask,
+ AccessibleKeyEventMask eventmask,
+ AccessibleKeyListenerSyncType sync_type)
{
Accessibility_ControllerEventMask *controller_event_mask =
Accessibility_ControllerEventMask__alloc();
all_keys,
controller_event_mask,
key_events,
- (CORBA_boolean) ((sync_type | KEYSPI_LISTENER_CANCONSUME)!=0),
+ (CORBA_boolean) ((sync_type | SPI_KEYLISTENER_ALL_WINDOWS)!=0),
&ev);
}
/**
- * deregisterKeystrokeListener:
- * @listener: a pointer to the #KeystrokeListener for which
+ * deregisterAccessibleKeystrokeListener:
+ * @listener: a pointer to the #AccessibleKeystrokeListener for which
* keystroke events are requested.
*
**/
void
-deregisterKeystrokeListener (KeystrokeListener *listener, KeyMaskType keymask)
+deregisterAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener, AccessibleKeyMaskType keymask)
{
Accessibility_ControllerEventMask *controller_event_mask =
Accessibility_ControllerEventMask__alloc();
*
**/
void
-generateKeyEvent (long keyval, KeySynthType type)
+generateKeyEvent (long keyval, AccessibleKeySynthType type)
{
/* TODO: check current modifier status and
* send keycode to alter, if necessary
int
-SpiAccessibleSelection_ref (SpiAccessibleSelection *obj)
+AccessibleSelection_ref (AccessibleSelection *obj)
{
Accessibility_Selection_ref (*obj, &ev);
return 0;
int
-SpiAccessibleSelection_unref (SpiAccessibleSelection *obj)
+AccessibleSelection_unref (AccessibleSelection *obj)
{
Accessibility_Selection_unref (*obj, &ev);
return 0;
long
-SpiAccessibleSelection_getNSelectedChildren (SpiAccessibleSelection *obj)
+AccessibleSelection_getNSelectedChildren (AccessibleSelection *obj)
{
return (long)
Accessibility_Selection__get_nSelectedChildren (*obj, &ev);
-SpiAccessible *
-SpiAccessibleSelection_getSelectedChild (SpiAccessibleSelection *obj,
+Accessible *
+AccessibleSelection_getSelectedChild (AccessibleSelection *obj,
long selectedChildIndex)
{
Accessibility_Accessible child =
(CORBA_long) selectedChildIndex, &ev);
spi_warn_ev (&ev, "getSelectedChild");
- return (SpiAccessible *) ((CORBA_Object_is_nil (child, &ev)) ? NULL : Obj_Add (child));
+ return (Accessible *) ((CORBA_Object_is_nil (child, &ev)) ? NULL : Obj_Add (child));
}
boolean
-SpiAccessibleSelection_selectChild (SpiAccessibleSelection *obj,
+AccessibleSelection_selectChild (AccessibleSelection *obj,
long childIndex)
{
return (boolean)
boolean
-SpiAccessibleSelection_deselectSelectedChild (SpiAccessibleSelection *obj,
+AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj,
long selectedChildIndex)
{
Accessibility_Selection_deselectSelectedChild (*obj,
boolean
-SpiAccessibleSelection_isChildSelected (SpiAccessibleSelection *obj,
+AccessibleSelection_isChildSelected (AccessibleSelection *obj,
long childIndex)
{
return (boolean)
void
-SpiAccessibleSelection_selectAll (SpiAccessibleSelection *obj)
+AccessibleSelection_selectAll (AccessibleSelection *obj)
{
Accessibility_Selection_selectAll (*obj, &ev);
}
void
-SpiAccessibleSelection_clearSelection (SpiAccessibleSelection *obj)
+AccessibleSelection_clearSelection (AccessibleSelection *obj)
{
Accessibility_Selection_clearSelection (*obj, &ev);
}
int
-SpiAccessibleTable_ref (SpiAccessibleTable *obj)
+AccessibleTable_ref (AccessibleTable *obj)
{
Accessibility_Table_ref (*obj, &ev);
return 0;
int
-SpiAccessibleTable_unref (SpiAccessibleTable *obj)
+AccessibleTable_unref (AccessibleTable *obj)
{
Accessibility_Table_unref (*obj, &ev);
return 0;
-SpiAccessible *
-SpiAccessibleTable_getCaption (SpiAccessibleTable *obj)
+Accessible *
+AccessibleTable_getCaption (AccessibleTable *obj)
{
- return (SpiAccessible *)
+ return (Accessible *)
Accessibility_Table__get_caption (*obj, &ev);
}
-SpiAccessible *
-SpiAccessibleTable_getSummary (SpiAccessibleTable *obj)
+Accessible *
+AccessibleTable_getSummary (AccessibleTable *obj)
{
- return (SpiAccessible *)
+ return (Accessible *)
Accessibility_Table__get_summary (*obj, &ev);
}
long
-SpiAccessibleTable_getNRows (SpiAccessibleTable *obj)
+AccessibleTable_getNRows (AccessibleTable *obj)
{
return (long)
Accessibility_Table__get_nRows (*obj, &ev);
long
-SpiAccessibleTable_getNColumns (SpiAccessibleTable *obj)
+AccessibleTable_getNColumns (AccessibleTable *obj)
{
return (long)
Accessibility_Table__get_nColumns (*obj, &ev);
}
-SpiAccessible *
-SpiAccessibleTable_getAccessibleAt (SpiAccessibleTable *obj,
+Accessible *
+AccessibleTable_getAccessibleAt (AccessibleTable *obj,
long row,
long column)
{
- return (SpiAccessible *)
+ return (Accessible *)
Accessibility_Table_getAccessibleAt (*obj,
(CORBA_long) row, (CORBA_long) column, &ev);
}
long
-SpiAccessibleTable_getIndexAt (SpiAccessibleTable *obj,
+AccessibleTable_getIndexAt (AccessibleTable *obj,
long row,
long column)
{
long
-SpiAccessibleTable_getRowAtIndex (SpiAccessibleTable *obj,
+AccessibleTable_getRowAtIndex (AccessibleTable *obj,
long index)
{
return (long)
long
-SpiAccessibleTable_getColumnAtIndex (SpiAccessibleTable *obj,
+AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
long index)
{
return (long)
char *
-SpiAccessibleTable_getRowDescription (SpiAccessibleTable *obj,
+AccessibleTable_getRowDescription (AccessibleTable *obj,
long row)
{
return (char *)
char *
-SpiAccessibleTable_getColumnDescription (SpiAccessibleTable *obj,
+AccessibleTable_getColumnDescription (AccessibleTable *obj,
long column)
{
return (char *)
long
-SpiAccessibleTable_getRowExtentAt (SpiAccessibleTable *obj,
+AccessibleTable_getRowExtentAt (AccessibleTable *obj,
long row,
long column)
{
long
-SpiAccessibleTable_getColumnExtentAt (SpiAccessibleTable *obj,
+AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
long row,
long column)
{
-SpiAccessible *
-SpiAccessibleTable_getRowHeader (SpiAccessibleTable *obj,
+Accessible *
+AccessibleTable_getRowHeader (AccessibleTable *obj,
long row)
{
- return (SpiAccessible *)
+ return (Accessible *)
Accessibility_Table_getRowHeader (*obj,
(CORBA_long) row, &ev);
}
-SpiAccessible *
-SpiAccessibleTable_getColumnHeader (SpiAccessibleTable *obj,
+Accessible *
+AccessibleTable_getColumnHeader (AccessibleTable *obj,
long column)
{
- return (SpiAccessible *)
+ return (Accessible *)
Accessibility_Table_getColumnHeader (*obj,
(CORBA_long) column, &ev);
}
long
-SpiAccessibleTable_getNSelectedRows (SpiAccessibleTable *obj)
+AccessibleTable_getNSelectedRows (AccessibleTable *obj)
{
return (long)
Accessibility_Table__get_nSelectedRows (*obj, &ev);
long
-SpiAccessibleTable_getSelectedRows (SpiAccessibleTable *obj,
+AccessibleTable_getSelectedRows (AccessibleTable *obj,
long **selectedRows)
{
Accessibility_LongSeq *rows = Accessibility_Table_getSelectedRows (*obj, &ev);
long
-SpiAccessibleTable_getNSelectedColumns (SpiAccessibleTable *obj)
+AccessibleTable_getNSelectedColumns (AccessibleTable *obj)
{
return (long)
Accessibility_Table__get_nSelectedColumns (*obj, &ev);
long
-SpiAccessibleTable_getSelectedColumns (SpiAccessibleTable *obj,
+AccessibleTable_getSelectedColumns (AccessibleTable *obj,
long **selectedColumns)
{
Accessibility_LongSeq *columns = Accessibility_Table_getSelectedColumns (*obj, &ev);
boolean
-SpiAccessibleTable_isRowSelected (SpiAccessibleTable *obj,
+AccessibleTable_isRowSelected (AccessibleTable *obj,
long row)
{
return (boolean)
boolean
-SpiAccessibleTable_isColumnSelected (SpiAccessibleTable *obj,
+AccessibleTable_isColumnSelected (AccessibleTable *obj,
long column)
{
return (boolean)
boolean
-SpiAccessibleTable_isSelected (SpiAccessibleTable *obj,
+AccessibleTable_isSelected (AccessibleTable *obj,
long row,
long column)
{
int
-SpiAccessibleText_ref (SpiAccessibleText *obj)
+AccessibleText_ref (AccessibleText *obj)
{
Accessibility_Text_ref (*obj, &ev);
return 0;
int
-SpiAccessibleText_unref (SpiAccessibleText *obj)
+AccessibleText_unref (AccessibleText *obj)
{
Accessibility_Text_unref (*obj, &ev);
return 0;
long
-SpiAccessibleText_getCharacterCount (SpiAccessibleText *obj)
+AccessibleText_getCharacterCount (AccessibleText *obj)
{
long retval;
char *
-SpiAccessibleText_getText (SpiAccessibleText *obj,
+AccessibleText_getText (AccessibleText *obj,
long startOffset,
long endOffset)
{
long
-SpiAccessibleText_getCaretOffset (SpiAccessibleText *obj)
+AccessibleText_getCaretOffset (AccessibleText *obj)
{
return (long)
Accessibility_Text__get_caretOffset (*obj, &ev);
char *
-SpiAccessibleText_getAttributes (SpiAccessibleText *obj,
- long offset,
- long *startOffset,
- long *endOffset)
+AccessibleText_getAttributes (AccessibleText *obj,
+ long offset,
+ long *startOffset,
+ long *endOffset)
{
CORBA_long retStartOffset, retEndOffset;
char *retval;
boolean
-SpiAccessibleText_setCaretOffset (SpiAccessibleText *obj,
+AccessibleText_setCaretOffset (AccessibleText *obj,
long newOffset)
{
return (boolean)
char *
-SpiAccessibleText_getTextBeforeOffset (SpiAccessibleText *obj,
+AccessibleText_getTextBeforeOffset (AccessibleText *obj,
long offset,
- SPI_TEXT_BOUNDARY_TYPE type,
+ AccessibleTextBoundaryType type,
long *startOffset, long *endOffset)
{
char *retval;
char *
-SpiAccessibleText_getTextAtOffset (SpiAccessibleText *obj,
+AccessibleText_getTextAtOffset (AccessibleText *obj,
long offset,
- SPI_TEXT_BOUNDARY_TYPE type,
+ AccessibleTextBoundaryType type,
long *startOffset, long *endOffset)
{
CORBA_long corbaStartOffset;
char *
-SpiAccessibleText_getTextAfterOffset (SpiAccessibleText *obj,
- long offset,
- SPI_TEXT_BOUNDARY_TYPE type,
- long *startOffset, long *endOffset)
+AccessibleText_getTextAfterOffset (AccessibleText *obj,
+ long offset,
+ AccessibleTextBoundaryType type,
+ long *startOffset, long *endOffset)
{
char *retval;
CORBA_long retStartOffset, retEndOffset;
unsigned long
-SpiAccessibleText_getCharacterAtOffset (SpiAccessibleText *obj,
+AccessibleText_getCharacterAtOffset (AccessibleText *obj,
long offset)
{
return (unsigned long)
void
-SpiAccessibleText_getCharacterExtents (SpiAccessibleText *obj,
+AccessibleText_getCharacterExtents (AccessibleText *obj,
long offset,
long *x,
long *y,
long *width,
long *height,
- SpiAccessibleCoordType type)
+ AccessibleCoordType type)
{
CORBA_long retX, retY, retWidth, retHeight;
Accessibility_Text_getCharacterExtents (*obj,
long
-SpiAccessibleText_getOffsetAtPoint (SpiAccessibleText *obj,
+AccessibleText_getOffsetAtPoint (AccessibleText *obj,
long x,
long y,
- SpiAccessibleCoordType type)
+ AccessibleCoordType type)
{
return (long)
Accessibility_Text_getOffsetAtPoint (*obj,
}
-
long
-SpiAccessibleText_getNSelections (SpiAccessibleText *obj)
+AccessibleText_getNSelections (AccessibleText *obj)
{
return (long)
Accessibility_Text_getNSelections (*obj, &ev);
void
-SpiAccessibleText_getSelection (SpiAccessibleText *obj,
+AccessibleText_getSelection (AccessibleText *obj,
long selectionNum, long *startOffset,
long *endOffset)
{
boolean
-SpiAccessibleText_addSelection (SpiAccessibleText *obj,
+AccessibleText_addSelection (AccessibleText *obj,
long startOffset, long endOffset)
{
return (boolean)
}
-
boolean
-SpiAccessibleText_removeSelection (SpiAccessibleText *obj,
+AccessibleText_removeSelection (AccessibleText *obj,
long selectionNum)
{
return (boolean)
boolean
-SpiAccessibleText_setSelection (SpiAccessibleText *obj,
+AccessibleText_setSelection (AccessibleText *obj,
long selectionNum,
long startOffset,
long endOffset)
int
-SpiAccessibleValue_ref (SpiAccessibleValue *obj)
- {
- Accessibility_Value_ref (*obj, &ev);
- return 0;
- }
+AccessibleValue_ref (AccessibleValue *obj)
+{
+ Accessibility_Value_ref (*obj, &ev);
+ return 0;
+}
int
-SpiAccessibleValue_unref (SpiAccessibleValue *obj)
- {
- Accessibility_Value_unref (*obj, &ev);
- return 0;
- }
+AccessibleValue_unref (AccessibleValue *obj)
+{
+ Accessibility_Value_unref (*obj, &ev);
+ return 0;
+}
float
-SpiAccessibleValue_getMinimumValue (SpiAccessibleValue *obj)
+AccessibleValue_getMinimumValue (AccessibleValue *obj)
{
return (float)
Accessibility_Value__get_minimumValue (*obj, &ev);
float
-SpiAccessibleValue_getCurrentValue (SpiAccessibleValue *obj)
+AccessibleValue_getCurrentValue (AccessibleValue *obj)
{
return (float)
Accessibility_Value__get_currentValue (*obj, &ev);
float
-SpiAccessibleValue_getMaximumValue (SpiAccessibleValue *obj)
+AccessibleValue_getMaximumValue (AccessibleValue *obj)
{
return (float)
Accessibility_Value__get_maximumValue (*obj, &ev);
boolean
-SpiAccessibleValue_setCurrentValue (SpiAccessibleValue *obj,
+AccessibleValue_setCurrentValue (AccessibleValue *obj,
float newValue)
{
Accessibility_Value__set_currentValue (*obj,
* Boston, MA 02111-1307, USA.
*/
-#ifndef SPI_ACCESSIBLE_EVENT_SPI_LISTENER_H_
-#define SPI_ACCESSIBLE_EVENT_SPI_LISTENER_H_
+#ifndef SPI_ACCESSIBLE_EVENT_LISTENER_H_
+#define SPI_ACCESSIBLE_EVENT_LISTENER_H_
#ifdef __cplusplus
extern "C" {
#include <stdio.h>
#endif
+#include <stdlib.h> /* for getenv() */
#include <X11/Xlib.h>
#include <X11/extensions/XTest.h>
#include <config.h>
static void _controller_register_device_listener (SpiDeviceEventController *controller,
const CORBA_Object l,
- const Accessibility_ControllerEventMask *mask,
DeviceTypeCategory type,
+ const Accessibility_KeySet *keys,
+ const Accessibility_ControllerEventMask *mask,
CORBA_Environment *ev);
/*
static void
_controller_register_device_listener (SpiDeviceEventController *controller,
const CORBA_Object l,
- const Accessibility_ControllerEventMask *mask,
DeviceTypeCategory type,
+ const Accessibility_KeySet *keys,
+ const Accessibility_ControllerEventMask *mask,
CORBA_Environment *ev)
{
Accessibility_ControllerEventMask *mask_ptr = NULL;
const Accessibility_KeySet *keys,
const Accessibility_ControllerEventMask *mask,
const Accessibility_KeyEventTypeSeq *type,
- const CORBA_boolean is_synchronous,
+ const CORBA_boolean is_system_global,
CORBA_Environment *ev)
{
SpiDeviceEventController *controller = SPI_DEVICE_EVENT_CONTROLLER (
fprintf (stderr, "registering keystroke listener %p with maskVal %lu\n",
(void *) l, (unsigned long) mask->value);
#endif
- /* TODO: change this to an enum, indicating if event can be consumed */
- if (is_synchronous)
- _controller_register_device_listener(controller, l, mask, DEVICE_TYPE_KBD, ev);
+ /* TODO: change this to an enum, indicating if event is caught at OS level */
+ if (is_system_global)
+ _controller_register_device_listener(controller, l, DEVICE_TYPE_KBD, keys, mask, ev);
else
; /* register with toolkit instead */
}
+
/*
* CORBA Accessibility::DeviceEventController::deregisterKeystrokeListener
* method implementation
#ifdef SPI_DEBUG
fprintf (stderr, "registering mouse listener %p\n", l);
#endif
- _controller_register_device_listener(controller, l, mask, DEVICE_TYPE_MOUSE, ev);
+ _controller_register_device_listener(controller, DEVICE_TYPE_MOUSE, l, keys, mask, ev);
}
*/
static void
impl_generate_key_event (PortableServer_Servant servant,
const CORBA_long keycode,
- const CORBA_long synth_type,
+ const Accessibility_KeySynthType synth_type,
CORBA_Environment *ev)
{
long key_synth_code;
return (klass->check_key_event) (controller);
}
+SpiDeviceEventController *
+spi_device_event_controller_new (void *registryp)
+{
+ SpiRegistry *registry = SPI_REGISTRY (registryp);
+ SpiDeviceEventController *retval =
+ SPI_DEVICE_EVENT_CONTROLLER (g_object_new (SPI_DEVICE_EVENT_CONTROLLER_TYPE, NULL));
+ retval->registry = registry;
+ bonobo_object_ref (registry);
+ return retval;
+}
+
GType
spi_device_event_controller_get_type (void)
{
#include <bonobo/bonobo-object.h>
#include <libspi/Accessibility.h>
#include "keystrokelistener.h"
+#include "registry.h"
#define SPI_DEVICE_EVENT_CONTROLLER_TYPE (spi_device_event_controller_get_type ())
#define SPI_DEVICE_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDeviceEventController))
typedef struct {
BonoboObject parent;
+ struct SpiRegistry *registry;
GList *key_listeners;
GList *mouse_listeners;
GList *keymask_list;
gboolean (*check_key_event) (SpiDeviceEventController *controller);
} SpiDeviceEventControllerClass;
-GType spi_device_event_controller_get_type (void);
+GType spi_device_event_controller_get_type (void);
+SpiDeviceEventController *spi_device_event_controller_new (void *registry);
#ifdef __cplusplus
}
* Boston, MA 02111-1307, USA.
*/
-#ifndef SPI_ACCESSIBLE_EVENT_SPI_LISTENER_H_
-#define SPI_ACCESSIBLE_EVENT_SPI_LISTENER_H_
+#ifndef SPI_ACCESSIBLE_EVENT_LISTENER_H_
+#define SPI_ACCESSIBLE_EVENT_LISTENER_H_
#ifdef __cplusplus
extern "C" {
#include <X11/Xlib.h>
-typedef unsigned long KeyMaskType;
+typedef unsigned long SpiKeyMaskType;
-#define KEYMASK_ALT Mod1Mask
-#define KEYMASK_MOD1 Mod1Mask
-#define KEYMASK_MOD2 Mod2Mask
-#define KEYMASK_MOD3 Mod3Mask
-#define KEYMASK_CONTROL ControlMask
-#define KEYMASK_SHIFT ShiftMask
-#define KEYMASK_SHIFTLOCK LockMask
-#define KEYMASK_UNMODIFIED 0
+#define SPI_KEYMASK_ALT Mod1Mask
+#define SPI_KEYMASK_MOD1 Mod1Mask
+#define SPI_KEYMASK_MOD2 Mod2Mask
+#define SPI_KEYMASK_MOD3 Mod3Mask
+#define SPI_KEYMASK_CONTROL ControlMask
+#define SPI_KEYMASK_SHIFT ShiftMask
+#define SPI_KEYMASK_SHIFTLOCK LockMask
+#define SPI_KEYMASK_UNMODIFIED 0
#ifdef __cplusplus
}
static void
keystroke_listener_object_finalize (GObject *object)
{
-/* KeystrokeListener *keystroke_listener = KEYSTROKE_SPI_LISTENER (object); */
#ifdef SPI_DEBUG
fprintf(stderr, "keystroke_listener_object_finalize called\n");
keystroke_listener_parent_class->finalize (object);
}
-void keystroke_listener_add_callback (KeystrokeListener *listener,
- BooleanKeystrokeListenerCB callback)
+void spi_keystroke_listener_add_callback (SpiKeystrokeListener *listener,
+ BooleanKeystrokeListenerCB callback)
{
listener->callbacks = g_list_append (listener->callbacks, callback);
#ifdef SPI_DEBUG
#endif
}
-void keystroke_listener_remove_callback (KeystrokeListener *listener,
+void keystroke_listener_remove_callback (SpiKeystrokeListener *listener,
BooleanKeystrokeListenerCB callback)
{
listener->callbacks = g_list_remove (listener->callbacks, callback);
const Accessibility_KeyStroke *key,
CORBA_Environment *ev)
{
- KeystrokeListener *listener = KEYSTROKE_SPI_LISTENER (bonobo_object_from_servant (servant));
+ SpiKeystrokeListener *listener = SPI_KEYSTROKE_LISTENER (bonobo_object_from_servant (servant));
GList *callbacks = listener->callbacks;
gboolean was_consumed = FALSE;
#ifdef SPI_KEYEVENT_DEBUG
}
else {
fprintf(stderr, "%s%c",
- (key->modifiers & KEYMASK_ALT)?"Alt-":"",
- ((key->modifiers & KEYMASK_SHIFT)^(key->modifiers & KEYMASK_SHIFTLOCK))?
+ (key->modifiers & SPI_KEYMASK_ALT)?"Alt-":"",
+ ((key->modifiers & SPI_KEYMASK_SHIFT)^(key->modifiers & SPI_KEYMASK_SHIFTLOCK))?
(char) toupper((int) key->keyID) : (char) tolower((int) key->keyID));
}
#endif
}
static void
-keystroke_listener_class_init (KeystrokeListenerClass *klass)
+keystroke_listener_class_init (SpiKeystrokeListenerClass *klass)
{
GObjectClass * object_class = (GObjectClass *) klass;
POA_Accessibility_KeystrokeListener__epv *epv = &klass->epv;
}
static void
-keystroke_listener_init (KeystrokeListener *keystroke_listener)
+keystroke_listener_init (SpiKeystrokeListener *keystroke_listener)
{
keystroke_listener->callbacks = NULL;
}
GType
-keystroke_listener_get_type (void)
+spi_keystroke_listener_get_type (void)
{
static GType type = 0;
if (!type) {
static const GTypeInfo tinfo = {
- sizeof (KeystrokeListenerClass),
+ sizeof (SpiKeystrokeListenerClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
(GClassInitFunc) keystroke_listener_class_init,
(GClassFinalizeFunc) NULL,
NULL, /* class data */
- sizeof (KeystrokeListener),
+ sizeof (SpiKeystrokeListener),
0, /* n preallocs */
(GInstanceInitFunc) keystroke_listener_init,
NULL /* value table */
PARENT_TYPE,
POA_Accessibility_KeystrokeListener__init,
NULL,
- G_STRUCT_OFFSET (KeystrokeListenerClass, epv),
+ G_STRUCT_OFFSET (SpiKeystrokeListenerClass, epv),
&tinfo,
- "KeystrokeListener");
+ "SpiKeystrokeListener");
}
return type;
}
-KeystrokeListener *
-keystroke_listener_new (void)
+SpiKeystrokeListener *
+spi_keystroke_listener_new (void)
{
- KeystrokeListener *retval =
- KEYSTROKE_SPI_LISTENER (g_object_new (keystroke_listener_get_type (), NULL));
+ SpiKeystrokeListener *retval =
+ SPI_KEYSTROKE_LISTENER (g_object_new (spi_keystroke_listener_get_type (), NULL));
return retval;
}
* Boston, MA 02111-1307, USA.
*/
-#ifndef KEYSTROKE_SPI_LISTENER_H_
-#define KEYSTROKE_SPI_LISTENER_H_
+#ifndef SPI_KEYSTROKE_LISTENER_H_
+#define SPI_KEYSTROKE_LISTENER_H_
#ifdef __cplusplus
extern "C" {
#include <libspi/Accessibility.h>
#include "keymasks.h"
-#define KEYSTROKE_SPI_LISTENER_TYPE (keystroke_listener_get_type ())
-#define KEYSTROKE_SPI_LISTENER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), KEYSTROKE_SPI_LISTENER_TYPE, KeystrokeListener))
-#define KEYSTROKE_SPI_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), KEYSTROKE_SPI_LISTENER_TYPE, KeystrokeListenerClass))
-#define IS_KEYSTROKE_SPI_LISTENER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), KEYSTROKE_SPI_LISTENER_TYPE))
-#define IS_KEYSTROKE_SPI_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), KEYSTROKE_SPI_LISTENER_TYPE))
+#define SPI_KEYSTROKE_LISTENER_TYPE (spi_keystroke_listener_get_type ())
+#define SPI_KEYSTROKE_LISTENER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_KEYSTROKE_LISTENER_TYPE, SpiKeystrokeListener))
+#define SPI_KEYSTROKE_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SPI_KEYSTROKE_LISTENER_TYPE, SpiKeystrokeListenerClass))
+#define IS_SPI_KEYSTROKE_LISTENER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SPI_KEYSTROKE_LISTENER_TYPE))
+#define IS_SPI_KEYSTROKE_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SPI_KEYSTROKE_LISTENER_TYPE))
-typedef gboolean (*BooleanKeystrokeListenerCB) (void *keystroke_ptr);
+typedef gboolean (*BooleanKeystrokeListenerCB) (const void *keystroke_ptr);
typedef struct {
BonoboObject parent;
GList *callbacks;
-} KeystrokeListener;
+} SpiKeystrokeListener;
typedef struct {
BonoboObjectClass parent_class;
POA_Accessibility_KeystrokeListener__epv epv;
-} KeystrokeListenerClass;
+} SpiKeystrokeListenerClass;
-GType keystroke_listener_get_type (void);
-KeystrokeListener *keystroke_listener_new (void);
-void keystroke_listener_add_callback (KeystrokeListener *listener,
- BooleanKeystrokeListenerCB callback);
-void keystroke_listener_remove_callback (KeystrokeListener *listener,
- BooleanKeystrokeListenerCB callback);
+GType spi_keystroke_listener_get_type (void);
+SpiKeystrokeListener *spi_keystroke_listener_new (void);
+void spi_keystroke_listener_add_callback (SpiKeystrokeListener *listener,
+ BooleanKeystrokeListenerCB callback);
+void spi_keystroke_listener_remove_callback (SpiKeystrokeListener *listener,
+ BooleanKeystrokeListenerCB callback);
#ifdef __cplusplus
fprintf(stderr, "registering for events of type %s\n", event_name);
/* parse, check major event type and add listener accordingly */
- parse_event_type (&etype, event_name);
+ parse_event_type (&etype, (char*) event_name);
ls->event_type_hash = etype.hash;
ls->event_type_cat = etype.type_cat;
GList *list;
GList **listeners;
- parse_event_type (&etype, event_name);
+ parse_event_type (&etype, (char *) event_name);
switch (etype.type_cat)
{
case (ETYPE_OBJECT) :
{
SpiRegistry *registry = SPI_REGISTRY (bonobo_object_from_servant (servant));
if (!registry->device_event_controller)
- registry->device_event_controller = g_object_new (SPI_DEVICE_EVENT_CONTROLLER_TYPE, NULL);
+ registry->device_event_controller = spi_device_event_controller_new (registry);
+
return CORBA_Object_duplicate (BONOBO_OBJREF (registry->device_event_controller), ev);
}
GList *window_listeners;
GList *toolkit_listeners;
GList *applications;
- SpiDeviceEventController *device_event_controller;
+ struct SpiDeviceEventController *device_event_controller;
SpiDesktop *desktop;
gboolean (*kbd_event_hook) (gpointer source);
} SpiRegistry;
{
SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
CORBA_char *rv;
-
+
rv = atk_table_get_row_description (ATK_TABLE(table->atko), (gint) row);
if (rv)
return CORBA_string_dup (rv);
#include <stdio.h>
#endif
+#include <stdlib.h> /* for getenv() */
#include <X11/Xlib.h>
#include <X11/extensions/XTest.h>
#include <config.h>
static void _controller_register_device_listener (SpiDeviceEventController *controller,
const CORBA_Object l,
- const Accessibility_ControllerEventMask *mask,
DeviceTypeCategory type,
+ const Accessibility_KeySet *keys,
+ const Accessibility_ControllerEventMask *mask,
CORBA_Environment *ev);
/*
static void
_controller_register_device_listener (SpiDeviceEventController *controller,
const CORBA_Object l,
- const Accessibility_ControllerEventMask *mask,
DeviceTypeCategory type,
+ const Accessibility_KeySet *keys,
+ const Accessibility_ControllerEventMask *mask,
CORBA_Environment *ev)
{
Accessibility_ControllerEventMask *mask_ptr = NULL;
const Accessibility_KeySet *keys,
const Accessibility_ControllerEventMask *mask,
const Accessibility_KeyEventTypeSeq *type,
- const CORBA_boolean is_synchronous,
+ const CORBA_boolean is_system_global,
CORBA_Environment *ev)
{
SpiDeviceEventController *controller = SPI_DEVICE_EVENT_CONTROLLER (
fprintf (stderr, "registering keystroke listener %p with maskVal %lu\n",
(void *) l, (unsigned long) mask->value);
#endif
- /* TODO: change this to an enum, indicating if event can be consumed */
- if (is_synchronous)
- _controller_register_device_listener(controller, l, mask, DEVICE_TYPE_KBD, ev);
+ /* TODO: change this to an enum, indicating if event is caught at OS level */
+ if (is_system_global)
+ _controller_register_device_listener(controller, l, DEVICE_TYPE_KBD, keys, mask, ev);
else
; /* register with toolkit instead */
}
+
/*
* CORBA Accessibility::DeviceEventController::deregisterKeystrokeListener
* method implementation
#ifdef SPI_DEBUG
fprintf (stderr, "registering mouse listener %p\n", l);
#endif
- _controller_register_device_listener(controller, l, mask, DEVICE_TYPE_MOUSE, ev);
+ _controller_register_device_listener(controller, DEVICE_TYPE_MOUSE, l, keys, mask, ev);
}
*/
static void
impl_generate_key_event (PortableServer_Servant servant,
const CORBA_long keycode,
- const CORBA_long synth_type,
+ const Accessibility_KeySynthType synth_type,
CORBA_Environment *ev)
{
long key_synth_code;
return (klass->check_key_event) (controller);
}
+SpiDeviceEventController *
+spi_device_event_controller_new (void *registryp)
+{
+ SpiRegistry *registry = SPI_REGISTRY (registryp);
+ SpiDeviceEventController *retval =
+ SPI_DEVICE_EVENT_CONTROLLER (g_object_new (SPI_DEVICE_EVENT_CONTROLLER_TYPE, NULL));
+ retval->registry = registry;
+ bonobo_object_ref (registry);
+ return retval;
+}
+
GType
spi_device_event_controller_get_type (void)
{
#include <bonobo/bonobo-object.h>
#include <libspi/Accessibility.h>
#include "keystrokelistener.h"
+#include "registry.h"
#define SPI_DEVICE_EVENT_CONTROLLER_TYPE (spi_device_event_controller_get_type ())
#define SPI_DEVICE_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDeviceEventController))
typedef struct {
BonoboObject parent;
+ struct SpiRegistry *registry;
GList *key_listeners;
GList *mouse_listeners;
GList *keymask_list;
gboolean (*check_key_event) (SpiDeviceEventController *controller);
} SpiDeviceEventControllerClass;
-GType spi_device_event_controller_get_type (void);
+GType spi_device_event_controller_get_type (void);
+SpiDeviceEventController *spi_device_event_controller_new (void *registry);
#ifdef __cplusplus
}
fprintf(stderr, "registering for events of type %s\n", event_name);
/* parse, check major event type and add listener accordingly */
- parse_event_type (&etype, event_name);
+ parse_event_type (&etype, (char*) event_name);
ls->event_type_hash = etype.hash;
ls->event_type_cat = etype.type_cat;
GList *list;
GList **listeners;
- parse_event_type (&etype, event_name);
+ parse_event_type (&etype, (char *) event_name);
switch (etype.type_cat)
{
case (ETYPE_OBJECT) :
{
SpiRegistry *registry = SPI_REGISTRY (bonobo_object_from_servant (servant));
if (!registry->device_event_controller)
- registry->device_event_controller = g_object_new (SPI_DEVICE_EVENT_CONTROLLER_TYPE, NULL);
+ registry->device_event_controller = spi_device_event_controller_new (registry);
+
return CORBA_Object_duplicate (BONOBO_OBJREF (registry->device_event_controller), ev);
}
GList *window_listeners;
GList *toolkit_listeners;
GList *applications;
- SpiDeviceEventController *device_event_controller;
+ struct SpiDeviceEventController *device_event_controller;
SpiDesktop *desktop;
gboolean (*kbd_event_hook) (gpointer source);
} SpiRegistry;
NULL=
-noinst_PROGRAMS = at app simple-at keysynth-demo
-
-at_SOURCES = at.c
+noinst_PROGRAMS = at app simple-at keysynth-demo accessx-gui
+at_SOURCES = at.c
+
app_SOURCES = app.c
simple_at_SOURCES = simple-at.c
keysynth_demo_SOURCES = keysynth-demo.c
+accessx_gui_SOURCES = accessx-gui.c
+
INCLUDES = -I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_srcdir)/libspi \
--- /dev/null
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <stdlib.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkx.h>
+#include <X11/XKBlib.h> /* AccessX control defs */
+#include "spi.h"
+
+#define N_CONTROLS 8
+
+static XkbDescPtr xkb;
+
+typedef struct {
+ unsigned long mask;
+ short int *val;
+ char *label;
+ char *val_label;
+} AccessXControlStruct;
+
+static void
+gui_exit(GtkButton *notused, void *alsonotused)
+{
+ gtk_exit(0);
+}
+
+static void
+toggle_xkb_control (GtkButton *toggle_button, AccessXControlStruct *control_struct)
+{
+ gboolean is_active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (toggle_button));
+ XkbChangeEnabledControls (GDK_DISPLAY(), XkbUseCoreKbd, control_struct->mask,
+ is_active ? control_struct->mask : 0);
+}
+
+static void
+toggle_xkb_notify_control (GtkButton *toggle_button, AccessXControlStruct *control_struct)
+{
+ gboolean is_active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (toggle_button));
+ unsigned short mask, always_off_mask;
+ XkbChangeEnabledControls (GDK_DISPLAY(), XkbUseCoreKbd, XkbAccessXFeedbackMask | XkbAudibleBellMask,
+ XkbAccessXFeedbackMask | XkbAudibleBellMask);
+
+ mask = XkbAX_TwoKeysMask | XkbAX_LatchToLockMask | XkbAX_DumbBellFBMask;
+ always_off_mask = XkbAX_SKPressFBMask | XkbAX_SKReleaseFBMask;
+
+ if (is_active)
+ xkb->ctrls->ax_options |= (control_struct->mask | mask);
+ else
+ xkb->ctrls->ax_options &= (~control_struct->mask);
+
+ xkb->ctrls->ax_options &= ~always_off_mask;
+
+ XkbSetControls (GDK_DISPLAY(), XkbAccessXFeedbackMask, xkb);
+}
+
+static void
+toggle_accessx (GtkButton *toggle_button, void *unused)
+{
+ gboolean is_active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (toggle_button));
+ XkbChangeEnabledControls (GDK_DISPLAY(), XkbUseCoreKbd, XkbAllBooleanCtrlsMask,
+ (is_active) ? xkb->ctrls->enabled_ctrls : 0);
+/*if (is_active/) XkbSetControls (GDK_DISPLAY(), XkbAllBooleanCtrlsMask, xkb);*/
+}
+
+static void
+set_accessx_control_value (GtkRange *range_control, AccessXControlStruct *control_struct)
+{
+ *(control_struct->val) = (short int) gtk_range_get_value (range_control);
+ XkbSetControls (GDK_DISPLAY(), control_struct->mask, xkb);
+}
+
+static gboolean
+init_xkb ()
+{
+ int opcode, xkb_event_code, error, result, major, minor;
+ Status status;
+ result = XkbQueryExtension (GDK_DISPLAY(), &opcode, &xkb_event_code, &error, &major, &minor);
+ if (result != True) return False;
+
+ xkb = XkbGetMap(GDK_DISPLAY(), 0, XkbUseCoreKbd);
+ if ((int)xkb == BadAlloc || xkb == NULL)
+ {
+ return False;
+ }
+ else
+ {
+ status = XkbGetControls(GDK_DISPLAY(), XkbAllControlsMask, xkb);
+ if (status != Success)
+ {
+ XkbFreeKeyboard(xkb, XkbAllControlsMask, True);
+ return False;
+ }
+ else
+ {
+ if (!xkb->ctrls)
+ {
+ XkbFreeKeyboard(xkb, XkbAllControlsMask, True);
+ return False;
+ }
+ }
+ }
+
+ return True;
+}
+
+static AccessXControlStruct *control_struct_new (unsigned int mask,
+ short int *val_ptr,
+ char *label,
+ char *val_label)
+{
+ AccessXControlStruct *control = g_new0 (AccessXControlStruct, 1);
+ control->mask = mask;
+ control->val = val_ptr;
+ control->label = label;
+ control->val_label = val_label;
+ return control;
+}
+
+static GtkWidget*
+basic_toggles_box ()
+{
+ GtkWidget *hbox, *outer_vbox, *vbox, *label, *button, *range, *frame;
+ GtkAdjustment *adjustment;
+ AccessXControlStruct *control;
+
+ outer_vbox = gtk_widget_new (GTK_TYPE_VBOX,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ hbox = gtk_widget_new (GTK_TYPE_HBOX,
+ "GtkWidget::parent", outer_vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Enable AccessX",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_accessx, NULL,
+ NULL);
+
+/* FeatureFBMask seems not to work :-(
+
+ control = control_struct_new (XkbAX_FeatureFBMask, &xkb->ctrls->ax_options, NULL, NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Notify Changes",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_notify_control, control,
+ NULL);
+*/
+
+ gtk_widget_new (GTK_TYPE_HSEPARATOR,
+ "GtkWidget::parent", outer_vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ hbox = gtk_widget_new (GTK_TYPE_HBOX,
+ "GtkWidget::parent", outer_vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ control = control_struct_new (XkbStickyKeysMask, &xkb->ctrls->enabled_ctrls, NULL, NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Sticky Keys",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_control, control,
+ NULL);
+
+ control = control_struct_new (XkbAX_StickyKeysFBMask, &xkb->ctrls->ax_options, NULL, NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Beep when Latched",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_notify_control, control,
+ NULL);
+
+ frame = gtk_widget_new (gtk_frame_get_type(),
+ "GtkFrame::label", "Slow Keys",
+ "GtkWidget::parent", outer_vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ vbox = gtk_widget_new (GTK_TYPE_VBOX,
+ "GtkWidget::parent", frame,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ hbox = gtk_widget_new (GTK_TYPE_HBOX,
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ control = control_struct_new (XkbSlowKeysMask, &xkb->ctrls->slow_keys_delay, NULL, NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Enable Slow Keys",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_control, control,
+ NULL);
+
+ adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (1.0, 1.0, 2000.0, 1.0, 10.0, 1.0 ));
+
+ range = g_object_connect (gtk_widget_new (GTK_TYPE_HSCALE,
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ "GtkRange::update_policy", GTK_UPDATE_DELAYED,
+ "GtkScale::digits", 0,
+ "GtkScale::adjustment", adjustment,
+ NULL),
+ "signal::spi_value_changed",
+ set_accessx_control_value, control,
+ NULL);
+
+ gtk_widget_set_usize (GTK_WIDGET (range), 150, -1);
+
+ label = gtk_widget_new (GTK_TYPE_LABEL,
+ "GtkLabel::label", "Delay (mS)",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ hbox = gtk_widget_new (GTK_TYPE_HBOX,
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ control = control_struct_new (XkbAX_SKAcceptFBMask, &xkb->ctrls->ax_options, NULL, NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Beep on Accept",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_notify_control, control,
+ NULL);
+
+ control = control_struct_new (XkbAX_SKRejectFBMask, &xkb->ctrls->ax_options, NULL, NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Beep on Reject",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_notify_control, control,
+ NULL);
+
+ frame = gtk_widget_new (gtk_frame_get_type(),
+ "GtkFrame::label", "Bounce Keys",
+ "GtkWidget::parent", outer_vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ vbox = gtk_widget_new (GTK_TYPE_VBOX,
+ "GtkWidget::parent", frame,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ hbox = gtk_widget_new (GTK_TYPE_HBOX,
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ control = control_struct_new (XkbBounceKeysMask, &xkb->ctrls->debounce_delay, NULL, NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Enable Key Debounce",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_control, control,
+ NULL);
+
+ adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (1.0, 1.0, 2000.0, 1.0, 10.0, 1.0 ));
+
+ range = g_object_connect (gtk_widget_new (GTK_TYPE_HSCALE,
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ "GtkRange::update_policy", GTK_UPDATE_DELAYED,
+ "GtkScale::digits", 0,
+ "GtkScale::adjustment", adjustment,
+ NULL),
+ "signal::spi_value_changed",
+ set_accessx_control_value, control,
+ NULL);
+
+ gtk_widget_set_usize (GTK_WIDGET (range), 150, -1);
+
+ label = gtk_widget_new (GTK_TYPE_LABEL,
+ "GtkLabel::label", "Delay (mS)",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ hbox = gtk_widget_new (GTK_TYPE_HBOX,
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ control = control_struct_new (XkbAX_BKRejectFBMask, &xkb->ctrls->ax_options, NULL, NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Beep on Reject",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_notify_control, control,
+ NULL);
+
+ return outer_vbox;
+}
+
+static GtkWidget*
+repeat_keys_box ()
+{
+ GtkWidget *outer_hbox, *hbox, *vbox, *label, *button, *range, *frame;
+ GtkAdjustment *adjustment;
+ AccessXControlStruct *control =
+ control_struct_new (XkbRepeatKeysMask, &xkb->ctrls->repeat_delay, NULL, NULL);
+
+ frame = gtk_widget_new (gtk_frame_get_type(),
+ "GtkFrame::label","Repeat Keys",
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ outer_hbox = gtk_widget_new (GTK_TYPE_HBOX,
+ "GtkWidget::visible", TRUE,
+ "GtkWidget::parent", frame,
+ NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Enable RepeatKeys",
+ "GtkWidget::parent", outer_hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_control, control,
+ NULL);
+
+ gtk_box_set_child_packing (GTK_BOX (outer_hbox), button, FALSE, FALSE, 0, GTK_PACK_START);
+
+
+ vbox = gtk_widget_new (GTK_TYPE_VBOX,
+ "GtkWidget::visible", TRUE,
+ "GtkWidget::parent", outer_hbox,
+ NULL);
+
+ adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (200.0, 200.0, 4000.0, 10.0, 100.0, 10.0 ));
+
+ range = g_object_connect (gtk_widget_new (GTK_TYPE_HSCALE,
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ "GtkRange::update_policy", GTK_UPDATE_DELAYED,
+ "GtkScale::digits", 0,
+ "GtkScale::adjustment", adjustment,
+ NULL),
+ "signal::spi_value_changed",
+ set_accessx_control_value, control,
+ NULL);
+
+ gtk_widget_set_usize (GTK_WIDGET (range), 150, -1);
+
+ adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (200.0, 40.0, 4000.0, 1.0, 10.0, 1.0 ));
+
+ control = control_struct_new (XkbRepeatKeysMask, &xkb->ctrls->repeat_interval, NULL, NULL);
+
+ range = g_object_connect (gtk_widget_new (GTK_TYPE_HSCALE,
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ "GtkRange::update_policy", GTK_UPDATE_DELAYED,
+ "GtkScale::digits", 0,
+ "GtkScale::adjustment", adjustment,
+ NULL),
+ "signal::spi_value_changed",
+ set_accessx_control_value, control,
+ NULL);
+
+ gtk_widget_set_usize (GTK_WIDGET (range), 150, -1);
+
+ vbox = gtk_widget_new (GTK_TYPE_VBOX,
+ "GtkWidget::visible", TRUE,
+ "GtkWidget::parent", outer_hbox,
+ NULL);
+
+ label = gtk_widget_new (GTK_TYPE_LABEL,
+ "GtkLabel::label", "Delay (mS)",
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ label = gtk_widget_new (GTK_TYPE_LABEL,
+ "GtkLabel::label", "Interval (mS)",
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ return frame;
+}
+
+static GtkWidget*
+mouse_keys_box ()
+{
+ GtkWidget *outer_hbox, *hbox, *vbox, *label, *button, *range, *frame;
+ GtkAdjustment *adjustment;
+ AccessXControlStruct *control =
+ control_struct_new (XkbMouseKeysMask, &xkb->ctrls->mk_delay, NULL, NULL);
+
+ frame = gtk_widget_new (gtk_frame_get_type(),
+ "GtkFrame::label","Mouse Keys",
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ outer_hbox = gtk_widget_new (GTK_TYPE_HBOX,
+ "GtkWidget::visible", TRUE,
+ "GtkWidget::parent", frame,
+ NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "Enable MouseKeys",
+ "GtkWidget::parent", outer_hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_control, control,
+ NULL);
+
+ gtk_box_set_child_packing (GTK_BOX (outer_hbox), button, FALSE, FALSE, 0, GTK_PACK_START);
+
+ vbox = gtk_widget_new (GTK_TYPE_VBOX,
+ "GtkWidget::visible", TRUE,
+ "GtkWidget::parent", outer_hbox,
+ NULL);
+
+ adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (200.0, 20.0, 4000.0, 10.0, 100.0, 10.0 ));
+
+ control = control_struct_new (XkbRepeatKeysMask, &xkb->ctrls->mk_interval, NULL, NULL);
+
+ range = g_object_connect (gtk_widget_new (GTK_TYPE_HSCALE,
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ "GtkRange::update_policy", GTK_UPDATE_DELAYED,
+ "GtkScale::digits", 0,
+ "GtkScale::adjustment", adjustment,
+ NULL),
+ "signal::spi_value_changed",
+ set_accessx_control_value, control,
+ NULL);
+
+ gtk_widget_set_usize (GTK_WIDGET (range), 150, -1);
+
+ adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (800.0, 200.0, 4000.0, 1.0, 10.0, 1.0 ));
+
+ control = control_struct_new (XkbRepeatKeysMask, &xkb->ctrls->mk_time_to_max, NULL, NULL);
+
+ range = g_object_connect (gtk_widget_new (GTK_TYPE_HSCALE,
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ "GtkRange::update_policy", GTK_UPDATE_DELAYED,
+ "GtkScale::digits", 0,
+ "GtkScale::adjustment", adjustment,
+ NULL),
+ "signal::spi_value_changed",
+ set_accessx_control_value, control,
+ NULL);
+
+ gtk_widget_set_usize (GTK_WIDGET (range), 150, -1);
+
+ adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (800.0, 200.0, 4000.0, 1.0, 10.0, 1.0 ));
+
+ control = control_struct_new (XkbMouseKeysMask, &xkb->ctrls->mk_max_speed, NULL, NULL);
+
+ range = g_object_connect (gtk_widget_new (GTK_TYPE_HSCALE,
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ "GtkRange::update_policy", GTK_UPDATE_DELAYED,
+ "GtkScale::digits", 0,
+ "GtkScale::adjustment", adjustment,
+ NULL),
+ "signal::spi_value_changed",
+ set_accessx_control_value, control,
+ NULL);
+
+ gtk_widget_set_usize (GTK_WIDGET (range), 150, -1);
+
+ adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (800.0, 200.0, 4000.0, 1.0, 10.0, 1.0 ));
+
+ control = control_struct_new (XkbMouseKeysMask, &xkb->ctrls->mk_curve, NULL, NULL);
+
+ range = g_object_connect (gtk_widget_new (GTK_TYPE_HSCALE,
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ "GtkRange::update_policy", GTK_UPDATE_DELAYED,
+ "GtkScale::digits", 0,
+ "GtkScale::adjustment", adjustment,
+ NULL),
+ "signal::spi_value_changed",
+ set_accessx_control_value, control,
+ NULL);
+
+ vbox = gtk_widget_new (gtk_vbox_get_type(),
+ "GtkWidget::name", "MouseKeys",
+ "GtkWidget::parent", outer_hbox,
+ "GtkWidget::visible", TRUE,
+ "GtkContainer::border_width", 5,
+ NULL);
+ label = gtk_widget_new (GTK_TYPE_LABEL,
+ "GtkLabel::label", "Delay (mS)",
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ label = gtk_widget_new (GTK_TYPE_LABEL,
+ "GtkLabel::label", "Accel. time (mS)",
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ label = gtk_widget_new (GTK_TYPE_LABEL,
+ "GtkLabel::label", "Interval (mS)",
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ label = gtk_widget_new (GTK_TYPE_LABEL,
+ "GtkLabel::label", "Max. Speed",
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ label = gtk_widget_new (GTK_TYPE_LABEL,
+ "GtkLabel::label", "Curve",
+ "GtkWidget::parent", vbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+ return frame;
+}
+
+static GtkWidget*
+timeout_box ()
+{
+ GtkWidget *outer_hbox, *hbox, *vbox, *label, *button, *range;
+ GtkAdjustment *adjustment;
+ AccessXControlStruct *control =
+ control_struct_new (XkbAccessXTimeoutMask, &xkb->ctrls->ax_timeout, NULL, NULL);
+
+ hbox = gtk_widget_new (gtk_hbox_get_type(),
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ button = g_object_connect (gtk_widget_new (GTK_TYPE_CHECK_BUTTON,
+ "GtkButton::label", "AccessX Timeout",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_control, control,
+ NULL);
+
+ adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (1.0, 1.0, 200.0, 1.0, 10.0, 1.0 ));
+
+ range = g_object_connect (gtk_widget_new (GTK_TYPE_HSCALE,
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ "GtkRange::update_policy", GTK_UPDATE_DELAYED,
+ "GtkScale::digits", 0,
+ "GtkScale::adjustment", adjustment,
+ NULL),
+ "signal::spi_value_changed",
+ set_accessx_control_value, control,
+ NULL);
+
+ gtk_widget_set_usize (GTK_WIDGET (range), 150, -1);
+
+ label = gtk_widget_new (GTK_TYPE_LABEL,
+ "GtkLabel::label", "AccessX Timeout (Min.)",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ return hbox;
+}
+
+static void
+create_gui ()
+{
+ GtkWidget *window, *button, *container, *hbox;
+
+ window = g_object_connect (gtk_widget_new (gtk_window_get_type (),
+ "user_data", NULL,
+ "can_focus", FALSE,
+ "type", GTK_WINDOW_TOPLEVEL,
+ "window-position", GTK_WIN_POS_CENTER,
+ "title", "AccessX",
+ "allow_grow", TRUE,
+ "allow_shrink", TRUE,
+ "border_width", 10,
+ NULL),
+ "signal::destroy", gui_exit, NULL,
+ NULL);
+
+ container = gtk_widget_new (GTK_TYPE_VBOX,
+ "GtkWidget::parent", window,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ /* create and add containers for: AccessX on/off,
+ basic toggles,
+ MouseKeys support, and timeout */
+
+ gtk_container_add (GTK_CONTAINER (container), basic_toggles_box ());
+ gtk_container_add (GTK_CONTAINER (container), repeat_keys_box ());
+/* gtk_container_add (GTK_CONTAINER (container), mouse_keys_box ());
+ gtk_container_add (GTK_CONTAINER (container), timeout_box ());*/
+
+ hbox = gtk_widget_new (gtk_hbox_get_type(),
+ "GtkWidget::parent", container,
+ "GtkWidget::visible", TRUE,
+ "GtkContainer::border_width", 5,
+ NULL);
+
+ button = g_object_connect (gtk_widget_new (gtk_button_get_type (),
+ "GtkButton::label", "Quit",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ gui_exit, NULL,
+ NULL);
+
+ gtk_widget_show (window);
+}
+
+static void
+create_gui_x ()
+{
+ GtkWidget *window, *button, *container, *hbox, *vbox, *range, *frame, *label;
+ GtkAdjustment *adjustment;
+ int i;
+ static AccessXControlStruct* controls[N_CONTROLS];
+ controls[0] = control_struct_new (XkbSlowKeysMask, &xkb->ctrls->slow_keys_delay, "Slow Keys", "Delay, mS");
+ controls[1] = control_struct_new (XkbStickyKeysMask, &xkb->ctrls->ax_options, "Sticky Keys", NULL);
+ controls[2] = control_struct_new (XkbBounceKeysMask, &xkb->ctrls->debounce_delay, "Key Debounce", "Delay, mS");
+ controls[3] = control_struct_new (XkbRepeatKeysMask, &xkb->ctrls->repeat_delay, "Repeat Keys", "Delay, mS");
+ controls[4] = control_struct_new (XkbRepeatKeysMask, &xkb->ctrls->repeat_interval, NULL, "Interval, mS");
+ controls[5] = control_struct_new (XkbMouseKeysMask, &xkb->ctrls->mk_delay, "MouseKeys", "Delay, mS");
+ controls[6] = control_struct_new (XkbMouseKeysAccelMask, &xkb->ctrls->mk_time_to_max, NULL, "Accel");
+ controls[7] = control_struct_new (XkbAccessXTimeoutMask, &xkb->ctrls->ax_timeout, "AccessX timeout", "Sec");
+
+
+
+ hbox = gtk_widget_new (gtk_hbox_get_type(),
+ "GtkWidget::parent", container,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ button = g_object_connect (gtk_widget_new (gtk_check_button_get_type (),
+ "GtkButton::label", "Access X Timeout",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ toggle_xkb_control, controls[i],
+ NULL);
+
+ adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (1.0, 1.0, 200.0, 1.0, 10.0, 1.0 ));
+
+ range = g_object_connect (gtk_widget_new (gtk_hscale_get_type (),
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ "GtkScale::adjustment", adjustment,
+ NULL),
+ "signal::spi_value_changed",
+ set_accessx_control_value, controls[i],
+ NULL);
+
+ gtk_widget_set_usize (GTK_WIDGET (range), 150, -1);
+ gtk_widget_new (gtk_label_get_type(),
+ "GtkWidget::parent", hbox,
+ "GtkLabel::label", controls[i]->val_label,
+ "GtkWidget::visible", TRUE,
+ NULL);
+
+ hbox = gtk_widget_new (gtk_hbox_get_type(),
+ "GtkWidget::parent", container,
+ "GtkWidget::visible", TRUE,
+ "GtkContainer::border_width", 5,
+ NULL);
+
+ button = g_object_connect (gtk_widget_new (gtk_button_get_type (),
+ "GtkButton::label", "Quit",
+ "GtkWidget::parent", hbox,
+ "GtkWidget::visible", TRUE,
+ NULL),
+ "signal::clicked",
+ gui_exit, NULL,
+ NULL);
+
+ gtk_widget_show (window);
+}
+
+int
+main(int argc, char **argv)
+{
+
+ if ((argc > 1) && (!strncmp(argv[1],"-h",2)))
+ {
+ printf ("Usage: keysynth-demo\n");
+ exit(0);
+ }
+
+ gtk_init (&argc, &argv); /* must call, because this program uses GTK+ */
+
+ if (!init_xkb ())
+ {
+ g_error ("Xkb extension not present, can't initialize accessX\n");
+ }
+
+ create_gui ();
+
+ gtk_main ();
+}
CORBA_long n_apps;
Accessibility_Desktop desktop;
Accessibility_Application app;
-
Accessibility_Registry registry;
SpiListener *listener;
#define MAX_ROWS 5
#define MAX_COLUMNS 14
-static KeystrokeListener *key_listener;
-static KeystrokeListener *switch_listener;
+static AccessibleKeystrokeListener *key_listener;
+static AccessibleKeystrokeListener *switch_listener;
static boolean shift_latched = False;
static boolean caps_lock = False;
if (!shift_keycode) shift_keycode = XKeysymToKeycode(GDK_DISPLAY(), (KeySym) 0xFFE1);
/* Note: in a real onscreen keyboard shift keycode should not be hard-coded! */
shift_latched = !shift_latched;
- generateKeyEvent (shift_keycode, shift_latched ? KEY_PRESS : KEY_RELEASE);
+ generateKeyEvent (shift_keycode, shift_latched ? SPI_KEY_PRESS : SPI_KEY_RELEASE);
if (buttons) label_buttons (caps_lock || shift_latched);
}
keysynth_exit()
{
if (shift_latched) do_shift (NULL);
- deregisterKeystrokeListener (key_listener, KEYMASK_ALT );
- deregisterKeystrokeListener (switch_listener, KEYMASK_UNMODIFIED );
+ deregisterAccessibleKeystrokeListener (key_listener, SPI_KEYMASK_ALT );
+ deregisterAccessibleKeystrokeListener (switch_listener, SPI_KEYMASK_UNMODIFIED );
SPI_exit ();
}
static boolean
is_command_key (void *p)
{
- KeyStroke *key = (KeyStroke *)p;
+ AccessibleKeyStroke *key = (AccessibleKeyStroke *)p;
switch (key->keyID)
{
case 'Q':
caps_lock = !caps_lock;
label_buttons (caps_lock || shift_latched);
}
- generateKeyEvent ((long) *keycode, KEY_PRESSRELEASE);
+ generateKeyEvent ((long) *keycode, SPI_KEY_PRESSRELEASE);
}
}
int
main(int argc, char **argv)
{
- KeySet spacebar_set;
+ AccessibleKeySet spacebar_set;
if ((argc > 1) && (!strncmp(argv[1],"-h",2)))
{
SPI_init();
- key_listener = createKeystrokeListener(is_command_key);
+ key_listener = createAccessibleKeystrokeListener(is_command_key);
/* will listen only to Alt-key combinations */
- registerKeystrokeListener(key_listener,
- (KeySet *) ALL_KEYS,
- KEYMASK_ALT,
- (unsigned long) ( KeyPress | KeyRelease),
- KEYSPI_LISTENER_CANCONSUME | KEYSPI_LISTENER_ALLWINDOWS);
+ registerAccessibleKeystrokeListener(key_listener,
+ (AccessibleKeySet *) SPI_KEYSET_ALL_KEYS,
+ SPI_KEYMASK_ALT,
+ (unsigned long) ( KeyPress | KeyRelease),
+ SPI_KEYLISTENER_CANCONSUME | SPI_KEYLISTENER_ALL_WINDOWS);
create_vkbd();
/* register a listener on the spacebar, to serve as a 'single switch' */
spacebar_set.len = 1;
spacebar_set.keysyms[0] = (unsigned long) ' ';
spacebar_set.keycodes[0] = (unsigned short) 0;
- switch_listener = createKeystrokeListener(switch_callback);
+ switch_listener = createAccessibleKeystrokeListener(switch_callback);
/* registerKeystrokeListener(switch_listener,
&spacebar_set,
- KEYMASK_UNMODIFIED,
+ SPI_KEYMASK_UNMODIFIED,
(unsigned long) ( KeyPress | KeyRelease),
- KEYSPI_LISTENER_CANCONSUME);
+ SPI_KEYLISTENER_CANCONSUME);
*/
SPI_event_main(TRUE);
static boolean use_festival = FALSE;
static boolean festival_chatty = FALSE;
-static SpiAccessibleEventListener *focus_listener;
-static SpiAccessibleEventListener *property_listener;
-static SpiAccessibleEventListener *button_listener;
-static KeystrokeListener *key_listener;
+static AccessibleEventListener *focus_listener;
+static AccessibleEventListener *property_listener;
+static AccessibleEventListener *button_listener;
+static AccessibleKeystrokeListener *key_listener;
int
main(int argc, char **argv)
int i, j;
int n_desktops;
int n_apps;
- SpiAccessible *desktop;
- SpiAccessible *application;
+ Accessible *desktop;
+ Accessible *application;
if ((argc > 1) && (!strncmp(argv[1],"-h",2)))
{
SPI_init();
- focus_listener = createEventListener (report_focus_event);
- property_listener = createEventListener (check_property_change);
- button_listener = createEventListener (report_button_press);
+ focus_listener = createAccessibleEventListener (report_focus_event);
+ property_listener = createAccessibleEventListener (check_property_change);
+ button_listener = createAccessibleEventListener (report_button_press);
registerGlobalEventListener (focus_listener, "focus:");
registerGlobalEventListener (property_listener, "object:property-change:accessible-selection");
registerGlobalEventListener (button_listener, "Gtk:GtkWidget:button-press-event");
for (i=0; i<n_desktops; ++i)
{
desktop = getDesktop (i);
- fprintf (stderr, "desktop %d name: %s\n", i, SpiAccessible_getName (desktop));
- n_apps = SpiAccessible_getChildCount (desktop);
+ fprintf (stderr, "desktop %d name: %s\n", i, Accessible_getName (desktop));
+ n_apps = Accessible_getChildCount (desktop);
for (j=0; j<n_apps; ++j)
{
- application = SpiAccessible_getChildAtIndex (desktop, j);
- fprintf (stderr, "app %d name: %s\n", j, SpiAccessible_getName (application));
- SpiAccessible_unref (application);
+ application = Accessible_getChildAtIndex (desktop, j);
+ fprintf (stderr, "app %d name: %s\n", j, Accessible_getName (application));
+ Accessible_unref (application);
}
}
/* prepare the keyboard snoopers */
- key_listener = createKeystrokeListener(report_key_event);
+ key_listener = createAccessibleKeystrokeListener(report_key_event);
/* will listen only to Alt-key combinations */
- registerKeystrokeListener(key_listener,
- (KeySet *) ALL_KEYS,
- KEYMASK_ALT,
- (unsigned long) ( KeyPress | KeyRelease),
- KEYSPI_LISTENER_CANCONSUME);
+ registerAccessibleKeystrokeListener(key_listener,
+ (AccessibleKeySet *) SPI_KEYSET_ALL_KEYS,
+ SPI_KEYMASK_ALT,
+ (unsigned long) ( KeyPress | KeyRelease),
+ SPI_KEYLISTENER_ALL_WINDOWS);
get_environment_vars();
}
void
-report_focussed_accessible (SpiAccessible *obj, boolean shutup_previous_speech)
+report_focussed_accessible (Accessible *obj, boolean shutup_previous_speech)
{
if (use_festival)
{
if (festival_chatty)
{
- _festival_say (SpiAccessible_getRole (obj), "voice_don_diphone", shutup_previous_speech);
+ _festival_say (Accessible_getRole (obj), "voice_don_diphone", shutup_previous_speech);
}
fprintf (stderr, "getting Name\n");
- _festival_say (SpiAccessible_getName (obj), "voice_kal_diphone",
+ _festival_say (Accessible_getName (obj), "voice_kal_diphone",
shutup_previous_speech || festival_chatty);
}
- if (SpiAccessible_isComponent (obj))
+ if (Accessible_isComponent (obj))
{
long x, y, width, height;
- SpiAccessibleComponent *component = SpiAccessible_getComponent (obj);
- SpiAccessibleComponent_getExtents (component, &x, &y, &width, &height,
- COORD_TYPE_SCREEN);
+ AccessibleComponent *component = Accessible_getComponent (obj);
+ AccessibleComponent_getExtents (component, &x, &y, &width, &height,
+ SPI_COORD_TYPE_SCREEN);
fprintf (stderr, "Bounding box: (%ld, %ld) ; (%ld, %ld)\n",
x, y, x+width, y+height);
if (use_magnifier) {
}
}
/* if this is a text object, speak the first sentence. */
- if (SpiAccessible_isText(obj))
+
+ if (Accessible_isText(obj))
+
{
- SpiAccessibleText *spi_text_interface;
+ AccessibleText *text_interface;
long start_offset, end_offset;
char *first_sentence = "empty";
- spi_text_interface = SpiAccessible_getText (obj);
- fprintf (stderr, "isText...%p %p\n", spi_text_interface, (void *)*spi_text_interface);
- first_sentence = SpiAccessibleText_getTextAtOffset (
- spi_text_interface, (long) 0, SPI_TEXT_BOUNDARY_SENTENCE_START, &start_offset, &end_offset);
+ text_interface = Accessible_getText (obj);
+ fprintf (stderr, "isText...%p %p\n", text_interface, (void *)*text_interface);
+ first_sentence = AccessibleText_getTextAtOffset (
+ text_interface, (long) 0, SPI_TEXT_BOUNDARY_SENTENCE_START, &start_offset, &end_offset);
if (first_sentence) _festival_say(first_sentence, "voice_don_diphone", FALSE);
fprintf (stderr, "done reporting on focussed object\n");
}
void
report_focus_event (void *p)
{
- SpiAccessibleEvent *ev = (SpiAccessibleEvent *) p;
+ AccessibleEvent *ev = (AccessibleEvent *) p;
fprintf (stderr, "%s event from %s\n", ev->type,
- SpiAccessible_getName (&ev->source));
+ Accessible_getName (&ev->source));
report_focussed_accessible (&ev->source, TRUE);
}
void
report_button_press (void *p)
{
- SpiAccessibleEvent *ev = (SpiAccessibleEvent *) p;
+ AccessibleEvent *ev = (AccessibleEvent *) p;
fprintf (stderr, "%s event from %s\n", ev->type,
- SpiAccessible_getName (&ev->source));
+ Accessible_getName (&ev->source));
}
void
check_property_change (void *p)
{
- SpiAccessibleEvent *ev = (SpiAccessibleEvent *) p;
- SpiAccessibleSelection *selection = SpiAccessible_getSelection (&ev->source);
+ AccessibleEvent *ev = (AccessibleEvent *) p;
+ AccessibleSelection *selection = Accessible_getSelection (&ev->source);
int n_selections;
int i;
if (selection)
{
- n_selections = (int) SpiAccessibleSelection_getNSelectedChildren (selection);
+ n_selections = (int) AccessibleSelection_getNSelectedChildren (selection);
fprintf (stderr, "(Property) %s event from %s, %d selected children\n", ev->type,
- SpiAccessible_getName (&ev->source), n_selections);
+ Accessible_getName (&ev->source), n_selections);
/* for now, speak entire selection set */
for (i=0; i<n_selections; ++i)
{
- SpiAccessible *obj = SpiAccessibleSelection_getSelectedChild (selection, (long) i);
+ Accessible *obj = AccessibleSelection_getSelectedChild (selection, (long) i);
g_return_if_fail (obj);
- fprintf (stderr, "Child %d, name=%s\n", i, SpiAccessible_getName (obj));
+ fprintf (stderr, "Child %d, name=%s\n", i, Accessible_getName (obj));
report_focussed_accessible (obj, i==0);
}
}
deregisterGlobalEventListenerAll (focus_listener);
deregisterGlobalEventListenerAll (property_listener);
deregisterGlobalEventListenerAll (button_listener);
- deregisterKeystrokeListener (key_listener, KEYMASK_ALT );
+ deregisterAccessibleKeystrokeListener (key_listener, SPI_KEYMASK_ALT );
SPI_exit ();
}
static boolean
-is_command_key (KeyStroke *key)
+is_command_key (AccessibleKeyStroke *key)
{
switch (key->keyID)
{
static boolean
report_key_event (void *p)
{
- KeyStroke *key = (KeyStroke *) p;
+ AccessibleKeyStroke *key = (AccessibleKeyStroke *) p;
fprintf(stderr, "KeyEvent %s%c (keycode %d)\n",
- (key->modifiers & KEYMASK_ALT)?"Alt-":"",
- ((key->modifiers & KEYMASK_SHIFT)^(key->modifiers & KEYMASK_SHIFTLOCK))?
+ (key->modifiers & SPI_KEYMASK_ALT)?"Alt-":"",
+ ((key->modifiers & SPI_KEYMASK_SHIFT)^(key->modifiers & SPI_KEYMASK_SHIFTLOCK))?
(char) toupper((int) key->keyID) : (char) tolower((int) key->keyID),
(int) key->keycode);
return is_command_key (key);