Added IDL for complete accessibility interface definitions.
authorbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Mon, 30 Jul 2001 13:32:21 +0000 (13:32 +0000)
committerbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Mon, 30 Jul 2001 13:32:21 +0000 (13:32 +0000)
git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@11 e2bd861d-eb25-0410-b326-f6ed22b6b98c

23 files changed:
idl/Accessibility.idl
idl/Accessibility_Action.idl [new file with mode: 0644]
idl/Accessibility_Component.idl [new file with mode: 0644]
idl/Accessibility_EditableText.idl [new file with mode: 0644]
idl/Accessibility_Hyperlink.idl [new file with mode: 0644]
idl/Accessibility_Hypertext.idl [new file with mode: 0644]
idl/Accessibility_Image.idl [new file with mode: 0644]
idl/Accessibility_Selection.idl [new file with mode: 0644]
idl/Accessibility_StreamableContent.idl [new file with mode: 0644]
idl/Accessibility_Table.idl [new file with mode: 0644]
idl/Accessibility_Text.idl [new file with mode: 0644]
idl/Accessibility_Value.idl [new file with mode: 0644]
idl/Action.idl [new file with mode: 0644]
idl/Component.idl [new file with mode: 0644]
idl/EditableText.idl [new file with mode: 0644]
idl/Hyperlink.idl [new file with mode: 0644]
idl/Hypertext.idl [new file with mode: 0644]
idl/Image.idl [new file with mode: 0644]
idl/Selection.idl [new file with mode: 0644]
idl/StreamableContent.idl [new file with mode: 0644]
idl/Table.idl [new file with mode: 0644]
idl/Text.idl [new file with mode: 0644]
idl/Value.idl [new file with mode: 0644]

index 862453a..f858a87 100644 (file)
 #pragma inhibit push
 #endif
 
+/*
+ * Accessibility interfaces and subinterfaces
+ */
 #include <Accessible.idl>
-#include <Desktop.idl>
+#include <Action.idl>
+#include <Component.idl>
+#include <Hyperlink.idl>
+#include <Image.idl>
+#include <Selection.idl>
+#include <StreamableContent.idl>
+#include <Table.idl>
+#include <Text.idl>
+#include <Value.idl>
+
+/*
+ * Interfaces derived from Accessibility::Text
+ */
+
+#include <EditableText.idl>
+#include <Hypertext.idl>
+
+/*
+ * Utility interfaces and interfaces derived from Accessibility::Accessible
+ */
+
 #include <Relation.idl>
 #include <State.idl>
 #include <Application.idl>
+#include <Desktop.idl>
 #include <Event.idl>
 #include <Registry.idl>
 #include <Role.idl>
diff --git a/idl/Accessibility_Action.idl b/idl/Accessibility_Action.idl
new file mode 100644 (file)
index 0000000..585438b
--- /dev/null
@@ -0,0 +1,68 @@
+/* 
+ * 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.
+ */
+
+module Accessibility {
+
+  interface Action {
+
+        /**
+         * getNActions:
+         * return values: a @long containing the number of actions this object supports.
+         *
+         * Returns the number of actions supported by this object.
+         **/
+        long getNActions ();
+
+        /**
+        * getDescription:
+        * return values: a @wstring containing the description of the specified action.
+        * @index: an %in parameter specifying the index of the action 
+         *   for which a description is desired.
+        *
+        * Gets the description of the specified action.
+        *
+        **/
+        string getDescription (in long index);
+
+        /**
+         * doAction:
+         * @index: an %in parameter specifying the 0-based index of the action to perform.
+         *
+         * Causes the object to perform the specified action.
+        *
+         **/
+        void doAction (in long index);
+
+        /**
+        * getKeyBinding:
+        * return values: a @wstring containing the key binding for the specified action,
+         *   "" if none exists.
+        * @index: an %in parameter specifying the 0-based index of the action 
+         *   for which a key binding is requested.
+        *
+        * Gets the key binding associated with a specific action.
+        *
+        **/
+        string getKeyBinding (in long index);
+  };
+
+};
diff --git a/idl/Accessibility_Component.idl b/idl/Accessibility_Component.idl
new file mode 100644 (file)
index 0000000..aa690d1
--- /dev/null
@@ -0,0 +1,39 @@
+/* 
+ * 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 <Event.idl>
+
+module Accessibility {
+
+  interface Component {
+
+        boolean contains (in long x, in long y);
+        Accessible getAccessibleAtPoint (in long x, in long y);
+        void getExtents (out long x, out long y, out long width, out long height);
+        void getPosition (out long x, out long y);
+        void getPositionOnScreen (out long rootX, out long rootY);
+        void getSize (out long width, out long height);
+        void grabFocus ();
+        void registerFocusHandler (in EventListener handler);
+        void deregisterFocusHandler (in EventListener handler);
+  };  
+};
diff --git a/idl/Accessibility_EditableText.idl b/idl/Accessibility_EditableText.idl
new file mode 100644 (file)
index 0000000..c2b960a
--- /dev/null
@@ -0,0 +1,38 @@
+/* 
+ * 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 <Accessibility.idl>
+
+module Accessibility {
+
+  interface EditableText : Text {
+
+        void setTextContents (in string newContents);
+        void insertText (in long position, in string text, in long length);
+        void selectText (in long startPos, in long endPos);
+        void setAttributes (in long startPos, in long endPos, in wstring attributes);
+        void copyText (in long startPos, in long endPos);
+        void cutText (in long startPos, in long endPos);
+        void deleteText (in long startPos, in long endPos);
+        void pasteText (in long position);
+  };
+};
diff --git a/idl/Accessibility_Hyperlink.idl b/idl/Accessibility_Hyperlink.idl
new file mode 100644 (file)
index 0000000..50db8ab
--- /dev/null
@@ -0,0 +1,34 @@
+/* 
+ * 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 <Accessible.idl>
+
+module Accessibility {
+
+  interface Hyperlink {
+        Accessible getAnchor (in long i);
+        Accessible getObject (in long i);
+        long getStartIndex ();
+        long getEndIndex ();
+        boolean isValid ();
+  };
+};
diff --git a/idl/Accessibility_Hypertext.idl b/idl/Accessibility_Hypertext.idl
new file mode 100644 (file)
index 0000000..47b68b2
--- /dev/null
@@ -0,0 +1,32 @@
+/* 
+ * 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 <Accessibility.idl>
+
+module Accessibility {
+
+  interface Hypertext {
+        long getNLinks ();
+        Hyperlink getLink (in long linkIndex);
+        long getLinkIndex (in long characterIndex);
+  };
+};
diff --git a/idl/Accessibility_Image.idl b/idl/Accessibility_Image.idl
new file mode 100644 (file)
index 0000000..a186e6a
--- /dev/null
@@ -0,0 +1,30 @@
+/* 
+ * 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.
+ */
+
+module Accessibility {
+
+  interface Image {
+        string getImageDescription ();
+        long getImageHeight ();
+        long getImageWidth ();
+  };
+};
diff --git a/idl/Accessibility_Selection.idl b/idl/Accessibility_Selection.idl
new file mode 100644 (file)
index 0000000..006b12c
--- /dev/null
@@ -0,0 +1,36 @@
+/* 
+ * 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 <Accessible.idl>
+
+module Accessibility {
+
+  interface Selection {
+        long getNSelectedChildren ();
+        Accessible getSelectedChild (in long selectedChildIndex);
+        boolean selectChild (in long childIndex);
+        boolean deselectSelectedChild (in long selectedChildIndex);
+        boolean isChildSelected (in long childIndex);
+        void selectAll ();
+        void clearSelection ();
+  };
+};
diff --git a/idl/Accessibility_StreamableContent.idl b/idl/Accessibility_StreamableContent.idl
new file mode 100644 (file)
index 0000000..a9c9d36
--- /dev/null
@@ -0,0 +1,47 @@
+/* 
+ * 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.
+ */
+
+module Accessibility {
+
+  typedef sequence<string> StringSeq;
+
+  typedef sequence<octet>  OctetSeq;
+
+  enum SeekType {
+    SEEK_START,
+    SEEK_END,
+    SEEK_CURRENT
+  };
+
+  interface InputStream {
+    void open ();
+    long read (inout OctetSeq buffer, in long howmany);
+    boolean seek (in long offset, in SeekType type);
+    boolean rewind ();
+    void close ();
+  };
+
+  interface StreamableContent {
+    StringSeq getContentTypes ();
+    InputStream getContent (in string contentType);
+  };
+};
diff --git a/idl/Accessibility_Table.idl b/idl/Accessibility_Table.idl
new file mode 100644 (file)
index 0000000..cfe5cbc
--- /dev/null
@@ -0,0 +1,50 @@
+/* 
+ * 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 <Accessible.idl>
+
+module Accessibility {
+
+typedef sequence<long> LongSeq;
+
+  interface Table {
+        Accessible getCaption ();
+        Accessible getSummary ();
+        long getNRows ();
+        long getNColumns ();
+        Accessible getAccessibleAt (in long row, in long column);
+        long getIndexAt (in long row, in long column);
+        long getRowAtIndex (in long index);
+        long getColumnAtIndex (in long index);
+        string getRowDescription (in long row);
+        string getColumnDescription (in long column);
+        long getRowExtentAt (in long row, in long column);
+        long getColumnExtentAt (in long row, in long column);
+        Table getRowHeaders ();
+        Table getColumnHeaders ();
+        LongSeq getSelectedRows ();
+        LongSeq getSelectedColumns ();
+        boolean isRowSelected (in long row);
+        boolean isColumnSelected (in long column);
+        boolean isSelected (in long row, in long column);
+  };
+};
diff --git a/idl/Accessibility_Text.idl b/idl/Accessibility_Text.idl
new file mode 100644 (file)
index 0000000..f472c76
--- /dev/null
@@ -0,0 +1,54 @@
+/* 
+ * 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.
+ */
+
+module Accessibility {
+
+  enum TEXT_BOUNDARY_TYPE {
+    TEXT_BOUNDARY_CHAR,
+    TEXT_BOUNDARY_CURSOR_POS,
+    TEXT_BOUNDARY_WORD_START,
+    TEXT_BOUNDARY_WORD_END,
+    TEXT_BOUNDARY_SENTENCE_START,
+    TEXT_BOUNDARY_SENTENCE_END,
+    TEXT_BOUNDARY_LINE_START,
+    TEXT_BOUNDARY_LINE_END
+};
+
+  interface Text {
+        long getCharacterCount ();
+        string getText (in long startOfffset, in long endOffset);
+        long getCaretOffset ();
+        boolean setCaretOffset (in long offset);
+        string getTextBeforeOffset (in long offset, in TEXT_BOUNDARY_TYPE type);
+        string getTextAtOffset (in long offset, in TEXT_BOUNDARY_TYPE type);
+        string getTextAfterOffset (in long offset, in TEXT_BOUNDARY_TYPE type);
+        /* could be string instead, to allow unicode chars > 16 bits */
+        wchar getCharacterAtOffset (in long offset);
+        void getRowColAtOffset (in long offset, out long row, out long column);
+        string getAttributes (in long startOffset, in long endOffset);
+        boolean getCharacterExtents (in long offset, out long x, out long y, out long length, out long width);
+        long getOffsetAtPoint (in long x, in long y);
+        string getSelectedText ();
+        void getSelectionBounds (out long startOffset, out long endOffset);
+        boolean setSelectionBounds (in long startOffset, in long endOffset);
+  };
+};
diff --git a/idl/Accessibility_Value.idl b/idl/Accessibility_Value.idl
new file mode 100644 (file)
index 0000000..ea46f5b
--- /dev/null
@@ -0,0 +1,32 @@
+/* 
+ * 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.
+ */
+
+module Accessibility {
+
+  interface Value {
+        float getMinimumValue ();
+        float getCurrentValue ();
+        float getMaximumValue ();
+        float getMinimumIncrement ();
+        boolean setCurrentValue (in float value);
+  };
+};
diff --git a/idl/Action.idl b/idl/Action.idl
new file mode 100644 (file)
index 0000000..585438b
--- /dev/null
@@ -0,0 +1,68 @@
+/* 
+ * 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.
+ */
+
+module Accessibility {
+
+  interface Action {
+
+        /**
+         * getNActions:
+         * return values: a @long containing the number of actions this object supports.
+         *
+         * Returns the number of actions supported by this object.
+         **/
+        long getNActions ();
+
+        /**
+        * getDescription:
+        * return values: a @wstring containing the description of the specified action.
+        * @index: an %in parameter specifying the index of the action 
+         *   for which a description is desired.
+        *
+        * Gets the description of the specified action.
+        *
+        **/
+        string getDescription (in long index);
+
+        /**
+         * doAction:
+         * @index: an %in parameter specifying the 0-based index of the action to perform.
+         *
+         * Causes the object to perform the specified action.
+        *
+         **/
+        void doAction (in long index);
+
+        /**
+        * getKeyBinding:
+        * return values: a @wstring containing the key binding for the specified action,
+         *   "" if none exists.
+        * @index: an %in parameter specifying the 0-based index of the action 
+         *   for which a key binding is requested.
+        *
+        * Gets the key binding associated with a specific action.
+        *
+        **/
+        string getKeyBinding (in long index);
+  };
+
+};
diff --git a/idl/Component.idl b/idl/Component.idl
new file mode 100644 (file)
index 0000000..aa690d1
--- /dev/null
@@ -0,0 +1,39 @@
+/* 
+ * 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 <Event.idl>
+
+module Accessibility {
+
+  interface Component {
+
+        boolean contains (in long x, in long y);
+        Accessible getAccessibleAtPoint (in long x, in long y);
+        void getExtents (out long x, out long y, out long width, out long height);
+        void getPosition (out long x, out long y);
+        void getPositionOnScreen (out long rootX, out long rootY);
+        void getSize (out long width, out long height);
+        void grabFocus ();
+        void registerFocusHandler (in EventListener handler);
+        void deregisterFocusHandler (in EventListener handler);
+  };  
+};
diff --git a/idl/EditableText.idl b/idl/EditableText.idl
new file mode 100644 (file)
index 0000000..c2b960a
--- /dev/null
@@ -0,0 +1,38 @@
+/* 
+ * 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 <Accessibility.idl>
+
+module Accessibility {
+
+  interface EditableText : Text {
+
+        void setTextContents (in string newContents);
+        void insertText (in long position, in string text, in long length);
+        void selectText (in long startPos, in long endPos);
+        void setAttributes (in long startPos, in long endPos, in wstring attributes);
+        void copyText (in long startPos, in long endPos);
+        void cutText (in long startPos, in long endPos);
+        void deleteText (in long startPos, in long endPos);
+        void pasteText (in long position);
+  };
+};
diff --git a/idl/Hyperlink.idl b/idl/Hyperlink.idl
new file mode 100644 (file)
index 0000000..50db8ab
--- /dev/null
@@ -0,0 +1,34 @@
+/* 
+ * 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 <Accessible.idl>
+
+module Accessibility {
+
+  interface Hyperlink {
+        Accessible getAnchor (in long i);
+        Accessible getObject (in long i);
+        long getStartIndex ();
+        long getEndIndex ();
+        boolean isValid ();
+  };
+};
diff --git a/idl/Hypertext.idl b/idl/Hypertext.idl
new file mode 100644 (file)
index 0000000..47b68b2
--- /dev/null
@@ -0,0 +1,32 @@
+/* 
+ * 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 <Accessibility.idl>
+
+module Accessibility {
+
+  interface Hypertext {
+        long getNLinks ();
+        Hyperlink getLink (in long linkIndex);
+        long getLinkIndex (in long characterIndex);
+  };
+};
diff --git a/idl/Image.idl b/idl/Image.idl
new file mode 100644 (file)
index 0000000..a186e6a
--- /dev/null
@@ -0,0 +1,30 @@
+/* 
+ * 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.
+ */
+
+module Accessibility {
+
+  interface Image {
+        string getImageDescription ();
+        long getImageHeight ();
+        long getImageWidth ();
+  };
+};
diff --git a/idl/Selection.idl b/idl/Selection.idl
new file mode 100644 (file)
index 0000000..006b12c
--- /dev/null
@@ -0,0 +1,36 @@
+/* 
+ * 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 <Accessible.idl>
+
+module Accessibility {
+
+  interface Selection {
+        long getNSelectedChildren ();
+        Accessible getSelectedChild (in long selectedChildIndex);
+        boolean selectChild (in long childIndex);
+        boolean deselectSelectedChild (in long selectedChildIndex);
+        boolean isChildSelected (in long childIndex);
+        void selectAll ();
+        void clearSelection ();
+  };
+};
diff --git a/idl/StreamableContent.idl b/idl/StreamableContent.idl
new file mode 100644 (file)
index 0000000..a9c9d36
--- /dev/null
@@ -0,0 +1,47 @@
+/* 
+ * 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.
+ */
+
+module Accessibility {
+
+  typedef sequence<string> StringSeq;
+
+  typedef sequence<octet>  OctetSeq;
+
+  enum SeekType {
+    SEEK_START,
+    SEEK_END,
+    SEEK_CURRENT
+  };
+
+  interface InputStream {
+    void open ();
+    long read (inout OctetSeq buffer, in long howmany);
+    boolean seek (in long offset, in SeekType type);
+    boolean rewind ();
+    void close ();
+  };
+
+  interface StreamableContent {
+    StringSeq getContentTypes ();
+    InputStream getContent (in string contentType);
+  };
+};
diff --git a/idl/Table.idl b/idl/Table.idl
new file mode 100644 (file)
index 0000000..cfe5cbc
--- /dev/null
@@ -0,0 +1,50 @@
+/* 
+ * 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 <Accessible.idl>
+
+module Accessibility {
+
+typedef sequence<long> LongSeq;
+
+  interface Table {
+        Accessible getCaption ();
+        Accessible getSummary ();
+        long getNRows ();
+        long getNColumns ();
+        Accessible getAccessibleAt (in long row, in long column);
+        long getIndexAt (in long row, in long column);
+        long getRowAtIndex (in long index);
+        long getColumnAtIndex (in long index);
+        string getRowDescription (in long row);
+        string getColumnDescription (in long column);
+        long getRowExtentAt (in long row, in long column);
+        long getColumnExtentAt (in long row, in long column);
+        Table getRowHeaders ();
+        Table getColumnHeaders ();
+        LongSeq getSelectedRows ();
+        LongSeq getSelectedColumns ();
+        boolean isRowSelected (in long row);
+        boolean isColumnSelected (in long column);
+        boolean isSelected (in long row, in long column);
+  };
+};
diff --git a/idl/Text.idl b/idl/Text.idl
new file mode 100644 (file)
index 0000000..f472c76
--- /dev/null
@@ -0,0 +1,54 @@
+/* 
+ * 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.
+ */
+
+module Accessibility {
+
+  enum TEXT_BOUNDARY_TYPE {
+    TEXT_BOUNDARY_CHAR,
+    TEXT_BOUNDARY_CURSOR_POS,
+    TEXT_BOUNDARY_WORD_START,
+    TEXT_BOUNDARY_WORD_END,
+    TEXT_BOUNDARY_SENTENCE_START,
+    TEXT_BOUNDARY_SENTENCE_END,
+    TEXT_BOUNDARY_LINE_START,
+    TEXT_BOUNDARY_LINE_END
+};
+
+  interface Text {
+        long getCharacterCount ();
+        string getText (in long startOfffset, in long endOffset);
+        long getCaretOffset ();
+        boolean setCaretOffset (in long offset);
+        string getTextBeforeOffset (in long offset, in TEXT_BOUNDARY_TYPE type);
+        string getTextAtOffset (in long offset, in TEXT_BOUNDARY_TYPE type);
+        string getTextAfterOffset (in long offset, in TEXT_BOUNDARY_TYPE type);
+        /* could be string instead, to allow unicode chars > 16 bits */
+        wchar getCharacterAtOffset (in long offset);
+        void getRowColAtOffset (in long offset, out long row, out long column);
+        string getAttributes (in long startOffset, in long endOffset);
+        boolean getCharacterExtents (in long offset, out long x, out long y, out long length, out long width);
+        long getOffsetAtPoint (in long x, in long y);
+        string getSelectedText ();
+        void getSelectionBounds (out long startOffset, out long endOffset);
+        boolean setSelectionBounds (in long startOffset, in long endOffset);
+  };
+};
diff --git a/idl/Value.idl b/idl/Value.idl
new file mode 100644 (file)
index 0000000..ea46f5b
--- /dev/null
@@ -0,0 +1,32 @@
+/* 
+ * 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.
+ */
+
+module Accessibility {
+
+  interface Value {
+        float getMinimumValue ();
+        float getCurrentValue ();
+        float getMaximumValue ();
+        float getMinimumIncrement ();
+        boolean setCurrentValue (in float value);
+  };
+};