static void
test_misc (void)
{
	fprintf (stderr, "Testing misc bits ...\n");

	g_assert (!Accessible_isComponent (NULL));
	g_assert (Accessible_getComponent (NULL) == NULL);
	SPI_freeString (NULL);
}
int windows_y ( SQByteArray * _pointer )
{
   long int x = -1;
   long int y = -1;
   Accessible * accessibleObject = windows_to_accessible(_pointer);
   if ( Accessible_isComponent(accessibleObject) == SPI_TRUE )
   {
       AccessibleComponent * component = Accessible_getComponent(accessibleObject);
       AccessibleComponent_getPosition (component, &x, &y, SPI_COORD_TYPE_SCREEN);
   }
   return y;
}
int windows_height ( SQByteArray * _pointer )
{
   long int width = 0;
   long int height = 0;
   Accessible * accessibleObject = windows_to_accessible(_pointer);
   if ( Accessible_isComponent(accessibleObject) == SPI_TRUE )
   {
       AccessibleComponent * component = Accessible_getComponent(accessibleObject);
       AccessibleComponent_getSize (component, &width, &height);
   }
   return height;
}
static void
test_component (AccessibleComponent *component)
{
	long x, y, width, height;

	fprintf (stderr, "Testing component...\n");

	AccessibleComponent_getExtents (
		component, &x, &y, &width, &height, SPI_COORD_TYPE_SCREEN);

	AccessibleComponent_getPosition (
		component, &x, &y, SPI_COORD_TYPE_SCREEN);

	AccessibleComponent_getSize (component, &width, &height);

	if (width > 0 && height > 0) {
#ifdef FIXME
		Accessible *accessible, *componentb;
#endif

		g_assert (AccessibleComponent_contains (
			component, x, y, SPI_COORD_TYPE_SCREEN));

		g_assert (AccessibleComponent_contains (
			component, x + width - 1, y, SPI_COORD_TYPE_SCREEN));

		g_assert (AccessibleComponent_contains (
			component, x + width - 1, y + height - 1,
			SPI_COORD_TYPE_SCREEN));

#ifdef FIXME
		accessible = AccessibleComponent_getAccessibleAtPoint (
			component, x, y, SPI_COORD_TYPE_SCREEN);

		g_assert (Accessible_isComponent (accessible));
		componentb = Accessible_getComponent (accessible);
		g_assert (componentb == component);

		AccessibleComponent_unref (componentb);
		Accessible_unref (accessible);
#endif
	}

	AccessibleComponent_getLayer (component);
	AccessibleComponent_getMDIZOrder (component);
/*	AccessibleComponent_grabFocus (component); */
}
示例#5
0
static gboolean 
push_func (Accessible *a, gpointer data)
{
    MTClosure *mt = data;
    AccessibleRole role;

    role = Accessible_getRole (a);
    if (role != SPI_ROLE_PANEL && role != SPI_ROLE_EMBEDDED)
	return FALSE;

    if (!mt_accessible_is_visible (a))
	return FALSE;

    if (Accessible_isComponent (a))
	return mt_accessible_in_extents (a, mt->pointer_x, mt->pointer_y);

    return TRUE;
}
static void
validate_accessible (Accessible *accessible,
		     gboolean    has_parent,
		     gboolean    recurse_down)
{
	Accessible          *tmp;
	char                *name, *descr;
	AccessibleRole       role;
	AccessibleRelation **relations;
	char                *role_name;
	GString             *item_str = g_string_new ("");
	int                  i;

	name = Accessible_getName (accessible);
	g_assert (name != NULL);
	
	descr = Accessible_getDescription (accessible);
	g_assert (descr != NULL);

	role = Accessible_getRole (accessible);
	g_assert (role != SPI_ROLE_INVALID);
	role_name = Accessible_getRoleName (accessible);
	g_assert (role_name != NULL);

	relations = Accessible_getRelationSet (accessible);
	g_assert (relations != NULL);

	for (i = 0; relations [i]; i++) {
		AccessibleRelationType type;
		int                    targets;

		fprintf (stderr, "relation %d\n", i);

		type = AccessibleRelation_getRelationType (relations [i]);
		g_assert (type != SPI_RELATION_NULL);

		targets = AccessibleRelation_getNTargets (relations [i]);
		g_assert (targets != -1);

		AccessibleRelation_unref (relations [i]);
		relations [i] = NULL;
	}
	free (relations);

	if (print_tree) {
		int i;

		for (i = 0; i < print_tree_depth; i++)
			fputc (' ', stderr);
		fputs ("|-> [ ", stderr);
	}

	if (Accessible_isAction (accessible)) {
		tmp = Accessible_getAction (accessible);
		g_assert (tmp != NULL);
		if (print_tree)
			fprintf (stderr, "At");
		else
			test_action (tmp);
		AccessibleAction_unref (tmp);
	}

	if (Accessible_isApplication (accessible)) {
		tmp = Accessible_getApplication (accessible);
		if (print_tree)
			fprintf (stderr, "Ap");
		else
			test_application (tmp);
		AccessibleApplication_unref (tmp);
	}

	if (Accessible_isComponent (accessible)) {
		tmp = Accessible_getComponent (accessible);
		g_assert (tmp != NULL);
		if (print_tree)
			fprintf (stderr, "Co");
		else
			test_component (tmp);
		AccessibleComponent_unref (tmp);
	}

	if (Accessible_isEditableText (accessible)) {
		tmp = Accessible_getEditableText (accessible);
		g_assert (tmp != NULL);
		if (print_tree)
			fprintf (stderr, "Et");
		else
			test_editable_text (tmp);
		AccessibleEditableText_unref (tmp);
	}

	if (Accessible_isHypertext (accessible)) {
		tmp = Accessible_getHypertext (accessible);
		g_assert (tmp != NULL);
		if (print_tree)
			fprintf (stderr, "Ht");
		AccessibleHypertext_unref (tmp);
	}

	if (Accessible_isImage (accessible)) {
		tmp = Accessible_getImage (accessible);
		g_assert (tmp != NULL);
		if (print_tree) {
			char *desc;

			fprintf (stderr, "Im");

			desc = AccessibleImage_getImageDescription (tmp);
			g_string_append_printf (
				item_str, " image descr: '%s'", desc);
			SPI_freeString (desc);
		} else
			test_image (tmp);

		AccessibleImage_unref (tmp);
	}

	if (Accessible_isSelection (accessible)) {
		tmp = Accessible_getSelection (accessible);
		g_assert (tmp != NULL);
		if (print_tree)
			fprintf (stderr, "Se");
		AccessibleSelection_unref (tmp);
	}

	if (Accessible_isTable (accessible)) {
		tmp = Accessible_getTable (accessible);
		g_assert (tmp != NULL);
		if (print_tree)
			fprintf (stderr, "Ta");
		else
			test_table (tmp);
		AccessibleTable_unref (tmp);
	}

	if (Accessible_isText (accessible)) {
		tmp = Accessible_getText (accessible);
		g_assert (tmp != NULL);
		if (print_tree)
			fprintf (stderr, "Te");
		else {
			if (strcmp (name, TEST_STRING_A_OBJECT) == 0)	
				test_text (tmp);
		}
		AccessibleText_unref (tmp);
	}

	if (Accessible_isValue (accessible)) {
		tmp = Accessible_getValue (accessible);
		g_assert (tmp != NULL);
		if (print_tree)
			fprintf (stderr, "Va");
		else
			test_value (tmp); 
		AccessibleValue_unref (tmp);
	}

	if (print_tree)
		fprintf (stderr, " ] '%s' (%s) - %s: %s\n",
			 name, descr, role_name, item_str->str);

	SPI_freeString (name);
	SPI_freeString (descr);
	SPI_freeString (role_name);
	g_string_free (item_str, TRUE);

	validate_tree (accessible, has_parent, recurse_down);
}