source: trunk/third/atk/atk/atkhyperlink.h @ 20776

Revision 20776, 3.8 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20775, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1/* ATK -  Accessibility Toolkit
2 * Copyright 2001 Sun Microsystems Inc.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
18 */
19
20#ifndef __ATK_HYPERLINK_H__
21#define __ATK_HYPERLINK_H__
22
23#ifdef __cplusplus
24extern "C" {
25#endif /* __cplusplus */
26
27#include <atk/atkaction.h>
28
29/*
30 * AtkHyperlink encapsulates a link or set of links in a hypertext document.
31 *
32 * It implements the AtkAction interface.
33 */
34
35/**
36 *AtkHyperlinkStateFlags
37 *@ATK_HYPERLINK_IS_INLINE: Link is inline
38 *
39 *Describes the type of link
40 **/
41typedef enum
42{
43  ATK_HYPERLINK_IS_INLINE = 1 << 0
44} AtkHyperlinkStateFlags;
45
46#define ATK_TYPE_HYPERLINK                        (atk_hyperlink_get_type ())
47#define ATK_HYPERLINK(obj)                        (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_HYPERLINK, AtkHyperlink))
48#define ATK_HYPERLINK_CLASS(klass)                (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_HYPERLINK, AtkHyperlinkClass))
49#define ATK_IS_HYPERLINK(obj)                     (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_HYPERLINK))
50#define ATK_IS_HYPERLINK_CLASS(klass)             (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_HYPERLINK))
51#define ATK_HYPERLINK_GET_CLASS(obj)              (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_HYPERLINK, AtkHyperlinkClass))
52
53typedef struct _AtkHyperlink                      AtkHyperlink;
54typedef struct _AtkHyperlinkClass                 AtkHyperlinkClass;
55
56struct _AtkHyperlink
57{
58  GObject parent;
59};
60
61struct _AtkHyperlinkClass
62{
63  GObjectClass parent;
64
65  gchar*           (* get_uri)             (AtkHyperlink     *link_,
66                                            gint             i);
67  AtkObject*       (* get_object)          (AtkHyperlink     *link_,
68                                            gint             i);
69  gint             (* get_end_index)       (AtkHyperlink     *link_);
70  gint             (* get_start_index)     (AtkHyperlink     *link_);
71  gboolean         (* is_valid)            (AtkHyperlink     *link_);
72  gint             (* get_n_anchors)       (AtkHyperlink     *link_);
73  guint            (* link_state)          (AtkHyperlink     *link_);
74  gboolean         (* is_selected_link)    (AtkHyperlink     *link_);
75
76  /* Signals */
77  void             ( *link_activated)      (AtkHyperlink     *link_);
78  AtkFunction      pad1;
79};
80
81GType            atk_hyperlink_get_type             (void);
82
83gchar*           atk_hyperlink_get_uri              (AtkHyperlink     *link_,
84                                                     gint             i);
85
86AtkObject*       atk_hyperlink_get_object           (AtkHyperlink     *link_,
87                                                     gint             i);
88
89gint             atk_hyperlink_get_end_index        (AtkHyperlink     *link_);
90
91gint             atk_hyperlink_get_start_index      (AtkHyperlink     *link_);
92
93gboolean         atk_hyperlink_is_valid             (AtkHyperlink     *link_);
94
95gboolean         atk_hyperlink_is_inline             (AtkHyperlink     *link_);
96
97gint             atk_hyperlink_get_n_anchors        (AtkHyperlink     *link_);
98gboolean         atk_hyperlink_is_selected_link     (AtkHyperlink     *link_);
99
100
101#ifdef __cplusplus
102}
103#endif /* __cplusplus */
104
105
106#endif /* __ATK_HYPERLINK_H__ */
Note: See TracBrowser for help on using the repository browser.