2001-12-10 Michael Meeks <michael@ximian.com>
[platform/core/uifw/at-spi2-atk.git] / idl / Accessible.idl
index e004678..cfebaa9 100644 (file)
@@ -1,15 +1,29 @@
+/* 
+ * 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.
+ */
+
 #ifndef _ACCESSIBILITY_ACCESSIBLE_IDL
 #define _ACCESSIBILITY_ACCESSIBLE_IDL
 
-
-#include <Bonobo.idl>
-
-#if !defined(__ACCESSIBILITY_ACCESSIBLE_COMPILATION) && defined(__ORBIT_IDL__)
-%{
-#pragma include_defs Accessible.h
-%}
-#pragma inhibit push
-#endif
+#include <Bonobo_Unknown.idl>
 
 #include "Relation.idl"
 #include "State.idl"
@@ -19,82 +33,91 @@ module Accessibility {
   
   typedef sequence<Relation> RelationSet;
 
+  struct BoundingBox {
+         long x;
+         long y;
+         long width;
+         long height;
+  };
+
   interface Accessible : Bonobo::Unknown {
 
     /**
-     * #attribute description: a (short) @string representing the object's name.
+     * @name: a (short) #string representing the object's name.
      **/
     attribute string name;
 
     /**
-     * #attribute description: a @string describing the object in more detail than @name.
+     * @description: a #string describing the object in more detail than @name.
      **/
     attribute string description;
 
     /**
-     * #attribute parent: an @Accessible object which is this object's containing object.
+     * @parent: an #Accessible object which is this object's containing object.
      **/
     readonly attribute Accessible parent;
 
     /**
-     * getChildCount:
-     * return values: the number of children contained by this object (zero if none).
+     * @childCount: the number of children contained by this object.
+     **/
+    readonly attribute long            childCount;
+
+    /**
+     * isEqual:
+     * @obj: an #Accessible object reference to compare to
      *
-     * Get the number of children contained by this object.
+     * Determine whether an #Accessible refers to the same object as another
      *
+     * Returns: a #boolean indicating whether the two object references
+     *         point to the same object. 
      **/
-    readonly attribute long            childCount;
+    boolean isEqual (in Accessible obj);
 
     /**
      * getChildAtIndex:
      * @index: an in parameter indicating which child is requested (zero-indexed).
-     * return values: the 'nth' @Accessible child of this object.
      *
      * Get the accessible child of this object at index @index.
      *
+     * Returns: the 'nth' @Accessible child of this object.
      **/
     Accessible         getChildAtIndex (in long index);
 
     /**
      * getIndexInParent:
-     * return values: a long integer indicating this object's index in the parent's list.
      *
      * Get the index of this object in its parent's child list.
      *
+     * Returns: a long integer indicating this object's index in the parent's list.
      **/
     long               getIndexInParent ();
 
     /**
      * getRelationSet:
-     * return values: a @RelationSet defining this object's relationships.
      *
      * Get a set defining this object's relationship to other accessible objects.
      *
+     * Returns: a @RelationSet defining this object's relationships.
      **/
     RelationSet        getRelationSet ();
 
     /**
      * getRole:
-     * return values: the @Role of this object.
-     *
      * Get the @Role indicating the type of UI role played by this object.
      *
+     * Returns: a @Role indicating the type of UI role played by this object.
      **/
     Role               getRole ();
 
     /**
      * getState:
-     * return values: a @StateSet encapsulating the currently true states of the object.
      *
      * Get the current state of the object as a @StateSet.
+     * Returns: a @StateSet encapsulating the currently true states of the object.
      **/
     StateSet   getState ();
   };
 };
 
-#if !defined(__ACCESSIBILITY_ACCESSIBLE_COMPILATION) && defined(__ORBIT_IDL__)
-#pragma inhibit pop
-#endif
-
 #endif