Bug 346858. Add support for ATK relations. r=nian.liu

git-svn-id: svn://10.0.0.236/trunk@206543 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
aaronleventhal%moonset.net
2006-08-04 03:58:05 +00:00
parent 3aecc488c3
commit 07b7267373
4 changed files with 12 additions and 0 deletions

View File

@@ -313,6 +313,8 @@ interface nsIAccessible : nsISupports
/**
* Relation Types -- most of these come from ATK's atkrelationtype.h
* When adding support for relations, make sure to add them to appropriate
* places in nsAccessibleWrap implementations
* RELATION_NULL:
* RELATION_CONTROLLED_BY: Controlled by one or more target objects.
* RELATION_CONTROLLER_FOR: Controller for one or more target objects.

View File

@@ -947,6 +947,13 @@ refRelationSetCB(AtkObject *aAtkObj)
PRUint32 relationType[] = {nsIAccessible::RELATION_LABELLED_BY,
nsIAccessible::RELATION_LABEL_FOR,
nsIAccessible::RELATION_NODE_CHILD_OF,
nsIAccessible::RELATION_CONTROLLED_BY,
nsIAccessible::RELATION_CONTROLLER_FOR,
#ifdef USE_ATK_EMBED_RELATIONS
nsIAccessible::RELATION_EMBEDS,
#endif
nsIAccessible::RELATION_FLOWS_TO,
nsIAccessible::RELATION_FLOWS_FROM,
#ifdef USE_ATK_DESCRIPTION_RELATIONS
nsIAccessible::RELATION_DESCRIBED_BY,
nsIAccessible::RELATION_DESCRIPTION_FOR,

View File

@@ -66,6 +66,7 @@
(ATK_MAJOR_VERSION == 1 && ATK_MINOR_VERSION >= 2) || \
(ATK_MAJOR_VERSION == 1 && ATK_MINOR_VERSION == 1 && ATK_REV_VERSION >=3)
#define USE_ATK_ROLE_APPLICATION
#define USE_ATK_EMBED_RELATIONS
#endif
// ATK 1.3.3 or later

View File

@@ -2148,6 +2148,8 @@ already_AddRefed<nsIDOMNode> nsAccessible::GetInverseRelatedNode(nsIAtom *aRelat
/* nsIAccessible getAccessibleRelated(); */
NS_IMETHODIMP nsAccessible::GetAccessibleRelated(PRUint32 aRelationType, nsIAccessible **aRelated)
{
// When adding support for relations, make sure to add them to
// appropriate places in nsAccessibleWrap implementations
*aRelated = nsnull;
// Relationships are defined on the same content node