#include "accessible.h"
#include "application.h"
+#define SPI_BRIDGE_DEBUG 1
+
#define APP_STATIC_BUFF_SZ 64
typedef struct _ArgStruct ArgStruct;
};
static CORBA_Environment ev;
-static Accessibility_SpiRegistry registry;
+static Accessibility_Registry registry;
static SpiApplication *this_app;
static gboolean bridge_register_app (gpointer p);
const GValue *param_values,
gpointer data);
+static gint bridge_key_listener (AtkImplementor *atk_impl,
+ AtkKeyEventStruct *event,
+ gpointer data);
+
int
gtk_module_init(gint *argc, gchar **argv[])
{
/* Create the accesssible application server object */
this_app = spi_application_new(atk_get_root ());
- obj_id = "OAFIID:Accessibility_SpiRegistry:proto0.1";
+ obj_id = "OAFIID:Accessibility_Registry:proto0.1";
oclient = bonobo_activation_activate_from_id (obj_id, 0, NULL, &ev);
if (ev._major != CORBA_NO_EXCEPTION) {
g_error ("Could not locate registry");
}
- registry = (Accessibility_SpiRegistry) oclient;
+ registry = (Accessibility_Registry) oclient;
fprintf(stderr, "About to register application\n");
bonobo_activate ();
- Accessibility_SpiRegistry_registerSpiApplication (registry,
+ Accessibility_Registry_registerApplication (registry,
CORBA_Object_duplicate (BONOBO_OBJREF (this_app), &ev),
&ev);
atk_add_focus_tracker (bridge_focus_tracker);
atk_add_global_event_listener (bridge_property_event_listener, "Gtk:AtkObject:property-change");
-/* atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkObject:children-changed");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkObject:children-changed");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkObject:model-changed");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkObject:selection-changed");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkObject:visible-data-changed");
atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkText:text-changed");
- atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkText:text-caret-moved");*/
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkText:text-caret-moved");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkTable:row-inserted");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkTable:row-reordered");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkTable:row-deleted");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkTable:column-inserted");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkTable:column-reordered");
+ atk_add_global_event_listener (bridge_signal_listener, "Gtk:AtkTable:column-deleted");
+ atk_add_key_event_listener (bridge_key_listener, NULL);
}
static void bridge_exit_func()
{
fprintf (stderr, "exiting bridge\n");
- Accessibility_SpiRegistry_deregisterSpiApplication (registry,
+ Accessibility_Registry_deregisterApplication (registry,
CORBA_Object_duplicate (BONOBO_OBJREF (this_app), &ev),
&ev);
fprintf (stderr, "bridge exit func complete.\n");
e->source = CORBA_Object_duplicate (BONOBO_OBJREF (spi_accessible_new (object)), &ev);
e->detail1 = 0;
e->detail2 = 0;
- Accessibility_SpiRegistry_notifyEvent (registry, e, &ev);
+ Accessibility_Registry_notifyEvent (registry, e, &ev);
}
static gboolean
e->detail1 = 0;
e->detail2 = 0;
if (source)
- Accessibility_SpiRegistry_notifyEvent (registry, e, &ev);
+ Accessibility_Registry_notifyEvent (registry, e, &ev);
return TRUE;
}
+static gint
+bridge_key_listener (AtkImplementor *atk_impl, AtkKeyEventStruct *event, gpointer data)
+{
+ g_print ("bridge key listener!\n");
+}
+
static gboolean
bridge_signal_listener (GSignalInvocationHint *signal_hint,
guint n_param_values,
e->source = source;
e->detail1 = 0;
e->detail2 = 0;
- Accessibility_SpiRegistry_notifyEvent (registry, e, &ev);
+ Accessibility_Registry_notifyEvent (registry, e, &ev);
g_object_unref (aobject);
return TRUE;
}
-static Accessibility_SpiRegistry bridge_get_registry ()
+static Accessibility_Registry bridge_get_registry ()
{
return registry;
}