Hypertext and hyperlink fixes
authorMike Gorse <mgorse@novell.com>
Thu, 2 Dec 2010 19:33:20 +0000 (14:33 -0500)
committerMike Gorse <mgorse@novell.com>
Thu, 2 Dec 2010 19:33:20 +0000 (14:33 -0500)
atspi/atspi-accessible.c
atspi/atspi-accessible.h
atspi/atspi-hyperlink.h
atspi/atspi-types.h

index c6f0ebc..759152b 100644 (file)
@@ -44,6 +44,11 @@ atspi_editable_text_interface_init (AtspiEditableText *editable_text)
 }
 
 static void
+atspi_hypertext_interface_init (AtspiHypertext *hypertext)
+{
+}
+
+static void
 atspi_image_interface_init (AtspiImage *image)
 {
 }
@@ -73,6 +78,7 @@ G_DEFINE_TYPE_WITH_CODE (AtspiAccessible, atspi_accessible, ATSPI_TYPE_OBJECT,
                          G_IMPLEMENT_INTERFACE (ATSPI_TYPE_COLLECTION, atspi_collection_interface_init)
                          G_IMPLEMENT_INTERFACE (ATSPI_TYPE_COMPONENT, atspi_component_interface_init)
                          G_IMPLEMENT_INTERFACE (ATSPI_TYPE_EDITABLE_TEXT, atspi_editable_text_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATSPI_TYPE_HYPERTEXT, atspi_hypertext_interface_init)
                          G_IMPLEMENT_INTERFACE (ATSPI_TYPE_IMAGE, atspi_image_interface_init)
                          G_IMPLEMENT_INTERFACE (ATSPI_TYPE_SELECTION, atspi_selection_interface_init)
                          G_IMPLEMENT_INTERFACE (ATSPI_TYPE_TABLE, atspi_table_interface_init)
@@ -949,6 +955,23 @@ atspi_accessible_get_editable_text (AtspiAccessible *accessible)
 }
 
 /**
+ * atspi_accessible_get_hyperlink:
+ * @accessible: a pointer to the #AtspiAccessible object on which to operate.
+ *
+ * Get the #AtspiHyperlink associated with the given #AtspiAccessible, if
+ * supported.
+ *
+ * Returns: (transfer full): the #AtspiHyperlink object associated with
+ *          the given #AtspiAccessible, or NULL if not supported.
+ **/
+AtspiHyperlink *
+atspi_accessible_get_hyperlink (AtspiAccessible *accessible)
+{
+  return (_atspi_accessible_is_a (accessible, atspi_interface_hyperlink) ?
+          atspi_hyperlink_new (accessible->parent.app, accessible->parent.path) : NULL);
+}
+
+/**
  * atspi_accessible_get_hypertext:
  * @obj: a pointer to the #AtspiAccessible instance to query.
  *
index 1f4d577..4e7658e 100644 (file)
@@ -108,6 +108,8 @@ AtspiDocument * atspi_accessible_get_document (AtspiAccessible *obj);
 
 AtspiEditableText * atspi_accessible_get_editable_text (AtspiAccessible *obj);
 
+AtspiHyperlink * atspi_accessible_get_hyperlink (AtspiAccessible *obj);
+
 AtspiHypertext * atspi_accessible_get_hypertext (AtspiAccessible *obj);
 
 AtspiImage * atspi_accessible_get_image (AtspiAccessible *obj);
index 0af3f59..09c5aa6 100644 (file)
@@ -39,7 +39,6 @@
 #define ATSPI_IS_HYPERLINK_CLASS(klass)             (G_TYPE_CHECK_CLASS_TYPE ((klass), ATSPI_TYPE_HYPERLINK))
 #define ATSPI_HYPERLINK_GET_CLASS(obj)              (G_TYPE_INSTANCE_GET_CLASS ((obj), ATSPI_TYPE_HYPERLINK, AtspiHyperlinkClass))
 
-typedef struct _AtspiHyperlink AtspiHyperlink;
 struct _AtspiHyperlink
 {
   AtspiObject parent;
index 0f84d23..e56f93f 100644 (file)
@@ -35,6 +35,7 @@ typedef struct _AtspiCollection AtspiCollection;
 typedef struct _AtspiComponent AtspiComponent;
 typedef struct _AtspiDocument AtspiDocument;
 typedef struct _AtspiEditableText AtspiEditableText;
+typedef struct _AtspiHyperlink AtspiHyperlink;
 typedef struct _AtspiHypertext AtspiHypertext;
 typedef struct _AtspiImage AtspiImage;
 typedef struct _AtspiSelection AtspiSelection;