Add atk-bridge
[platform/core/uifw/at-spi2-atk.git] / cspi / spi_editabletext.c
index e64bf2d..30b0fd5 100644 (file)
@@ -1,3 +1,28 @@
+/*
+ * 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 <cspi/spi-private.h>
+
 /**
  * AccessibleEditableText_ref:
  * @obj: a pointer to the #AccessibleEditableText object on which to operate.
  * Increment the reference count for an #AccessibleEditableText object.
  *       Since AccessibleEditableText is derived from AccessibleText,
  *       this is the same as AccessibleText_ref().
- *
- * Returns: (no return code implemented yet).
- *
  **/
-int
+void
 AccessibleEditableText_ref (AccessibleEditableText *obj)
 {
-  Accessibility_EditableText_ref (*obj, &ev);
-  return 0;
+  cspi_object_ref (obj);
 }
 
-
-
 /**
- * AccessibleEditableText_ref:
+ * AccessibleEditableText_unref:
  * @obj: a pointer to the #AccessibleEditableText object on which to operate.
  *
  * Decrement the reference count for an #AccessibleEdiitableText object.
  *       Since AccessibleEditableText is derived from AccessibleText,
  *       this is the same as AccessibleText_unref().
- *
- * Returns: (no return code implemented yet).
- *
  **/
-int
+void
 AccessibleEditableText_unref (AccessibleEditableText *obj)
 {
-  Accessibility_EditableText_unref (*obj, &ev);
-  return 0;
+  cspi_object_unref (obj);
 }
 
-
-
 /**
  * AccessibleEditableText_setAttributes:
  * @obj: a pointer to the #AccessibleEditableText object to modify.
+ * @attributes: a character string indicating the attributes to apply to the range,
+ *        delimited by ':'.
  * @startOffset: a #long indicating the start of the desired text range.
  * @endOffset: a #long indicating the first character past the desired range.
  *
@@ -48,22 +63,27 @@ AccessibleEditableText_unref (AccessibleEditableText *obj)
  *          object, and the bounds of the range.
  *
  * Returns: #TRUE if the operation was successful, otherwise #FALSE.
- *
  **/
-boolean
+SPIBoolean
 AccessibleEditableText_setAttributes (AccessibleEditableText *obj,
                                      const char *attributes,
                                      long int startPos,
                                      long int endPos)
 {
-  return (boolean)
-    Accessibility_EditableText_setAttributes (*obj,
-                                             (CORBA_char *) attributes,
-                                             (CORBA_long) startPos,
-                                             (CORBA_long) endPos, &ev);
-}
+  SPIBoolean retval;
+
+  cspi_return_val_if_fail (obj != NULL, FALSE);
 
+  retval = 
+    Accessibility_EditableText_setAttributes (CSPI_OBJREF (obj),
+                                             attributes,
+                                             startPos,
+                                             endPos, cspi_ev ());
 
+  cspi_return_val_if_ev ("setAttributes", FALSE);
+
+  return retval;
+}
 
 /**
  * AccessibleEditableText_setTextContents:
@@ -74,18 +94,22 @@ AccessibleEditableText_setAttributes (AccessibleEditableText *obj,
  * Replace the entire text contents of an #AccessibleEditableText object.
  *
  * Returns: #TRUE if the operation was successful, otherwise #FALSE.
- *
  **/
-boolean
+SPIBoolean
 AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
                                         const char *newContents)
 {
-  Accessibility_EditableText_setTextContents (*obj,
-                                             (CORBA_char *) newContents, &ev);
-  return TRUE; /* TODO: make bonobo method return a boolean */
-}
+  SPIBoolean retval;
+
+  cspi_return_val_if_fail (obj != NULL, FALSE);
 
+  retval = Accessibility_EditableText_setTextContents (CSPI_OBJREF (obj),
+                                                                         newContents, cspi_ev ());
 
+  cspi_return_val_if_ev ("setTextContents", FALSE);
+
+  return retval;
+}
 
 /**
  * AccessibleEditableText_insertText:
@@ -101,21 +125,25 @@ AccessibleEditableText_setTextContents (AccessibleEditableText *obj,
  *       variable-width encoding.
  *
  * Returns: #TRUE if the operation was successful, otherwise #FALSE.
- *
  **/
-boolean
+SPIBoolean
 AccessibleEditableText_insertText (AccessibleEditableText *obj,
                                    long int position,
-                                   char *text,
+                                   const char *text,
                                    long int length)
 {
-  Accessibility_EditableText_insertText (*obj,
-                                        (CORBA_long) position, (CORBA_char *) text,
-                                        (CORBA_long) length, &ev);
-  return TRUE;
-}
+  SPIBoolean retval;
 
+  cspi_return_val_if_fail (obj != NULL, FALSE);
 
+  retval = Accessibility_EditableText_insertText (CSPI_OBJREF (obj),
+                                        position, text,
+                                        length, cspi_ev ());
+
+  cspi_return_val_if_ev ("insertText", FALSE);
+
+  return retval;
+}
 
 /**
  * AccessibleEditableText_copyText:
@@ -130,19 +158,23 @@ AccessibleEditableText_insertText (AccessibleEditableText *obj,
  * @see: AccessibleEditableText_pasteText 
  *
  * Returns: #TRUE if the operation was successful, otherwise #FALSE.
- *
  **/
-boolean
+SPIBoolean
 AccessibleEditableText_copyText (AccessibleText *obj,
                                  long int startPos,
                                  long int endPos)
 {
-  Accessibility_EditableText_copyText (*obj,
-                                      (CORBA_long) startPos, (CORBA_long) endPos, &ev);
+  cspi_return_val_if_fail (obj != NULL, FALSE);
+
+  Accessibility_EditableText_copyText (
+    CSPI_OBJREF (obj), startPos,
+    endPos, cspi_ev ());
+
+  cspi_return_val_if_ev ("copyText", FALSE);
+
   return TRUE;
 }
 
-
 /**
  * AccessibleEditableText_cutText:
  * @obj: a pointer to the #AccessibleEditableText object to modify.
@@ -157,19 +189,24 @@ AccessibleEditableText_copyText (AccessibleText *obj,
  * @see: AccessibleEditableText_pasteText
  *
  * Returns: #TRUE if operation was successful, #FALSE otherwise.
- *
  **/
-boolean
+SPIBoolean
 AccessibleEditableText_cutText (AccessibleEditableText *obj,
                                 long int startPos,
                                 long int endPos)
 {
-  Accessibility_EditableText_cutText (*obj,
-                                      (CORBA_long) startPos, (CORBA_long) endPos, &ev);
-  return TRUE;
-}
+  SPIBoolean retval;
 
+  cspi_return_val_if_fail (obj != NULL, FALSE);
 
+  retval = Accessibility_EditableText_cutText (
+    CSPI_OBJREF (obj),
+    startPos, endPos, cspi_ev ());
+
+  cspi_return_val_if_ev ("cutText", FALSE);
+
+  return retval;
+}
 
 /**
  * AccessibleEditableText_deleteText:
@@ -185,19 +222,24 @@ AccessibleEditableText_cutText (AccessibleEditableText *obj,
  * @see: AccessibleEditableText_cutText
  *
  * Returns: #TRUE if the operation was successful, otherwise #FALSE.
- *
  **/
-boolean
+SPIBoolean
 AccessibleEditableText_deleteText (AccessibleEditableText *obj,
                                    long startPos,
                                    long endPos)
 {
-  Accessibility_EditableText_deleteText (*obj,
-                                      (CORBA_long) startPos, (CORBA_long) endPos, &ev);
-  return TRUE;
-}
+  SPIBoolean retval;
+
+  cspi_return_val_if_fail (obj != NULL, FALSE);
 
+  retval = Accessibility_EditableText_deleteText (
+    CSPI_OBJREF (obj),
+    startPos, endPos, cspi_ev ());
 
+  cspi_return_val_if_ev ("deleteText", FALSE);
+
+  return retval;
+}
 
 /**
  * AccessibleEditableText_pasteText:
@@ -211,14 +253,19 @@ AccessibleEditableText_deleteText (AccessibleEditableText *obj,
  *       variable-width encoding.
  *
  * Returns: #TRUE if the operation was successful, otherwise #FALSE.
- *
  **/
-boolean
+SPIBoolean
 AccessibleEditableText_pasteText (AccessibleEditableText *obj,
                                   long int position)
 {
-  Accessibility_EditableText_pasteText (*obj,
-                                       (CORBA_long) position, &ev);
-  return TRUE;
-}
+  SPIBoolean retval;
+
+  cspi_return_val_if_fail (obj != NULL, FALSE);
 
+  retval = Accessibility_EditableText_pasteText (
+    CSPI_OBJREF (obj), position, cspi_ev ());
+
+  cspi_return_val_if_ev ("pasteText", FALSE);
+
+  return retval;
+}