* Boston, MA 02111-1307, USA.
*/
-/*
- * component.c : bonobo wrapper for accessible component implementation
- *
- */
-#include <config.h>
-#include <bonobo/Bonobo.h>
+/* table.c : implements the Table interface */
+#include <config.h>
#include <stdio.h>
+#include <libspi/accessible.h>
+#include <libspi/table.h>
-/*
- * This pulls the CORBA definitions for the "Accessibility::Accessible" server
- */
-#include <libspi/Accessibility.h>
-
-/*
- * This pulls the definition of the Table bonobo object
- */
-#include "table.h"
-
-/*
- * Static function declarations
- */
+/* Static function declarations */
static void
-table_class_init (TableClass *klass);
+spi_table_class_init (SpiTableClass *klass);
static void
-table_init (Table *table);
+spi_table_init (SpiTable *table);
static void
-table_finalize (GObject *obj);
+spi_table_finalize (GObject *obj);
static Accessibility_Accessible
impl__get_caption (PortableServer_Servant _servant,
CORBA_Environment * ev);
static GObjectClass *parent_class;
GType
-table_get_type (void)
+spi_table_get_type (void)
{
static GType type = 0;
if (!type) {
static const GTypeInfo tinfo = {
- sizeof (TableClass),
+ sizeof (SpiTableClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
- (GClassInitFunc) table_class_init,
+ (GClassInitFunc) spi_table_class_init,
(GClassFinalizeFunc) NULL,
NULL, /* class data */
- sizeof (Table),
+ sizeof (SpiTable),
0, /* n preallocs */
- (GInstanceInitFunc) table_init,
+ (GInstanceInitFunc) spi_table_init,
NULL /* value table */
};
* use bonobo_type_unique.
*/
type = bonobo_type_unique (
- BONOBO_OBJECT_TYPE,
+ BONOBO_TYPE_OBJECT,
POA_Accessibility_Table__init,
NULL,
- G_STRUCT_OFFSET (TableClass, epv),
+ G_STRUCT_OFFSET (SpiTableClass, epv),
&tinfo,
- "AccessibleTable");
+ "SpiAccessibleTable");
}
return type;
}
static void
-table_class_init (TableClass *klass)
+spi_table_class_init (SpiTableClass *klass)
{
GObjectClass * object_class = (GObjectClass *) klass;
POA_Accessibility_Table__epv *epv = &klass->epv;
parent_class = g_type_class_peek_parent (klass);
- object_class->finalize = table_finalize;
+ object_class->finalize = spi_table_finalize;
/* Initialize epv table */
}
static void
-table_init (Table *table)
+spi_table_init (SpiTable *table)
{
}
static void
-table_finalize (GObject *obj)
+spi_table_finalize (GObject *obj)
{
- Table *table = TABLE (obj);
- table->atk_table = NULL;
+ SpiTable *table = SPI_TABLE (obj);
+ g_object_unref (table->atko);
+ table->atko = NULL;
parent_class->finalize (obj);
}
-Table *
-table_new (AtkTable *table)
+SpiTable *
+spi_table_interface_new (AtkObject *obj)
{
- Table *new_table =
- TABLE(g_object_new (TABLE_TYPE, NULL));
- new_table->atk_table = table;
+ SpiTable *new_table =
+ SPI_TABLE(g_object_new (SPI_TABLE_TYPE, NULL));
+ new_table->atko = obj;
+ g_object_ref (obj);
return new_table;
}
impl__get_caption (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
AtkObject *atk_object;
Accessibility_Accessible rv;
- atk_object = g_object_new (ATK_TYPE_OBJECT, NULL);
- atk_object_set_name (atk_object, atk_table_get_caption (table->atk_table));
- rv = bonobo_object_corba_objref (BONOBO_OBJECT(accessible_new(atk_object)));
- return rv;
+ atk_object = atk_table_get_caption (ATK_TABLE(table-> atko));
+ rv = bonobo_object_corba_objref (BONOBO_OBJECT(spi_accessible_new(atk_object)));
+ return CORBA_Object_duplicate (rv, ev);
}
impl__get_summary (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
AtkObject *atk_object;
Accessibility_Accessible rv;
- atk_object = atk_table_get_summary (table->atk_table);
- rv = bonobo_object_corba_objref (BONOBO_OBJECT(accessible_new(atk_object)));
- return rv;
+ atk_object = atk_table_get_summary (ATK_TABLE(table->atko));
+ rv = bonobo_object_corba_objref (BONOBO_OBJECT(spi_accessible_new(atk_object)));
+ return CORBA_Object_duplicate (rv, ev);
}
impl__get_nRows (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
- atk_table_get_n_rows (table->atk_table);
+ atk_table_get_n_rows (ATK_TABLE(table->atko) );
}
impl__get_nColumns (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
- atk_table_get_n_columns (table->atk_table);
+ atk_table_get_n_columns (ATK_TABLE(table->atko));
}
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
AtkObject *atk_object;
Accessibility_Accessible rv;
- atk_object = atk_table_ref_at (table->atk_table,
+ atk_object = atk_table_ref_at (ATK_TABLE(table->atko),
(gint) row, (gint) column);
- rv = bonobo_object_corba_objref (BONOBO_OBJECT(accessible_new(atk_object)));
- return rv;
+ rv = bonobo_object_corba_objref (BONOBO_OBJECT(spi_accessible_new(atk_object)));
+ return CORBA_Object_duplicate (rv, ev);
}
const CORBA_long row, const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
- atk_table_get_index_at (table->atk_table,
+ atk_table_get_index_at (ATK_TABLE(table->atko),
(gint) row, (gint) column);
}
const CORBA_long index,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
- atk_table_get_row_at_index (table->atk_table, (gint) index);
+ atk_table_get_row_at_index (ATK_TABLE(table->atko), (gint) index);
}
const CORBA_long index,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
- atk_table_get_column_at_index (table->atk_table, (gint) index);
+ atk_table_get_column_at_index (ATK_TABLE(table->atko), (gint) index);
}
static CORBA_string
-impl_getRowDescription (PortableServer_Servant _servant,
- const CORBA_long row,
- CORBA_Environment * ev)
+impl_getRowDescription (PortableServer_Servant servant,
+ const CORBA_long row,
+ CORBA_Environment *ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
- return CORBA_string_dup (
- atk_table_get_row_description (table->atk_table, (gint) row));
+ const char *rv;
+ SpiTable *table;
+
+ table = SPI_TABLE (bonobo_object_from_servant (servant));
+
+ rv = atk_table_get_row_description (ATK_TABLE (table->atko), row);
+
+ if (rv)
+ return CORBA_string_dup (rv);
+ else
+ return CORBA_string_dup ("");
}
static CORBA_string
-impl_getColumnDescription (PortableServer_Servant _servant,
- const CORBA_long column,
- CORBA_Environment * ev)
+impl_getColumnDescription (PortableServer_Servant servant,
+ const CORBA_long column,
+ CORBA_Environment *ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
- return CORBA_string_dup (
- atk_table_get_column_description (table->atk_table, (gint) column));
+ const char *rv;
+ SpiTable *table;
+
+ table = SPI_TABLE (bonobo_object_from_servant (servant));
+
+ rv = atk_table_get_row_description (ATK_TABLE (table->atko), column);
+
+ if (rv)
+ return CORBA_string_dup (rv);
+ else
+ return CORBA_string_dup ("");
}
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
- atk_table_get_row_extent_at (table->atk_table,
+ atk_table_get_row_extent_at (ATK_TABLE(table->atko),
(gint) row, (gint) column);
}
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
- atk_table_get_column_extent_at (table->atk_table,
+ atk_table_get_column_extent_at (ATK_TABLE(table->atko),
(gint) row, (gint) column);
}
const CORBA_long row,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
AtkObject *header;
Accessibility_Table rv;
- header = atk_table_get_row_header (table->atk_table, (gint) row);
- rv = bonobo_object_corba_objref (BONOBO_OBJECT(accessible_new(header)));
- return rv;
+ header = atk_table_get_row_header (ATK_TABLE(table->atko), (gint) row);
+ rv = bonobo_object_corba_objref (BONOBO_OBJECT(spi_accessible_new(header)));
+ return CORBA_Object_duplicate (rv, ev);
}
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
AtkObject *header;
Accessibility_Table rv;
- header = atk_table_get_column_header (table->atk_table, (gint) column);
- rv = bonobo_object_corba_objref (BONOBO_OBJECT(accessible_new(header)));
- return rv;
+ header = atk_table_get_column_header (ATK_TABLE(table->atko), (gint) column);
+ rv = bonobo_object_corba_objref (BONOBO_OBJECT(spi_accessible_new(header)));
+ return CORBA_Object_duplicate (rv, ev);
}
impl_getSelectedRows (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
gint *selectedRows;
gint length;
Accessibility_LongSeq *retval;
- length = atk_table_get_selected_rows (table->atk_table, &selectedRows);
+ length = atk_table_get_selected_rows (ATK_TABLE(table->atko), &selectedRows);
g_return_val_if_fail (length, NULL);
retval = Accessibility_LongSeq__alloc ();
impl_getSelectedColumns (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
gint *selectedColumns;
gint length;
Accessibility_LongSeq *retval;
- length = atk_table_get_selected_columns (table->atk_table, &selectedColumns);
+ length = atk_table_get_selected_columns (ATK_TABLE(table->atko), &selectedColumns);
g_return_val_if_fail (length, NULL);
const CORBA_long row,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_boolean)
- atk_table_is_row_selected (table->atk_table, (gint) row);
+ atk_table_is_row_selected (ATK_TABLE(table->atko), (gint) row);
}
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_boolean)
- atk_table_is_column_selected (table->atk_table, (gint) column);
+ atk_table_is_column_selected (ATK_TABLE(table->atko), (gint) column);
}
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_boolean)
- atk_table_is_selected (table->atk_table,
+ atk_table_is_selected (ATK_TABLE(table->atko),
(gint) row, (gint) column);
}