Removed intltool dependency and translation of .server file. Fixes bug 322846.
[platform/core/uifw/at-spi2-atk.git] / cspi / spi_table.c
index da14c99..00421e8 100644 (file)
@@ -1,3 +1,26 @@
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * Copyright 2001, 2002 Sun Microsystems Inc.,
+ * Copyright 2001, 2002 Ximian, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
 #include <stdlib.h> /* for malloc */
 #include <cspi/spi-private.h>
 
@@ -36,8 +59,14 @@ AccessibleTable_unref (AccessibleTable *obj)
 Accessible *
 AccessibleTable_getCaption (AccessibleTable *obj)
 {
-  return cspi_object_add (
-    Accessibility_Table__get_caption (CSPI_OBJREF (obj), cspi_ev ()));
+  Accessible *retval;
+
+  cspi_return_val_if_fail (obj != NULL, NULL);
+
+  retval =  cspi_object_add (
+                            Accessibility_Table__get_caption (CSPI_OBJREF (obj), cspi_ev ()));
+  cspi_return_val_if_ev ("getCaption", NULL);
+  return retval;
 }
 
 /**
@@ -52,8 +81,14 @@ AccessibleTable_getCaption (AccessibleTable *obj)
 Accessible *
 AccessibleTable_getSummary (AccessibleTable *obj)
 {
-  return cspi_object_add (
-    Accessibility_Table__get_summary (CSPI_OBJREF (obj), cspi_ev ()));
+  Accessible *retval;
+
+  cspi_return_val_if_fail (obj != NULL, NULL);
+
+retval = cspi_object_add (
+                         Accessibility_Table__get_summary (CSPI_OBJREF (obj), cspi_ev ()));
+ cspi_return_val_if_ev ("getSummary", NULL);
+ return retval;
 }
 
 /**
@@ -102,7 +137,7 @@ AccessibleTable_getNColumns (AccessibleTable *obj)
   retval =
     Accessibility_Table__get_nColumns (CSPI_OBJREF (obj), cspi_ev ());
          
-  cspi_return_val_if_ev ("", -1);
+  cspi_return_val_if_ev ("getNColumns", -1);
 
   return retval;
 }
@@ -124,10 +159,16 @@ AccessibleTable_getAccessibleAt (AccessibleTable *obj,
                                  long int row,
                                  long int column)
 {
-  return cspi_object_add (
-    Accessibility_Table_getAccessibleAt (
-      CSPI_OBJREF (obj), (CORBA_long) row,
-      (CORBA_long) column, cspi_ev ()));
+  Accessible *retval;
+
+  cspi_return_val_if_fail (obj != NULL, NULL);
+
+  retval = cspi_object_add (
+                           Accessibility_Table_getAccessibleAt (
+                                                                CSPI_OBJREF (obj), row,
+                                                                column, cspi_ev ()));
+  cspi_return_val_if_ev ("getAccessibleAt", NULL);
+ return retval;
 }
 
 /**
@@ -155,8 +196,8 @@ AccessibleTable_getIndexAt (AccessibleTable *obj,
 
   retval =
     Accessibility_Table_getIndexAt (
-      CSPI_OBJREF (obj), (CORBA_long) row,
-      (CORBA_long) column, cspi_ev ());
+      CSPI_OBJREF (obj), row,
+      column, cspi_ev ());
          
   cspi_return_val_if_ev ("getIndexAt", -1);
 
@@ -185,9 +226,9 @@ AccessibleTable_getRowAtIndex (AccessibleTable *obj,
 
   retval =
     Accessibility_Table_getRowAtIndex (CSPI_OBJREF (obj),
-                                      (CORBA_long) index, cspi_ev ());
+                                      index, cspi_ev ());
          
-  cspi_return_val_if_ev ("", -1);
+  cspi_return_val_if_ev ("getRowAtIndex", -1);
 
   return retval;
 }
@@ -214,7 +255,7 @@ AccessibleTable_getColumnAtIndex (AccessibleTable *obj,
 
   retval =
     Accessibility_Table_getColumnAtIndex (CSPI_OBJREF (obj),
-                                         (CORBA_long) index, cspi_ev ());
+                                         index, cspi_ev ());
          
   cspi_return_val_if_ev ("getColumnAtIndex", -1);
 
@@ -241,7 +282,7 @@ AccessibleTable_getRowDescription (AccessibleTable *obj,
 
   retval =
     Accessibility_Table_getRowDescription (CSPI_OBJREF (obj),
-                                          (CORBA_long) row, cspi_ev ());
+                                          row, cspi_ev ());
          
   cspi_return_val_if_ev ("getRowDescription", NULL);
 
@@ -268,7 +309,7 @@ AccessibleTable_getColumnDescription (AccessibleTable *obj,
 
   retval =
     Accessibility_Table_getColumnDescription (CSPI_OBJREF (obj),
-                                             (CORBA_long) column, cspi_ev ());
+                                             column, cspi_ev ());
 
   cspi_return_val_if_ev ("getColumnDescription", NULL);
 
@@ -297,8 +338,8 @@ AccessibleTable_getRowExtentAt (AccessibleTable *obj,
 
   retval =
     Accessibility_Table_getRowExtentAt (
-      CSPI_OBJREF (obj), (CORBA_long) row,
-      (CORBA_long) column, cspi_ev ());
+      CSPI_OBJREF (obj), row,
+      column, cspi_ev ());
          
   cspi_return_val_if_ev ("getRowExtentAt", -1);
 
@@ -327,8 +368,8 @@ AccessibleTable_getColumnExtentAt (AccessibleTable *obj,
 
   retval =
     Accessibility_Table_getColumnExtentAt (
-      CSPI_OBJREF (obj), (CORBA_long) row,
-      (CORBA_long) column, cspi_ev ());
+      CSPI_OBJREF (obj), row,
+      column, cspi_ev ());
          
   cspi_return_val_if_ev ("getColumnExtentAt", -1);
 
@@ -349,9 +390,16 @@ Accessible *
 AccessibleTable_getRowHeader (AccessibleTable *obj,
                              long int         row)
 {
-  return cspi_object_add (
-    Accessibility_Table_getRowHeader (CSPI_OBJREF (obj),
-                                     (CORBA_long) row, cspi_ev ()));
+  Accessible *retval;
+
+  cspi_return_val_if_fail (obj != NULL, NULL);
+
+  retval = cspi_object_add (
+                           Accessibility_Table_getRowHeader (CSPI_OBJREF (obj),
+                                                             row, cspi_ev ()));
+  cspi_return_val_if_ev ("getRowHeader", NULL);
+
+ return retval;
 }
 
 /**
@@ -368,9 +416,16 @@ Accessible *
 AccessibleTable_getColumnHeader (AccessibleTable *obj,
                                 long int column)
 {
-  return cspi_object_add (
-    Accessibility_Table_getColumnHeader (CSPI_OBJREF (obj),
-                                     (CORBA_long) column, cspi_ev ()));
+  Accessible *retval;
+
+  cspi_return_val_if_fail (obj != NULL, NULL);
+
+  retval = cspi_object_add (
+                           Accessibility_Table_getColumnHeader (CSPI_OBJREF (obj),
+                                                                column, cspi_ev ()));
+  cspi_return_val_if_ev ("getColumnHeader", NULL);
+
+  return retval;
 }
 
 /**
@@ -400,7 +455,8 @@ AccessibleTable_getNSelectedRows (AccessibleTable *obj)
 static long
 cspi_long_seq_to_array (Accessibility_LongSeq *seq, long int **array)
 {
-  long *j, length, i;
+  long *j;
+  long length, i;
 
   if (!cspi_check_ev ("getSelectionItems"))
     {
@@ -444,6 +500,8 @@ AccessibleTable_getSelectedRows (AccessibleTable *obj,
 
   rows = Accessibility_Table_getSelectedRows (CSPI_OBJREF (obj), cspi_ev ());
 
+  cspi_return_val_if_ev ("getSelectedRows", -1);
+
   return cspi_long_seq_to_array (rows, selectedRows);
 }
 
@@ -451,7 +509,7 @@ AccessibleTable_getSelectedRows (AccessibleTable *obj,
  * AccessibleTable_getNSelectedColumns:
  * @obj: a pointer to the #AccessibleTable implementor on which to operate.
  *
- * Query a table to find out how many columnss are currently selected.  Not all tables
+ * Query a table to find out how many columns are currently selected.  Not all tables
  *  support column selection.
  *
  * Returns: a long integer indicating the number of columns currently selected.
@@ -494,6 +552,7 @@ AccessibleTable_getSelectedColumns (AccessibleTable *obj,
 
   columns = Accessibility_Table_getSelectedColumns (CSPI_OBJREF (obj), cspi_ev ());
 
+  cspi_return_val_if_ev ("getSelectedColumns", -1);
   return cspi_long_seq_to_array (columns, selectedColumns);
 }
 
@@ -516,7 +575,7 @@ AccessibleTable_isRowSelected (AccessibleTable *obj,
 
   retval =
     Accessibility_Table_isRowSelected (CSPI_OBJREF (obj),
-                                      (CORBA_long) row, cspi_ev ());
+                                      row, cspi_ev ());
 
   cspi_return_val_if_ev ("isRowSelected", FALSE);
 
@@ -543,7 +602,7 @@ AccessibleTable_isColumnSelected (AccessibleTable *obj,
 
   retval =
     Accessibility_Table_isColumnSelected (CSPI_OBJREF (obj),
-                                         (CORBA_long) column, cspi_ev ());
+                                         column, cspi_ev ());
          
   cspi_return_val_if_ev ("isColumnSelected", FALSE);
 
@@ -551,6 +610,114 @@ AccessibleTable_isColumnSelected (AccessibleTable *obj,
 }
 
 /**
+ * AccessibleTable_addRowSelection:
+ * @obj: a pointer to the #AccessibleTable implementor on which to operate.
+ * @row:
+ *
+ * Select the specified row, adding it to the current row selection.
+ * Not all tables support row selection.
+ *
+ * Returns: #TRUE if the specified row was successfully selected, #FALSE if not.
+ **/
+SPIBoolean
+AccessibleTable_addRowSelection (AccessibleTable *obj,
+                                long int         row)
+{
+  SPIBoolean retval;
+
+  cspi_return_val_if_fail (obj != NULL, FALSE);
+
+  retval =
+    Accessibility_Table_addRowSelection (CSPI_OBJREF (obj),
+                                        row, cspi_ev ());
+         
+  cspi_return_val_if_ev ("addRowSelection", FALSE);
+
+  return retval;
+}
+
+/**
+ * AccessibleTable_addColumnSelection:
+ * @obj: a pointer to the #AccessibleTable implementor on which to operate.
+ * @column:
+ *
+ * Select the specified column, adding it to the current column selection.
+ * Not all tables support column selection.
+ *
+ * Returns: #TRUE if the specified column was successfully selected, #FALSE if not.
+ **/
+SPIBoolean
+AccessibleTable_addColumnSelection (AccessibleTable *obj,
+                                   long int         column)
+{
+  SPIBoolean retval;
+
+  cspi_return_val_if_fail (obj != NULL, FALSE);
+
+  retval =
+    Accessibility_Table_addColumnSelection (CSPI_OBJREF (obj),
+                                           column, cspi_ev ());
+         
+  cspi_return_val_if_ev ("addColumnSelection", FALSE);
+
+  return retval;
+}
+
+/**
+ * AccessibleTable_removeRowSelection:
+ * @obj: a pointer to the #AccessibleTable implementor on which to operate.
+ * @row:
+ *
+ * De-select the specified row, removing it to the current row selection.
+ * Not all tables support row selection.
+ *
+ * Returns: #TRUE if the specified row was successfully de-selected, #FALSE if not.
+ **/
+SPIBoolean
+AccessibleTable_removeRowSelection (AccessibleTable *obj,
+                                   long int         row)
+{
+  SPIBoolean retval;
+
+  cspi_return_val_if_fail (obj != NULL, FALSE);
+
+  retval =
+    Accessibility_Table_removeRowSelection (CSPI_OBJREF (obj),
+                                           row, cspi_ev ());
+         
+  cspi_return_val_if_ev ("removeRowSelection", FALSE);
+
+  return retval;
+}
+
+/**
+ * AccessibleTable_removeColumnSelection:
+ * @obj: a pointer to the #AccessibleTable implementor on which to operate.
+ * @column:
+ *
+ * De-select the specified column, removing it to the current column selection.
+ * Not all tables support column selection.
+ *
+ * Returns: #TRUE if the specified column was successfully de-selected, #FALSE if not.
+ **/
+SPIBoolean
+AccessibleTable_removeColumnSelection (AccessibleTable *obj,
+                                      long int         column)
+{
+  SPIBoolean retval;
+
+  cspi_return_val_if_fail (obj != NULL, FALSE);
+
+  retval =
+    Accessibility_Table_removeColumnSelection (CSPI_OBJREF (obj),
+                                              column, cspi_ev ());
+         
+  cspi_return_val_if_ev ("removeColumnSelection", FALSE);
+
+  return retval;
+}
+
+/**
  * AccessibleTable_isSelected:
  * @obj: a pointer to the #AccessibleTable implementor on which to operate.
  * @row:
@@ -571,8 +738,8 @@ AccessibleTable_isSelected (AccessibleTable *obj,
 
   retval =
     Accessibility_Table_isSelected (CSPI_OBJREF (obj),
-                                   (CORBA_long) row,
-                                   (CORBA_long) column, cspi_ev ());
+                                   row,
+                                   column, cspi_ev ());
          
   cspi_return_val_if_ev ("isSelected", FALSE);