* Boston, MA 02111-1307, USA.
*/
+#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION)
+#error "Only <atk/atk.h> can be included directly."
+#endif
+
#ifndef __ATK_HYPERTEXT_H__
#define __ATK_HYPERTEXT_H__
#include <atk/atkobject.h>
+#include <atk/atkhyperlink.h>
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
-/* The AtkHypertext class is the base class for all classes that present
- * hypertext information on the display. This class provides the standard
- * mechanism for an assistive technology to access that text via its
- * content, attributes, and spatial location. It also provides standard
- * mechanisms for manipulating hyperlinks.
- *
- * I do not think that there is a GTK+ widget for this but I assume that
- * there will be a custom widget so we define the interface.
+/*
+ * The AtkHypertext interface provides standard mechanisms for manipulating
+ * hyperlinks.
*/
#define ATK_TYPE_HYPERTEXT (atk_hypertext_get_type ())
#define _TYPEDEF_ATK_HYPERTEXT_
typedef struct _AtkHypertext AtkHypertext;
#endif
-
-typedef struct _AtkHyperLink AtkHyperLink;
+typedef struct _AtkHypertextIface AtkHypertextIface;
struct _AtkHypertextIface
{
GTypeInterface parent;
- /*
- * Returns the nth link of this hypertext document
- */
- AtkHyperLink*(* get_link) (AtkHypertext *hypertext,
+ AtkHyperlink*(* get_link) (AtkHypertext *hypertext,
gint link_index);
- /*
- * Returns the number of links within this hypertext document.
- */
gint (* get_n_links) (AtkHypertext *hypertext);
- /*
- * Returns the index into the array of hyperlinks that is associated
- * this character index, or -1 if there is no hyperlink associated with
- * this index.
- */
gint (* get_link_index) (AtkHypertext *hypertext,
gint char_index);
+ /*
+ * signal handlers
+ */
+ void (* link_selected) (AtkHypertext *hypertext,
+ gint link_index);
};
+ATK_AVAILABLE_IN_ALL
GType atk_hypertext_get_type (void);
-AtkHyperLink* atk_hypertext_get_link (AtkHypertext *hypertext,
+ATK_AVAILABLE_IN_ALL
+AtkHyperlink* atk_hypertext_get_link (AtkHypertext *hypertext,
gint link_index);
+ATK_AVAILABLE_IN_ALL
gint atk_hypertext_get_n_links (AtkHypertext *hypertext);
+ATK_AVAILABLE_IN_ALL
gint atk_hypertext_get_link_index (AtkHypertext *hypertext,
gint char_index);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
+G_END_DECLS
#endif /* __ATK_HYPERTEXT_H__ */