Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:17

0001 /* ATK -  Accessibility Toolkit
0002  * Copyright 2001 Sun Microsystems Inc.
0003  *
0004  * This library is free software; you can redistribute it and/or
0005  * modify it under the terms of the GNU Library General Public
0006  * License as published by the Free Software Foundation; either
0007  * version 2 of the License, or (at your option) any later version.
0008  *
0009  * This library is distributed in the hope that it will be useful,
0010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012  * Library General Public License for more details.
0013  *
0014  * You should have received a copy of the GNU Library General Public
0015  * License along with this library; if not, write to the
0016  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
0017  * Boston, MA 02111-1307, USA.
0018  */
0019 
0020 #ifndef __ATK_HYPERLINK_H__
0021 #define __ATK_HYPERLINK_H__
0022 
0023 #if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined(__ATK_H_INSIDE__) && !defined(ATK_COMPILATION)
0024 #error "Only <atk/atk.h> can be included directly."
0025 #endif
0026 
0027 #include <atk/atkaction.h>
0028 
0029 G_BEGIN_DECLS
0030 
0031 /*
0032  * AtkHyperlink encapsulates a link or set of links in a hypertext document.
0033  *
0034  * It implements the AtkAction interface.
0035  */
0036 
0037 /**
0038  *AtkHyperlinkStateFlags:
0039  *@ATK_HYPERLINK_IS_INLINE: Link is inline
0040  *
0041  *Describes the type of link
0042  **/
0043 typedef enum
0044 {
0045   ATK_HYPERLINK_IS_INLINE = 1 << 0
0046 } AtkHyperlinkStateFlags;
0047 
0048 #define ATK_TYPE_HYPERLINK (atk_hyperlink_get_type ())
0049 #define ATK_HYPERLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_HYPERLINK, AtkHyperlink))
0050 #define ATK_HYPERLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_HYPERLINK, AtkHyperlinkClass))
0051 #define ATK_IS_HYPERLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_HYPERLINK))
0052 #define ATK_IS_HYPERLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_HYPERLINK))
0053 #define ATK_HYPERLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_HYPERLINK, AtkHyperlinkClass))
0054 
0055 typedef struct _AtkHyperlink AtkHyperlink;
0056 typedef struct _AtkHyperlinkClass AtkHyperlinkClass;
0057 
0058 struct _AtkHyperlink
0059 {
0060   GObject parent;
0061 };
0062 
0063 struct _AtkHyperlinkClass
0064 {
0065   GObjectClass parent;
0066 
0067   gchar *(*get_uri) (AtkHyperlink *link_,
0068                      gint i);
0069   AtkObject *(*get_object) (AtkHyperlink *link_,
0070                             gint i);
0071   gint (*get_end_index) (AtkHyperlink *link_);
0072   gint (*get_start_index) (AtkHyperlink *link_);
0073   gboolean (*is_valid) (AtkHyperlink *link_);
0074   gint (*get_n_anchors) (AtkHyperlink *link_);
0075   guint (*link_state) (AtkHyperlink *link_);
0076   gboolean (*is_selected_link) (AtkHyperlink *link_);
0077 
0078   /* Signals */
0079   void (*link_activated) (AtkHyperlink *link_);
0080   AtkFunction pad1;
0081 };
0082 
0083 ATK_AVAILABLE_IN_ALL
0084 GType atk_hyperlink_get_type (void);
0085 
0086 ATK_AVAILABLE_IN_ALL
0087 gchar *atk_hyperlink_get_uri (AtkHyperlink *link_,
0088                               gint i);
0089 
0090 ATK_AVAILABLE_IN_ALL
0091 AtkObject *atk_hyperlink_get_object (AtkHyperlink *link_,
0092                                      gint i);
0093 
0094 ATK_AVAILABLE_IN_ALL
0095 gint atk_hyperlink_get_end_index (AtkHyperlink *link_);
0096 
0097 ATK_AVAILABLE_IN_ALL
0098 gint atk_hyperlink_get_start_index (AtkHyperlink *link_);
0099 
0100 ATK_AVAILABLE_IN_ALL
0101 gboolean atk_hyperlink_is_valid (AtkHyperlink *link_);
0102 
0103 ATK_AVAILABLE_IN_ALL
0104 gboolean atk_hyperlink_is_inline (AtkHyperlink *link_);
0105 
0106 ATK_AVAILABLE_IN_ALL
0107 gint atk_hyperlink_get_n_anchors (AtkHyperlink *link_);
0108 
0109 ATK_DEPRECATED
0110 gboolean atk_hyperlink_is_selected_link (AtkHyperlink *link_);
0111 
0112 G_END_DECLS
0113 
0114 #endif /* __ATK_HYPERLINK_H__ */