BONOBO_TYPE_FUNC_FULL (SpiHyperlink,
Accessibility_Hyperlink,
SPI_TYPE_BASE,
- spi_hyperlink);
+ spi_hyperlink)
static void
SpiHyperlink *
-spi_hyperlink_new (AtkObject *object)
+spi_hyperlink_new (AtkHyperlink *object)
{
SpiHyperlink *new_hyperlink = g_object_new (
SPI_HYPERLINK_TYPE, NULL);
spi_base_construct (SPI_BASE (new_hyperlink), G_OBJECT(object));
+ /*
+ * some hyperlinks are actionable... this is an ATK convention
+ * that seems convenient though possibly poorly documented or unintended.
+ */
+ if (ATK_IS_ACTION (object))
+ {
+ bonobo_object_add_interface (bonobo_object (new_hyperlink),
+ BONOBO_OBJECT (spi_action_interface_new (object)));
+ }
return new_hyperlink;
}
-
static AtkHyperlink *
get_hyperlink_from_servant (PortableServer_Servant servant)
{
SpiBase *object = SPI_BASE (bonobo_object_from_servant (servant));
g_return_val_if_fail (object != NULL, NULL);
- g_return_val_if_fail (ATK_IS_OBJECT(object->gobj), NULL);
+ g_return_val_if_fail (ATK_IS_HYPERLINK(object->gobj), NULL);
return ATK_HYPERLINK (object->gobj);
}