#include <bonobo/Bonobo.h>
#include <stdio.h>
+#include <stdlib.h>
/*
* This pulls the CORBA definitions for the "Accessibility::Accessible" server
static CORBA_string
impl_getTextAtOffset (PortableServer_Servant _servant,
const CORBA_long offset,
- const Accessibility_TEXT_BOUNDARY_TYPE
- type, CORBA_long * startOffset,
+ const Accessibility_TEXT_BOUNDARY_TYPE type,
+ CORBA_long * startOffset,
CORBA_long * endOffset,
CORBA_Environment * ev);
-static CORBA_wchar
+
+static CORBA_unsigned_long
impl_getCharacterAtOffset (PortableServer_Servant _servant,
const CORBA_long offset,
CORBA_Environment * ev);
const CORBA_long endOffset,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
gchar *txt;
CORBA_char *rv;
-
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_char *)"");
+ text = TEXT (obj);
+ g_return_val_if_fail (ATK_IS_TEXT (text->atko), (CORBA_char *)"");
+
txt = atk_text_get_text (ATK_TEXT(text->atko),
(gint) startOffset, (gint) endOffset);
if (txt)
CORBA_long * endOffset,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
gchar *txt;
CORBA_char *rv;
+ gint intStartOffset, intEndOffset;
+ BonoboObject *obj;
-
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_char *)"");
+ text = TEXT (obj);
+ g_return_val_if_fail (ATK_IS_TEXT (text->atko), (CORBA_char *)"");
+
txt = atk_text_get_text_after_offset (ATK_TEXT(text->atko),
(gint) offset, (AtkTextBoundary) type,
- (gint *) startOffset, (gint *) endOffset);
+ &intStartOffset, &intEndOffset);
+ *startOffset = (CORBA_long) intStartOffset;
+ *endOffset = (CORBA_long) intEndOffset;
+
if (txt)
{
rv = CORBA_string_dup (txt);
static CORBA_string
impl_getTextAtOffset (PortableServer_Servant _servant,
const CORBA_long offset,
- const Accessibility_TEXT_BOUNDARY_TYPE
- type, CORBA_long * startOffset,
+ const Accessibility_TEXT_BOUNDARY_TYPE type,
+ CORBA_long * startOffset,
CORBA_long * endOffset,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
- gchar *txt;
+ Text *text;
+ CORBA_char *txt;
CORBA_char *rv;
+ gint intStartOffset, intEndOffset;
+ BonoboObject *obj;
- txt = atk_text_get_text_at_offset (ATK_TEXT(text->atko),
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_char *)"");
+ text = TEXT (obj);
+ g_return_val_if_fail (ATK_IS_TEXT (text->atko), (CORBA_char *)"");
+
+ txt = (CORBA_char *) atk_text_get_text_at_offset (ATK_TEXT (text->atko),
(gint) offset, (AtkTextBoundary) type,
- (gint *) startOffset, (gint *) endOffset);
+ &intStartOffset, &intEndOffset);
+ *startOffset = (CORBA_long) intStartOffset;
+ *endOffset = (CORBA_long) intEndOffset;
+
if (txt)
{
rv = CORBA_string_dup (txt);
}
else
rv = CORBA_string_dup ("");
+
return rv;
}
-
-static CORBA_wchar
+static CORBA_unsigned_long
impl_getCharacterAtOffset (PortableServer_Servant _servant,
const CORBA_long offset,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
- return (CORBA_wchar)
+ Text *text;
+ BonoboObject *obj;
+ obj = (bonobo_object_from_servant (_servant));
+
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_unsigned_long)0);
+ text = TEXT (obj);
+ g_return_val_if_fail (ATK_IS_TEXT (text->atko), (CORBA_unsigned_long)0);
+
+ return (CORBA_unsigned_long)
atk_text_get_character_at_offset (ATK_TEXT(text->atko), (gint) offset);
}
CORBA_long * endOffset,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
gchar *txt;
CORBA_char *rv;
+ gint intStartOffset, intEndOffset;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_char *)"");
+ text = TEXT (obj);
+ g_return_val_if_fail (ATK_IS_TEXT (text->atko), (CORBA_char *)"");
txt = atk_text_get_text_before_offset (ATK_TEXT(text->atko),
(gint) offset, (AtkTextBoundary) type,
- (gint *) startOffset, (gint *) endOffset);
+ &intStartOffset, &intEndOffset);
+ *startOffset = (CORBA_long) intStartOffset;
+ *endOffset = (CORBA_long) intEndOffset;
+
if (txt)
{
rv = CORBA_string_dup (txt);
impl__get_caretOffset (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_long)-1);
+ text = TEXT (obj);
+ g_return_val_if_fail (ATK_IS_TEXT (text->atko), (CORBA_long)-1);
+
return (CORBA_long)
atk_text_get_caret_offset (ATK_TEXT(text->atko));
}
CORBA_long * endOffset,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
- g_print ("getAttributes not implemented.\n");
-}
+ Text *text;
+ BonoboObject *obj;
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_char *)"");
+ text = TEXT (obj);
+ g_return_val_if_fail (ATK_IS_TEXT (text->atko), (CORBA_char *)"");
+ g_print ("getAttributes not yet implemented.\n");
+}
static void
impl_getCharacterExtents (PortableServer_Servant _servant,
const CORBA_short coordType,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_if_fail (IS_TEXT (obj));
+ text = TEXT (obj);
+ g_return_if_fail (ATK_IS_TEXT (text->atko));
+
atk_text_get_character_extents (ATK_TEXT(text->atko), (gint) offset,
(gint *) x, (gint *) y, (gint *) width, (gint *) height,
(AtkCoordType) coordType);
impl__get_characterCount (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_long)0);
+ text = TEXT (obj);
+
return (CORBA_long)
atk_text_get_character_count (ATK_TEXT(text->atko));
}
const CORBA_short coordType,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_long)-1);
+ text = TEXT (obj);
+
return (CORBA_long)
atk_text_get_offset_at_point (ATK_TEXT(text->atko),
(gint) x, (gint) y, (AtkCoordType) coordType);
impl_getNSelections (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_long)0);
+ text = TEXT (obj);
+
return (CORBA_long)
atk_text_get_n_selections (ATK_TEXT(text->atko));
}
CORBA_long * startOffset, CORBA_long * endOffset,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_if_fail (IS_TEXT (obj));
+ text = TEXT (obj);
+
atk_text_get_selection (ATK_TEXT(text->atko), (gint) selectionNum,
(gint *) startOffset, (gint *) endOffset);
}
const CORBA_long endOffset,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_boolean)FALSE);
+ text = TEXT (obj);
+
return (CORBA_boolean)
atk_text_add_selection (ATK_TEXT(text->atko),
(gint) startOffset, (gint) endOffset);
const CORBA_long selectionNum,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_boolean)FALSE);
+ text = TEXT (obj);
+
return (CORBA_boolean)
atk_text_remove_selection (ATK_TEXT(text->atko), (gint) selectionNum);
}
const CORBA_long endOffset,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_boolean)FALSE);
+ text = TEXT (obj);
+
return (CORBA_boolean)
atk_text_set_selection (ATK_TEXT(text->atko),
(gint) selectionNum, (gint) startOffset, (gint) endOffset);
const CORBA_long value,
CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_val_if_fail (IS_TEXT (obj), (CORBA_boolean)FALSE);
+ text = TEXT (obj);
+
return (CORBA_boolean)
atk_text_set_caret_offset (ATK_TEXT(text->atko), (gint) value);
}
const CORBA_long offset, CORBA_long * row,
CORBA_long * column, CORBA_Environment * ev)
{
- Text *text = TEXT (bonobo_object_from_servant (_servant));
+ Text *text;
+ BonoboObject *obj;
+
+ obj = (bonobo_object_from_servant (_servant));
+ g_return_if_fail (IS_TEXT (obj));
+ text = TEXT (obj);
+
+ g_print ("getRowColAtOffset not yet implemented\n");
}