#include <cspi/spi-private.h>
+static Accessibility_TEXT_BOUNDARY_TYPE
+get_accessible_text_boundary_type (
+ AccessibleTextBoundaryType type)
+{
+ switch (type)
+ {
+ case SPI_TEXT_BOUNDARY_CHAR:
+ return Accessibility_TEXT_BOUNDARY_CHAR;
+ break;
+ case SPI_TEXT_BOUNDARY_CURSOR_POS:
+ /* FixME */
+ return Accessibility_TEXT_BOUNDARY_CHAR;
+ break;
+ case SPI_TEXT_BOUNDARY_WORD_START:
+ return Accessibility_TEXT_BOUNDARY_WORD_START;
+ break;
+ case SPI_TEXT_BOUNDARY_WORD_END:
+ return Accessibility_TEXT_BOUNDARY_WORD_END;
+ break;
+ case SPI_TEXT_BOUNDARY_SENTENCE_START:
+ return Accessibility_TEXT_BOUNDARY_SENTENCE_START;
+ break;
+ case SPI_TEXT_BOUNDARY_SENTENCE_END:
+ return Accessibility_TEXT_BOUNDARY_SENTENCE_END;
+ break;
+ case SPI_TEXT_BOUNDARY_LINE_START:
+ return Accessibility_TEXT_BOUNDARY_LINE_START;
+ break;
+ case SPI_TEXT_BOUNDARY_LINE_END:
+ return Accessibility_TEXT_BOUNDARY_LINE_END;
+ break;
+ case SPI_TEXT_BOUNDARY_ATTRIBUTE_RANGE:
+ /* Fixme */
+ return Accessibility_TEXT_BOUNDARY_CHAR;
+ break;
+ }
+}
+
+
/**
* AccessibleText_ref:
* @obj: a pointer to the #AccessibleText object on which to operate.
cspi_return_val_if_fail (obj != NULL, -1);
- retval = (long)
- Accessibility_Text__get_characterCount (CSPI_OBJREF (obj), cspi_ev ());
+ retval = Accessibility_Text__get_characterCount (CSPI_OBJREF (obj), cspi_ev ());
cspi_return_val_if_ev ("getCharacterCount", -1);
retval =
Accessibility_Text_getText (CSPI_OBJREF (obj),
- (CORBA_long) startOffset,
- (CORBA_long) endOffset,
+ startOffset,
+ endOffset,
cspi_ev ());
cspi_return_val_if_ev ("getText", NULL);
if (obj == NULL)
{
- *startOffset = *endOffset = 0;
+ *startOffset = *endOffset = -1;
return NULL;
}
- retval = (char *)
- Accessibility_Text_getAttributes (CSPI_OBJREF (obj),
- (CORBA_long) offset,
+ retval = Accessibility_Text_getAttributes (CSPI_OBJREF (obj),
+ offset,
&retStartOffset,
&retEndOffset,
cspi_ev ());
if (!cspi_check_ev ("getAttributes"))
{
- *startOffset = *endOffset = 0;
+ *startOffset = *endOffset = -1;
+ retval = NULL;
}
else
{
retval =
Accessibility_Text_setCaretOffset (CSPI_OBJREF (obj),
- (CORBA_long) newOffset, cspi_ev ());
+ newOffset, cspi_ev ());
cspi_return_val_if_ev ("setCaretOffset", FALSE);
{
char *retval;
CORBA_long retStartOffset, retEndOffset;
- retval = (char *)
- Accessibility_Text_getTextBeforeOffset (CSPI_OBJREF (obj),
- (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
+
+ if (obj == NULL)
+ {
+ *startOffset = *endOffset = -1;
+ return NULL;
+ }
+
+ retval = Accessibility_Text_getTextBeforeOffset (CSPI_OBJREF (obj),
+ offset,
+ get_accessible_text_boundary_type (type),
&retStartOffset, &retEndOffset,
cspi_ev ());
- *startOffset = (long) retStartOffset;
- *endOffset = (long) retEndOffset;
+ if (!cspi_check_ev ("getTextBeforeOffset"))
+ {
+ *startOffset = *endOffset = -1;
+ retval = NULL;
+ }
+ else
+ {
+ *startOffset = retStartOffset;
+ *endOffset = retEndOffset;
+ }
return retval;
}
if (obj == NULL)
{
- *startOffset = *endOffset = 0;
+ *startOffset = *endOffset = -1;
return NULL;
}
retval = Accessibility_Text_getTextAtOffset (CSPI_OBJREF (obj),
- (CORBA_long) offset,
- (Accessibility_TEXT_BOUNDARY_TYPE) type,
+ offset,
+ get_accessible_text_boundary_type (type),
&corbaStartOffset,
&corbaEndOffset,
cspi_ev ());
if (!cspi_check_ev ("getTextAtOffset"))
{
- *startOffset = *endOffset = 0;
+ *startOffset = *endOffset = -1;
retval = NULL;
}
else
*startOffset = corbaStartOffset;
*endOffset = corbaEndOffset;
}
-#ifdef CSPI_DEBUG
- fprintf (stderr, "text offsets %ld to %ld\n", *startOffset, *endOffset);
-#endif
return retval;
}
if (obj == NULL)
{
- *startOffset = *endOffset = 0;
+ *startOffset = *endOffset = -1;
return NULL;
}
- retval = (char *)
- Accessibility_Text_getTextAfterOffset (CSPI_OBJREF (obj),
- (CORBA_long) offset, (Accessibility_TEXT_BOUNDARY_TYPE) type,
+ retval = Accessibility_Text_getTextAfterOffset (CSPI_OBJREF (obj),
+ offset,
+ get_accessible_text_boundary_type (type),
&retStartOffset, &retEndOffset,
cspi_ev ());
if (!cspi_check_ev ("getTextAfterOffset"))
{
- *startOffset = *endOffset = 0;
+ *startOffset = *endOffset = -1;
+ retval = NULL;
}
else
{
*startOffset = retStartOffset;
*endOffset = retEndOffset;
}
-
return retval;
}
retval =
Accessibility_Text_getCharacterAtOffset (CSPI_OBJREF (obj),
- (CORBA_long) offset,
+ offset,
cspi_ev ());
cspi_return_val_if_ev ("getCharacterAtOffset", -1);
if (obj == NULL)
{
- *x = *y = 0;
- *width = *height = 0;
+ *x = *y = -1;
+ *width = *height = -1;
return;
}
Accessibility_Text_getCharacterExtents (CSPI_OBJREF (obj),
- (CORBA_long) offset,
+ offset,
&retX,
&retY,
&retWidth,
&retHeight,
- (CORBA_short) type, cspi_ev ());
+ type, cspi_ev ());
if (!cspi_check_ev ("getCharacterExtents"))
{
- *x = *y = 0;
- *width = *height = 0;
+ *x = *y = -1;
+ *width = *height = -1;
}
else
{
retval =
Accessibility_Text_getOffsetAtPoint (CSPI_OBJREF (obj),
- (CORBA_long) x,
- (CORBA_long) y,
- (CORBA_short) type, cspi_ev ());
+ x,
+ y,
+ type, cspi_ev ());
cspi_return_val_if_ev ("getOffsetAtPoint", -1);
}
Accessibility_Text_getSelection (CSPI_OBJREF (obj),
- (CORBA_long) selectionNum,
+ selectionNum,
&retStartOffset, &retEndOffset,
cspi_ev ());
if (!cspi_check_ev ("getSelection"))
{
- *startOffset = *endOffset = 0;
+ *startOffset = *endOffset = -1;
}
else
{
retval =
Accessibility_Text_addSelection (
- CSPI_OBJREF (obj), (CORBA_long) startOffset,
- (CORBA_long) endOffset, cspi_ev ());
+ CSPI_OBJREF (obj), startOffset,
+ endOffset, cspi_ev ());
cspi_return_val_if_ev ("addSelection", FALSE);
retval =
Accessibility_Text_removeSelection (
- CSPI_OBJREF (obj), (CORBA_long) selectionNum, cspi_ev ());
+ CSPI_OBJREF (obj), selectionNum, cspi_ev ());
cspi_return_val_if_ev ("removeSelection", FALSE);
long int startOffset,
long int endOffset)
{
+ SPIBoolean retval;
+
cspi_return_val_if_fail (obj != NULL, FALSE);
- Accessibility_Text_setSelection (CSPI_OBJREF (obj),
- (CORBA_long) selectionNum,
- (CORBA_long) startOffset,
- (CORBA_long) endOffset, cspi_ev ());
+ retval = Accessibility_Text_setSelection (CSPI_OBJREF (obj),
+ selectionNum,
+ startOffset,
+ endOffset, cspi_ev ());
cspi_return_val_if_ev ("setSelection", FALSE);
- return TRUE;
+ return retval;
}