"Unfixed" some things :-). cleaned up and made some of the namespace changes more...
[platform/core/uifw/at-spi2-atk.git] / cspi / spi_text.c
index 45950ad..8d15f57 100644 (file)
@@ -1,6 +1,3 @@
-#include "spi-util.h"
-
-
 int
 AccessibleText_ref (AccessibleText *obj)
 {
@@ -22,8 +19,15 @@ AccessibleText_unref (AccessibleText *obj)
 long
 AccessibleText_getCharacterCount (AccessibleText *obj)
 {
-  return (long)
+  long retval;
+
+  CORBA_exception_init (&ev);
+  retval = (long)
     Accessibility_Text__get_characterCount (*obj, &ev);
+
+  spi_check_ev (&ev, "SpiAccessibleText_getCharacterCount");
+
+  return retval;
 }
 
 
@@ -33,13 +37,14 @@ AccessibleText_getText (AccessibleText *obj,
                         long startOffset,
                         long endOffset)
 {
-  return string_from_corba_string (
-                                  Accessibility_Text_getText (*obj,
-                                                              (CORBA_long) startOffset, (CORBA_long) endOffset, &ev));
+  return (char *)
+    Accessibility_Text_getText (*obj,
+                               (CORBA_long) startOffset, (CORBA_long) endOffset, &ev);
 }
 
 
 
+
 long
 AccessibleText_getCaretOffset (AccessibleText *obj)
 {
@@ -51,15 +56,21 @@ AccessibleText_getCaretOffset (AccessibleText *obj)
 
 char *
 AccessibleText_getAttributes (AccessibleText *obj,
-                                long offset,
-                                long *startOffset,
-                                long *endOffset)
+                             long offset,
+                             long *startOffset,
+                             long *endOffset)
 {
-  return string_from_corba_string (
-                                  Accessibility_Text_getAttributes (*obj,
-                                                                       (CORBA_long) offset,
-                                                                       (CORBA_long *) startOffset,
-                                                                       (CORBA_long *) endOffset, &ev));
+  CORBA_long retStartOffset, retEndOffset;
+  char *retval;        
+  retval = (char *)
+    Accessibility_Text_getAttributes (*obj,
+                                     (CORBA_long) offset,
+                                     &retStartOffset,
+                                     &retEndOffset,
+                                     &ev);
+  *startOffset = (long) retStartOffset;
+  *endOffset = (long) retEndOffset;
+  return retval;
 }
 
 
@@ -78,53 +89,73 @@ AccessibleText_setCaretOffset (AccessibleText *obj,
 char *
 AccessibleText_getTextBeforeOffset (AccessibleText *obj,
                                     long offset,
-                                    TEXT_BOUNDARY_TYPE type,
+                                    AccessibleTextBoundaryType type,
                                    long *startOffset, long *endOffset)
 {
-  return string_from_corba_string (
-                                  Accessibility_Text_getTextBeforeOffset (*obj,
-                                                                          (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
-                                                                          (CORBA_long *) startOffset, (CORBA_long *) endOffset,
-                                                                          &ev));
+  char *retval;
+  CORBA_long retStartOffset, retEndOffset;
+  retval = (char *)
+    Accessibility_Text_getTextBeforeOffset (*obj,
+                                          (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
+                                          &retStartOffset, &retEndOffset,
+                                          &ev);
+  *startOffset = (long) retStartOffset;
+  *endOffset = (long) retEndOffset;
+  return retval;
 }
 
 
 
 char *
 AccessibleText_getTextAtOffset (AccessibleText *obj,
-                                    long offset,
-                                    TEXT_BOUNDARY_TYPE type,
-                                   long *startOffset, long *endOffset)
+                               long offset,
+                               AccessibleTextBoundaryType type,
+                               long *startOffset, long *endOffset)
 {
-  return string_from_corba_string (
-                                  Accessibility_Text_getTextAtOffset (*obj,
-                                                                          (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
-                                                                          (CORBA_long *) startOffset, (CORBA_long *) endOffset,
-                                                                          &ev));
+  CORBA_long corbaStartOffset;
+  CORBA_long corbaEndOffset;
+  char *retval = "";
+  retval = Accessibility_Text_getTextAtOffset (*obj,
+                                              (CORBA_long) offset,
+                                              (Accessibility_TEXT_BOUNDARY_TYPE) type,
+                                              &corbaStartOffset,
+                                              &corbaEndOffset,
+                                              &ev);
+  *startOffset = (long) corbaStartOffset;
+  *endOffset = (long) corbaEndOffset;
+#ifdef SPI_DEBUG
+  fprintf (stderr, "text offsets %ld to %ld\n", *startOffset, *endOffset);
+#endif
+  return retval;
 }
 
 
 
 char *
 AccessibleText_getTextAfterOffset (AccessibleText *obj,
-                                    long offset,
-                                    TEXT_BOUNDARY_TYPE type,
-                                   long *startOffset, long *endOffset)
+                                  long offset,
+                                  AccessibleTextBoundaryType type,
+                                  long *startOffset, long *endOffset)
 {
-  return string_from_corba_string (
-                                  Accessibility_Text_getTextAfterOffset (*obj,
-                                                                          (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
-                                                                          (CORBA_long *) startOffset, (CORBA_long *) endOffset,
-                                                                          &ev));
+  char *retval;
+  CORBA_long retStartOffset, retEndOffset;
+  retval = (char *)
+    Accessibility_Text_getTextAfterOffset (*obj,
+                                          (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
+                                          &retStartOffset, &retEndOffset,
+                                          &ev);
+  *startOffset = (long) retStartOffset;
+  *endOffset = (long) retEndOffset;
+  return retval;
 }
 
 
 
-char
+unsigned long
 AccessibleText_getCharacterAtOffset (AccessibleText *obj,
                                      long offset)
 {
-  return (char)
+  return (unsigned long)
     Accessibility_Text_getCharacterAtOffset (*obj,
                                             (CORBA_long) offset, &ev);
 }
@@ -140,13 +171,18 @@ AccessibleText_getCharacterExtents (AccessibleText *obj,
                                     long *height,
                                    AccessibleCoordType type)
 {
+  CORBA_long retX, retY, retWidth, retHeight;
   Accessibility_Text_getCharacterExtents (*obj,
                                          (CORBA_long) offset,
-                                         (CORBA_long *) x,
-                                         (CORBA_long *) y,
-                                         (CORBA_long *) width,
-                                         (CORBA_long *) height, 
+                                         &retX,
+                                         &retY,
+                                         &retWidth,
+                                         &retHeight,
                                          (CORBA_short) type, &ev);
+  *x = (long) retX;
+  *y = (long) retY;
+  *width = (long) retWidth;
+  *height = (long) retHeight;
 }
 
 
@@ -163,7 +199,6 @@ AccessibleText_getOffsetAtPoint (AccessibleText *obj,
 }
 
 
-
 long
 AccessibleText_getNSelections (AccessibleText *obj)
 {
@@ -178,10 +213,13 @@ AccessibleText_getSelection (AccessibleText *obj,
                             long selectionNum, long *startOffset,
                             long *endOffset)
 {
+  CORBA_long retStartOffset, retEndOffset;
   Accessibility_Text_getSelection (*obj,
                                   (CORBA_long) selectionNum,
-                                  (CORBA_long *) startOffset,
-                                  (CORBA_long *) endOffset, &ev);
+                                  &retStartOffset, &retEndOffset, &ev);
+  
+  *startOffset = (long) retStartOffset;
+  *endOffset = (long) retEndOffset;
 }
 
 
@@ -197,7 +235,6 @@ AccessibleText_addSelection (AccessibleText *obj,
 }
 
 
-
 boolean
 AccessibleText_removeSelection (AccessibleText *obj,
                                long selectionNum)
@@ -219,7 +256,7 @@ AccessibleText_setSelection (AccessibleText *obj,
     Accessibility_Text_setSelection (*obj,
                                     (CORBA_long) selectionNum,
                                     (CORBA_long) startOffset,
- (CORBA_long) endOffset, &ev);
                                   (CORBA_long) endOffset, &ev);
 }