+ ensure spi-listener-impl's list notification methods don't
have a re-enterancy hazard. [Michael]
+ namespace all methods missing a prepending Accessible
- or SPI_ prefix.
+ or SPI_ prefix. [Bill]
+ Put LGPL headers everywhere.
+ + Fix the conversion of Accessibility_Role CORBA enum to
+ AccessibleRole enums. [Bill]
registry:
+ move code into here from libspi [Michael]
StateSet, and export to cspi.
+ complete and test the pre-emptive key API so that we don't
always do AnyKey grabs. [Bill]
+ + complete the conversion from AtkRoles to Accessibility_Role
+ enums. [Bill]
test:
+ update test-simple to do complete API tests
static const char *role_names [] =
{
"<invalid>",
+ "accelerator label",
"alert",
+ "animation",
+ "arrow",
+ "calendar",
"canvas",
"check box",
"color chooser",
"column header",
"combo box",
+ "date editor",
"desktop icon",
"desktop frame",
"dialog",
"file chooser",
"filler",
"focus traversable",
+ "font chooser",
"frame",
"glass pane",
"HTML container",
"icon",
+ "image",
"internal frame",
"label",
"layered pane",
"progress bar",
"pushbutton",
"radiobutton",
+ "radio menu item",
"root pane",
"row header",
"scrollbar",
"scrollpane",
"separator",
"slider",
+ "spin button",
"split pane",
+ "status bar",
"table",
"table cell",
"table column header",
"table row header",
+ "tearoff menu item",
"text",
"toggle button",
"toolbar",
"viewport",
"window",
- /* These have no equivalent AccessibleRole enum values */
- "accelerator label",
- "animation",
- "arrow",
- "calendar",
- "menu item",
- "date editor",
- "dial",
- "drawing area",
- "font chooser",
- "image",
- "radio menu item",
- "tearoff menu item",
- "spin button",
- "status bar",
};
#define MAX_ROLES (sizeof (role_names) / sizeof (char *))
+static AccessibleRole
+cspi_role_from_spi_role (Accessibility_Role role)
+{
+ return role; /* FIXME: need to compare, equivalence not guaranteed */
+}
+
/**
* AccessibleRole_getName:
* @role: an #AccessibleRole object to query.
cspi_return_val_if_ev ("getRole", SPI_ROLE_INVALID);
- return retval;
+ return cspi_role_from_spi_role (retval);
}
/**
enum Role {
ROLE_INVALID,
+ /* Object is a label indicating the keyboard accelerators for the parent */
+ ROLE_ACCELERATOR_LABEL,
/* Object is used to alert the user about something */
ROLE_ALERT,
+ /* Object contains a dynamic or moving image of some kind */
+ ROLE_ANIMATION,
+ /* Object is a 2d directional indicator */
+ ROLE_ARROW,
+ /* Object contains one or more dates, usually arranged into a 2d list */
+ ROLE_CALENDAR,
/* Object that can be drawn into and is used to trap events */
ROLE_CANVAS,
/*
ROLE_COLUMN_HEADER,
/* A list of choices the user can select from */
ROLE_COMBO_BOX,
+ /* An object which allows entry of a date */
+ ROLE_DATE_EDITOR,
/* An inconifed internal frame within a DESKTOP_PANE */
ROLE_DESKTOP_ICON,
/*
ROLE_FILLER,
/* XXX Don't know sure about this. */
ROLE_FOCUS_TRAVERSABLE,
+ /* Allows selection of a display font */
+ ROLE_FONT_CHOOSER,
/* A top level window with a title bar, border, menubar, etc. */
ROLE_FRAME,
/* A pane that is guaranteed to be painted on top of all panes beneath it */
ROLE_HTML_CONTAINER,
/* A small fixed size picture, typically used to decorate components */
ROLE_ICON,
+ /* An image, typically static. */
+ ROLE_IMAGE,
/* A frame-like object that is clipped by a desktop pane. */
ROLE_INTERNAL_FRAME,
/* An object used to present an icon or short string in an interface */
* same group to become uncghecked when this one is checked.
*/
ROLE_RADIO_BUTTON,
+ /* Object is both a menu item and a "radio button" (see ROLE_RADIO_BUTTON) */
+ ROLE_RADIO_MENU_ITEM,
/*
* A specialized pane that has a glass pane and a layered pane as its
* children.
ROLE_SEPARATOR,
/* An object that allows the user to select from a bounded range */
ROLE_SLIDER,
+ /*
+ * An object which allows one of a set of choices to be selected,
+ * and which displays the current choice.
+ */
+ ROLE_SPIN_BUTTON,
/* A specialized panel that presents two other panels at the same time. */
ROLE_SPLIT_PANE,
- /* An object used to rpesent information in terms of rows and columns. */
+ /* Object displays non-quantitative status information (c.f. ROLE_PROGRESS_BAR) */
+ ROLE_STATUS_BAR,
+ /* An object used to repesent information in terms of rows and columns. */
ROLE_TABLE,
ROLE_TABLE_CELL,
ROLE_TABLE_COLUMN_HEADER,
ROLE_TABLE_ROW_HEADER,
+ /* Object allows menu to be removed from menubar and shown in its own window. */
+ ROLE_TEAROFF_MENU_ITEM,
/* An object that presents text to the user */
ROLE_TEXT,
/*