1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
/*
* Copyright 2008 Codethink Ltd.
*
* 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., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#include <gmodule.h>
#include <atk/atk.h>
#include <my-atk.h>
static AtkObject *root_accessible;
G_MODULE_EXPORT void
test_init (gchar *path)
{
AtkObject *r1, *r2, *r3;
AtkObject *m1, *m2, *m3;
AtkRelationSet *rset;
AtkRelation *rel;
AtkObject *rls[3];
root_accessible = g_object_new(MY_TYPE_ATK_OBJECT, NULL);
root_accessible->name = g_strdup ("atspi-test-main");
root_accessible->role = ATK_ROLE_APPLICATION;
r1 = ATK_OBJECT(g_object_new(MY_TYPE_ATK_OBJECT,
"accessible-name", "r1",
"accessible-description", "",
"accessible-role", ATK_ROLE_INVALID,
NULL));
my_atk_object_add_child(MY_ATK_OBJECT(root_accessible), MY_ATK_OBJECT(r1));
r2 = ATK_OBJECT(g_object_new(MY_TYPE_ATK_OBJECT,
"accessible-name", "r2",
"accessible-description", "",
"accessible-role", ATK_ROLE_INVALID,
NULL));
my_atk_object_add_child(MY_ATK_OBJECT(root_accessible), MY_ATK_OBJECT(r2));
r3 = ATK_OBJECT(g_object_new(MY_TYPE_ATK_OBJECT,
"accessible-name", "r3",
"accessible-description", "",
"accessible-role", ATK_ROLE_INVALID,
NULL));
my_atk_object_add_child(MY_ATK_OBJECT(root_accessible), MY_ATK_OBJECT(r3));
m1 = ATK_OBJECT(g_object_new(MY_TYPE_ATK_OBJECT,
"accessible-name", "m1",
"accessible-description", "",
"accessible-role", ATK_ROLE_INVALID,
NULL));
my_atk_object_add_child(MY_ATK_OBJECT(root_accessible), MY_ATK_OBJECT(m1));
m2 = ATK_OBJECT(g_object_new(MY_TYPE_ATK_OBJECT,
"accessible-name", "m2",
"accessible-description", "",
"accessible-role", ATK_ROLE_INVALID,
NULL));
my_atk_object_add_child(MY_ATK_OBJECT(root_accessible), MY_ATK_OBJECT(m2));
m3 = ATK_OBJECT(g_object_new(MY_TYPE_ATK_OBJECT,
"accessible-name", "m3",
"accessible-description", "",
"accessible-role", ATK_ROLE_INVALID,
NULL));
my_atk_object_add_child(MY_ATK_OBJECT(root_accessible), MY_ATK_OBJECT(m3));
atk_object_add_relationship(root_accessible, ATK_RELATION_EMBEDS, r1);
atk_object_add_relationship(root_accessible, ATK_RELATION_PARENT_WINDOW_OF, r2);
atk_object_add_relationship(root_accessible, ATK_RELATION_DESCRIBED_BY, r3);
rls[0] = m1;
rls[1] = m2;
rls[2] = m3;
rset = atk_object_ref_relation_set(root_accessible);
rel = atk_relation_new(rls, 3, ATK_RELATION_POPUP_FOR);
atk_relation_set_add(rset, rel);
g_object_unref(G_OBJECT(rset));
}
G_MODULE_EXPORT void
test_next (int argc, char *argv[])
{
g_print("Moving to next stage\n");
}
G_MODULE_EXPORT void
test_finished (int argc, char *argv[])
{
g_print("Test has completed\n");
}
G_MODULE_EXPORT AtkObject *
test_get_root (void)
{
return root_accessible;
}
|