552483d85f93b2cb069c7d6aac172b57818fc077
[platform/core/uifw/at-spi2-atk.git] / idl / Accessibility_Hypertext.idl
1 /* 
2  * AT-SPI - Assistive Technology Service Provider Interface 
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * Copyright 2001 Sun Microsystems, Inc.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22
23 #include <Accessibility.idl>
24
25 module Accessibility {
26   /** 
27    * An interface used for objects which implement linking between
28    * multiple resource or content locations, or multiple 'markers'
29    * within a single document.  A Hypertext instance is associated with
30    * one or more Hyperlinks, which are associated with particular
31    * offsets within the Hypertext's included content.
32    *
33    * @note While this interface is derived from ::Text, 
34    *       there is no requirement that Hypertext instances have
35    *       textual content; they may implement ::Image as well,
36    *       and Hyperlinks need not have non-zero text offsets.
37    */
38   interface Hypertext : Bonobo::Unknown {
39     /** 
40      * Query the hypertext object for the number of Hyperlinks it
41      * contains.
42      *
43      * @returns the number of Hyperlinks associated with this Hypertext
44      *  object, as a long integer.
45      */
46     long getNLinks ();
47     /** 
48      * Get one of the Hyperlinks associated with this Hypertext object,
49      * by index.
50      *
51      * @param linkIndex an integer from 0 to getNLinks() - 1.
52      * @returns the Hyperlink in this Hypertext object.
53      */
54     Hyperlink getLink (in long linkIndex);
55     /** 
56      * Get the hyperlink index, if any, associated with a 
57      * particular character offset in the Hypertext object.
58      * For Hypertext implementors without textual content, all
59      * hyperlinks are associated with character offset '0'.
60      *
61      * @return the index of the Hyperlink associated with character
62      *     offset \c characterIndex, or -1 if no Hyperlink is associated
63      *     with that character offset.
64      */
65     long getLinkIndex (in long characterIndex);
66
67     /** \cond */
68     void unImplemented ();
69     void unImplemented2 ();
70     void unImplemented3 ();
71     void unImplemented4 ();
72     /** \endcond */
73   };
74 };