+2001-12-03 Padraig O'Briain <padraig.obriain@sun.com>
+
+ * atk/atkrelation.c:
+ Use ATK_TYPE_RELATION_TYPE in atk_relation_type_get_name() and
+ atk_relation_type_for_name()
+
+ * atk/atkstate.c:
+ Use ATK_TYPE_STATE_TYPE in atk_state_type_get_name() and
+ atk_state_type_for_name()
+
+ * tests/testrelation.c, tests/teststateset.c:
+ Update tests as name componenets are separated by hyphen (-) rather
+ than underline (_)
+
2001-11-29 Padraig O'Briain <padraig.obriain@sun.com>
* atk/Makefile.am:
#include <glib-object.h>
#include "atkobject.h"
#include "atkrelation.h"
-
-static gchar *relation_names[ATK_RELATION_LAST_DEFINED] = {
- "null",
- "controlled_by",
- "controller_for",
- "label_for",
- "labelled_by",
- "member_of",
- "node_child_of"
-};
+#include "atk-enum-types.h"
GPtrArray *extra_names = NULL;
extra_names = g_ptr_array_new ();
g_ptr_array_add (extra_names, g_strdup (name));
- return extra_names->len + ATK_RELATION_LAST_DEFINED - 1;
+ return extra_names->len + ATK_RELATION_LAST_DEFINED;
}
/**
G_CONST_RETURN gchar*
atk_relation_type_get_name (AtkRelationType type)
{
- gint n;
+ GTypeClass *type_class;
+ GEnumValue *value;
+ gchar *name = NULL;
+
+ type_class = g_type_class_ref (ATK_TYPE_RELATION_TYPE);
+ g_return_val_if_fail (G_IS_ENUM_CLASS (type_class), NULL);
- n = type;
+ value = g_enum_get_value (G_ENUM_CLASS (type_class), type);
- if (n >= 0)
+ if (value)
+ {
+ name = value->value_nick;
+ }
+ else
{
- if (n < ATK_RELATION_LAST_DEFINED)
- return relation_names[n];
- else if (extra_names)
+ if (extra_names)
{
- n -= ATK_RELATION_LAST_DEFINED;
+ gint n = type;
+
+ n -= ATK_RELATION_LAST_DEFINED + 1;
if (n < extra_names->len)
- return g_ptr_array_index (extra_names, n);
+ name = g_ptr_array_index (extra_names, n);
}
}
- return relation_names[ATK_RELATION_NULL];
-
+ g_type_class_unref (type_class);
+ return name;
}
/**
AtkRelationType
atk_relation_type_for_name (const gchar *name)
{
- gint i;
+ GTypeClass *type_class;
+ GEnumValue *value;
+ AtkRelationType type = ATK_RELATION_NULL;
g_return_val_if_fail (name, ATK_RELATION_NULL);
- for (i = 0; i < ATK_RELATION_LAST_DEFINED; i++)
+ type_class = g_type_class_ref (ATK_TYPE_RELATION_TYPE);
+ g_return_val_if_fail (G_IS_ENUM_CLASS (type_class), ATK_RELATION_NULL);
+
+ value = g_enum_get_value_by_nick (G_ENUM_CLASS (type_class), name);
+
+ if (value)
{
- if (strcmp (name, relation_names[i]) == 0)
- return i;
+ type = value->value;
}
-
- if (extra_names)
+ else
{
- for (i = 0; i < extra_names->len; i++)
+ gint i;
+
+ if (extra_names)
{
- gchar *extra_name = (gchar *)g_ptr_array_index (extra_names, i);
+ for (i = 0; i < extra_names->len; i++)
+ {
+ gchar *extra_name = (gchar *)g_ptr_array_index (extra_names, i);
- g_return_val_if_fail (extra_name, ATK_RELATION_NULL);
+ g_return_val_if_fail (extra_name, ATK_RELATION_NULL);
- if (strcmp (name, extra_name) == 0)
- return i + ATK_RELATION_LAST_DEFINED;
+ if (strcmp (name, extra_name) == 0)
+ {
+ type = i + 1 + ATK_RELATION_LAST_DEFINED;
+ break;
+ }
+ }
}
}
- return ATK_RELATION_NULL;
+ g_type_class_unref (type_class);
+
+ return type;
}
*/
#include "atkstate.h"
+#include "atk-enum-types.h"
#include <string.h>
#define NUM_POSSIBLE_STATES (sizeof(AtkState)*8)
-static gchar* state_names[NUM_POSSIBLE_STATES] = {
- "invalid",
- "active",
- "armed",
- "busy",
- "checked",
- "defunct",
- "editable",
- "enabled",
- "expandable",
- "expanded",
- "focusable",
- "focused",
- "horizontal",
- "iconified",
- "modal",
- "multi-line",
- "multiselectable",
- "opaque",
- "pressed",
- "resizeable",
- "selectable",
- "selected",
- "sensitive",
- "showing",
- "single-line",
- "stale",
- "transient",
- "vertical",
- "visible"
-};
+static gchar* state_names[NUM_POSSIBLE_STATES];
/**
* atk_state_type_register:
G_CONST_RETURN gchar*
atk_state_type_get_name (AtkStateType type)
{
- gint n;
+ GTypeClass *type_class;
+ GEnumValue *value;
+ gchar *name = NULL;
- if (type < last_type)
+ type_class = g_type_class_ref (ATK_TYPE_STATE_TYPE);
+ g_return_val_if_fail (G_IS_ENUM_CLASS (type_class), NULL);
+
+ value = g_enum_get_value (G_ENUM_CLASS (type_class), type);
+
+ if (value)
{
- n = type;
- if (n >= 0)
- return state_names[n];
+ name = value->value_nick;
+ }
+ else
+ {
+ if (type <= last_type)
+ {
+ if (type >= 0)
+ name = state_names[type];
+ }
}
- return NULL;
+ return name;
}
/**
AtkStateType
atk_state_type_for_name (const gchar *name)
{
- gint i;
+ GTypeClass *type_class;
+ GEnumValue *value;
+ AtkStateType type = ATK_STATE_INVALID;
+
+ g_return_val_if_fail (name, ATK_STATE_INVALID);
+
+ type_class = g_type_class_ref (ATK_TYPE_STATE_TYPE);
+ g_return_val_if_fail (G_IS_ENUM_CLASS (type_class), ATK_STATE_INVALID);
- g_return_val_if_fail (name != NULL, 0);
- g_return_val_if_fail (strlen (name) > 0, 0);
+ value = g_enum_get_value_by_nick (G_ENUM_CLASS (type_class), name);
- for (i = 0; i < last_type; i++)
+ if (value)
{
- if (state_names[i] == NULL)
- continue;
- if (!strcmp(name, state_names[i]))
- return i;
+ type = value->value;
+ }
+ else
+ {
+ gint i;
+
+ for (i = ATK_STATE_LAST_DEFINED + 1; i <= last_type; i++)
+ {
+ if (state_names[i] == NULL)
+ continue;
+ if (!strcmp(name, state_names[i]))
+ {
+ type = i;
+ break;
+ }
+ }
}
- return 0;
+ return type;
}
name = atk_relation_type_get_name (ATK_RELATION_LABEL_FOR);
g_return_val_if_fail (name, FALSE);
- if (strcmp (name, "label_for") != 0)
+ if (strcmp (name, "label-for") != 0)
{
g_print ("Unexpected name for ATK_RELATION_LABEL_FOR %s\n", name);
return FALSE;
name = atk_relation_type_get_name (ATK_RELATION_NODE_CHILD_OF);
g_return_val_if_fail (name, FALSE);
- if (strcmp (name, "node_child_of") != 0)
+ if (strcmp (name, "node-child-of") != 0)
{
g_print ("Unexpected name for ATK_STATE_MODAL %s\n", name);
return FALSE;
}
- type1 = atk_relation_type_for_name ("controlled_by");
+ type1 = atk_relation_type_for_name ("controlled-by");
if (type1 != ATK_RELATION_CONTROLLED_BY)
{
g_print ("Unexpected type for focused\n");
return FALSE;
}
- type1 = atk_relation_type_register ("test_state");
+ type1 = atk_relation_type_register ("test-state");
name = atk_relation_type_get_name (type1);
g_return_val_if_fail (name, FALSE);
- if (strcmp (name, "test_state") != 0)
+ if (strcmp (name, "test-state") != 0)
{
- g_print ("Unexpected name for test_state %s\n", name);
+ g_print ("Unexpected name for test-state %s\n", name);
return FALSE;
}
- type2 = atk_relation_type_for_name ("test_state");
+ type2 = atk_relation_type_for_name ("test-state");
if (type1 != type2)
{
- g_print ("Unexpected type for test_state\n");
+ g_print ("Unexpected type for test-state\n");
return FALSE;
}
- type2 = atk_relation_type_for_name ("TEST-STATE");
+ type2 = atk_relation_type_for_name ("TEST_STATE");
if (type2 != 0)
{
- g_print ("Unexpected type for TEST-STATE\n");
+ g_print ("Unexpected type for TEST_STATE\n");
return FALSE;
}
/*
name = atk_relation_type_get_name (ATK_RELATION_LAST_DEFINED + 2);
if (name)
{
- g_print ("Unexpected name for undefined type\n");
+ g_print ("Unexpected name for undefined type %s\n", name);
return FALSE;
}
return TRUE;
return FALSE;
}
- type1 = atk_state_type_register ("test_state");
+ type1 = atk_state_type_register ("test-state");
name = atk_state_type_get_name (type1);
g_return_val_if_fail (name, FALSE);
- if (strcmp (name, "test_state") != 0)
+ if (strcmp (name, "test-state") != 0)
{
- g_print ("Unexpected name for test_state %s\n", name);
+ g_print ("Unexpected name for test-state %s\n", name);
return FALSE;
}
- type2 = atk_state_type_for_name ("test_state");
+ type2 = atk_state_type_for_name ("test-state");
g_return_val_if_fail (name, FALSE);
if (type1 != type2)
{
- g_print ("Unexpected type for test_state\n");
+ g_print ("Unexpected type for test-state %d %d\n", type1, type2);
return FALSE;
}
- type2 = atk_state_type_for_name ("TEST-STATE");
+ type2 = atk_state_type_for_name ("TEST_STATE");
if (type2 != 0)
{
- g_print ("Unexpected type for TEST-STATE\n");
+ g_print ("Unexpected type for TEST_STATE\n");
return FALSE;
}
/*