* configure.in: Removed po/Makefile.in inclusion, we do not need
it. Revved to 1.7.0.
- * idl/
+ * idl/Accessibility.idl: Improved documentation here, and for all
+ IDL in the 'GNOME::Accessibility' namespace.
- * libspi/spi_event.c:
+ * idl/Accessibility_Accessible.idl:
+ (LOCALE_TYPE): Added enum.
+ (AttributeSet): New, for returning multiple name/value attribute pairs.
+ (RoleSet): New, sequence of Roles, to be used in upcoming
+ Collection API.
+ (getAttributes): New API, allows retrieval of name/value pair
+ annotations for all kinds of Accessible objects. C.f.
+ Text:getAttributes, which is only for typographic/textual/semantic tags in
+ text content.
+ (getApplication): New, retrieves the host/containing Application
+ instance for an object (without having to walk up the whole tree).
+
+ * idl/Accessibility_Component.idl:
+ (getAlpha): New method, returns the alpha blending (aka 'opacity')
+ value for an object. An alpha of 1.0 is fully opaque, 0.0 is
+ fully transparent.
+
+ * idl/Accessibility_Event.idl:
+ (EventDetails): New struct definition, for encapsulating
+ commonly-queried information about emitted events. The use of
+ this structure in emitted events (in the 'any' member of
+ Accessibility_Event) should greatly reduce the number of
+ client-server roundtrips necessary.
+
+ * idl/Accessibility_Image.idl:
+ (imageLocale): New, a readonly attribute indicating the POSIX
+ LC_MESSAGES locale of the image and associated Alt/descriptive
+ text.
+
+ * idl/Accessibility_Relation.idl:
+ (RELATION_PARENT_WINDOW_OF): Include, as complement to
+ RELATION_POPUP_FOR.
+
+ * idl/Accessibility_Role.idl:
+ (ROLE_ENTRY, ROLE_CHART, ROLE_CAPTION, ROLE_DOCUMENT_FRAME)
+ (ROLE_HEADING, ROLE_PAGE, ROLE_SECTION): New roles for
+ complex document and form support.
+
+ * idl/Accessibility_State.idl:
+ (STATE_REQUIRED, STATE_TRUNCATED, STATE_ANIMATED)
+ (STATE_INVALID_ENTRY, STATE_SUPPORTS_AUTOCOMPLETION)
+ (STATE_SELECTABLE_TEXT, STATE_IS_DEFAULT): New states,
+ for support of complex documents and forms.
+
+ * idl/Accessibility_StreamableContent.idl:
+ (SeekType, IOError, NotSupported, NoPermission): New enum and exceptions, to
+ allow old bonobo-stream interfaces to be deprecated in the next
+ release.
+
+ * idl/Accessibility_Text.idl:
+ (getAttributeValue): New method, allows query-by-name of single
+ attributes.
+
+ * libspi/accessible.c:
+ Added support for new roles. Implemented new methods
+ (impl_accessibility_accessible_get_application): New
+ (impl_accessibility_accessible_get_attributes): New
+
+ * libspi/component.c:
+ (impl_accessibility_component_get_alpha): New.
+
+ * libspi/image.c:
+ (impl_accessibility_image_get_locale): New.
+
+ * libspi/relation.c: Added support for new relation type.
+
+ * libspi/stateset.c: Added support for new state types.
+
+ * libspi/text.c:
+ (impl_getAttributeValue): New.
+
+ * libspi/util.c:
+ New prototypes for private methods
+ spi_init_any_nil,
+ spi_init_any_object, spi_init_any_string,
+ spi_init_any_rect.
+
+ * libspi/spi_event.c:
+ Use EventDetails in the event emission methods.
* cspi/spi-private.h:
(cspi_role_from_spi_role): Expose this adapter method, since
(AccessibleEvent_getSourceRole):
(AccessibleEvent_getSourceApplication):
(AccessibleEvent_getSourceDetails):
+ New methods for interrogating/demarshalling
+ event details (i.e. source's accessible name, role,
+ and host app).
* cspi/spi_accessible.c: Use cspi_role_from_spi_role.
Make use of the new EventDetails struct in events, if present.
- ():
- ():
- ():
- ():
- ():
(AccessibleEvent_getSourceName)
(AccessibleEvent_getSourceRole)
(AccessibleEvent_getSourceApplication)
(AccessibleEvent_getSourceDetails): Implement the newly exposed
methods from spi.h.
+ (Accessible_getAttributes): New, wraps
+ Accessibility_Accessible_getAttributes.
+ (Accessible_getHostApplication): New, wraps
+ Accessibility_Accessible_getApplication.
+
+ * cspi/spi_image.c:
+ (AccessibleImage_getImageLocale): New wrapper for
+ Accessibility_Image_get_imageLocale.
+
+ * cspi/spi_component.c:
+ (AccessibleComponent_getAlpha): New wrapper for
+ Accessibility_Component_getAlpha.
* atk-bridge/bridge.c:
Use new prototyped for init_any methods.
for spi_init_any_* methods, due to refactor; include extended
information in the Accessibility_EventDetails struct, for instance
accessible-name, Role, and containing Application.
-
+
* registryd/registry.c:
+ Use new event emission (with EventDetails).
+
+ * registryd/deviceeventcontroller.c:
+ Use new event emission (with EventDetails).
2006-01-09 Kjartan Maraas <kmaraas@gnome.org>
What's new in at-spi-1.7.0:
+* DOCS:
+
+ All the IDL is now documented with doxygen-compatible docs.
+ Just run 'doxygen oxyfile' in the IDL directory. (This will
+ be automated in a future version).
+
* NEW API:
- idl:
+ idl:
+ Accessibility::Accessible:getAttributes (name/value pair annotation
+ for all objects)
+ Accessibility::Accessible:getApplication (retrieves ref to host app)
+ Accessibility::Component:getAlpha (get transparency/opacity value of component)
+ Accessibility::Image:getLocale (get POSIX locale for image and
+ imagedesc)
+ Accessibility::Text:getAttributeValue (retrieve a single named
+ attribute value)
+ Accessibility::Relation:RELATION_PARENT_WINDOW_OF
+ Accessibility::Role:ROLE_ENTRY, ROLE_CHART, ROLE_CAPTION,
+ ROLE_DOCUMENT_FRAME, ROLE_HEADING, ROLE_PAGE, ROLE_SECTION (New roles
+ for complex docs and forms.)
+ Accessibility::State:STATE_REQUIRED, STATE_TRUNCATED, STATE_ANIMATED,
+ STATE_INVALID_ENTRY, STATE_SUPPORTS_AUTOCOMPLETION,
+ STATE_SELECTABLE_TEXT, STATE_IS_DEFAULT (New states, for complex forms)
+ Accessibility::EventDetails (new, more detailed info marshalled with events)
+
cspi:
+ (AccessibleEvent_getSourceName):
+ (AccessibleEvent_getSourceRole):
+ (AccessibleEvent_getSourceApplication):
+ (AccessibleEvent_getSourceDetails):
+ New methods for interrogating/demarshalling
+ event details i.e. source's accessible name, role,
+ and host app.
+ (Accessible_getAttributes): New, retrieve annotations/attributes
+ on objects.
+ (Accessible_getHostApplication): New, retrieve enclosing Application
+ instance for an object.
+ (AccessibleImage_getImageLocale): New, retrieve Locale info for an
+ image.
+ (AccessibleComponent_getAlpha): New, retrieve alpha value for
+ an AccessibleComponent (see discussion in idl section above).
* BUGFIXES:
-
+ Some compiler fixes from Kjartan Marass.
+ Some thread-related fixes from Michael Meeks.
+ Don't allow non-preemptive listeners to pre-empt events! (Bill Haneman).
What's new in at-spi-1.6.5:
typedef AccessibleModifierMaskType AccessibleKeyMaskType;
+typedef struct _AccessibleAttributeSet
+{
+ int len;
+ char **attributes;
+} AccessibleAttributeSet;
+
/* Basic SPI initialization and event loop function prototypes */
int SPI_init (void);
char * Accessible_getRoleName (Accessible *obj);
char * Accessible_getLocalizedRoleName (Accessible *obj);
AccessibleStateSet * Accessible_getStateSet (Accessible *obj);
+AccessibleAttributeSet *Accessible_getAttributes (Accessible *obj);
+AccessibleApplication *Accessible_getHostApplication (Accessible *obj);
/* Interface query methods */
AccessibleComponent_getLayer (AccessibleComponent *obj);
SPIBoolean AccessibleComponent_grabFocus (AccessibleComponent *obj);
short AccessibleComponent_getMDIZOrder(AccessibleComponent *obj);
+double AccessibleComponent_getAlpha (AccessibleComponent *obj);
/* AccessibleEditableText function prototypes */
long int *width,
long int *height,
AccessibleCoordType ctype);
+char *
+AccessibleImage_getImageLocale (AccessibleImage *obj);
+
/*
*
* AccessibleRelation function prototypes
return cspi_role;
}
+AccessibleAttributeSet *
+cspi_attribute_set_from_sequence (const Accessibility_AttributeSet *seq)
+{
+ AccessibleAttributeSet *set = g_new0 (AccessibleAttributeSet, 1);
+ int i;
+
+ set->len = seq->_length;
+ set->attributes = g_newa (char *, set->len);
+ for (i = 0; i < set->len; ++i)
+ {
+ set->attributes[i] = g_strdup (seq->_buffer [i]);
+ }
+ return set;
+}
+
/**
* AccessibleRole_getName:
* @role: an #AccessibleRole object to query.
return retval;
}
+/**
+ * Accessible_getAttributes:
+ * Get the #AttributeSet representing any assigned
+ * name-value pair attributes or annotations for this object.
+ * For typographic, textual, or textually-semantic attributes, see
+ * AccessibleText_getAttributes instead.
+ * @obj: The #Accessible being queried.
+ * Returns: The name-value-pair attributes assigned to this object.
+ */
+AccessibleAttributeSet *
+Accessible_getAttributes (Accessible *obj)
+{
+ AccessibleAttributeSet *retval;
+ Accessibility_AttributeSet *corba_seq;
+
+ cspi_return_val_if_fail (obj != NULL, NULL);
+
+ corba_seq = Accessibility_Accessible_getAttributes (
+ CSPI_OBJREF (obj), cspi_ev ());
+ cspi_return_val_if_ev ("getAttributes", NULL);
+
+ retval = cspi_attribute_set_from_sequence (corba_seq);
+ CORBA_free (corba_seq);
+
+ return NULL;
+}
+
+/**
+ * Accessible_getHostApplication:
+ * Get the containing #AccessibleApplication for an object.
+ * @obj: The #Accessible being queried.
+ * Returns: the containing AccessibleApplication instance for this object.
+ */
+AccessibleApplication *
+Accessible_getHostApplication (Accessible *obj)
+{
+ AccessibleApplication *retval;
+
+ cspi_return_val_if_fail (obj != NULL, NULL);
+
+ retval = Accessible_getApplication (cspi_object_add (
+ Accessibility_Accessible_getApplication (CSPI_OBJREF (obj),
+ cspi_ev ())));
+ cspi_return_val_if_ev ("getApplication", NULL);
+
+ return retval;
+}
+
/* Interface query methods */
/**
return retval;
}
+/**
+ * AccessibleComponent_getAlpha:
+ * Return the opacity/alpha value of a component, if alpha blending is in use.
+ * @obj: The #AccessibleComponent to be queried.
+ * Returns: the opacity value of a component, as a double between 0.0 and 1.0.
+ */
+double
+AccessibleComponent_getAlpha (AccessibleComponent *obj)
+{
+ SPIBoolean retval;
+
+ cspi_return_val_if_fail (obj != NULL, 1.0);
+
+ retval = Accessibility_Component_getAlpha (CSPI_OBJREF (obj),
+ cspi_ev ());
+
+ cspi_return_val_if_ev ("getAlpha", 1.0);
+
+ return retval;
+}
*height = bbox.height;
}
}
+
+/**
+ * AccessibleImage_getImageLocale:
+ * Get the locale associated with an image and its textual representation.
+ * @obj: The #AccessibleImage being queried.
+ * Returns: A POSIX LC_MESSAGES-style Locale value for image description and text.
+ */
+char *
+AccessibleImage_getImageLocale (AccessibleImage *obj)
+{
+ char *retval = "C";
+
+ cspi_return_val_if_fail (obj != NULL, "C");
+
+ retval = Accessibility_Image__get_imageLocale (CSPI_OBJREF (obj), cspi_ev ());
+
+ cspi_return_val_if_ev ("getImageLocale", NULL);
+
+ return retval;
+}
+
ROLE_EMBEDDED,
/**
- * The object is a link to some other content, for instance to a URI in this or another
- * document. ROLE_LINK can occur primarily in two situations; as the role of an
- * object returned via the Hypertext::getLink, or, more importantly, as the role
- * of a standalone object that implements the Hypertext interface but points to only
- * one link object.
- *
- * @note NOT SURE ABOUT THIS ONE, the description makes it sound pretty ropy.
- * Why aren't links just identified via the Hypertext interface? For non-textual
- * hyperlinks (as allowed in XHTML 2.0), shouldn't this role be ROLE_IMAGE
- * or ROLE_ICON?
- *
- * @since AT-SPI 1.7.0
- */
- ROLE_LINK,
- /**
* The object is a component whose textual content may be entered or modified by the user,
* provided STATE_EDITABLE is present.
* @note a readonly ROLE_ENTRY object (i.e. where STATE_EDITABLE is not present) implies a