summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPadraig O'Briain <padraigo@src.gnome.org>2001-12-03 09:07:05 +0000
committerPadraig O'Briain <padraigo@src.gnome.org>2001-12-03 09:07:05 +0000
commite689f7a2522ed2b860a6978af71bca34f1a55870 (patch)
treef4f9f2c1f2fa8ca4e13c5b305f8c33396fda52ce
parent5f25232536fe7874414d8d620ffdc07962503b35 (diff)
downloadatk-e689f7a2522ed2b860a6978af71bca34f1a55870.tar.gz
Use ATK_TYPE_RELATION_TYPE in atk_relation_type_get_name() and
* 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 (_)
-rw-r--r--ChangeLog14
-rwxr-xr-xatk/atkrelation.c81
-rwxr-xr-xatk/atkstate.c94
-rw-r--r--tests/testrelation.c22
-rw-r--r--tests/teststateset.c14
5 files changed, 128 insertions, 97 deletions
diff --git a/ChangeLog b/ChangeLog
index 6f978b4..a4493f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+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:
diff --git a/atk/atkrelation.c b/atk/atkrelation.c
index e4d32cc..7bbcdac 100755
--- a/atk/atkrelation.c
+++ b/atk/atkrelation.c
@@ -21,16 +21,7 @@
#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;
@@ -86,7 +77,7 @@ atk_relation_type_register (const gchar *name)
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;
}
/**
@@ -100,24 +91,33 @@ atk_relation_type_register (const gchar *name)
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;
}
/**
@@ -132,29 +132,44 @@ atk_relation_type_get_name (AtkRelationType type)
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;
}
diff --git a/atk/atkstate.c b/atk/atkstate.c
index d56b14e..8dbb495 100755
--- a/atk/atkstate.c
+++ b/atk/atkstate.c
@@ -18,6 +18,7 @@
*/
#include "atkstate.h"
+#include "atk-enum-types.h"
#include <string.h>
@@ -25,37 +26,7 @@ static guint last_type = ATK_STATE_LAST_DEFINED;
#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:
@@ -89,16 +60,29 @@ atk_state_type_register (const gchar *name)
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;
}
/**
@@ -112,17 +96,35 @@ atk_state_type_get_name (AtkStateType type)
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;
}
diff --git a/tests/testrelation.c b/tests/testrelation.c
index 9ffaec2..26907fa 100644
--- a/tests/testrelation.c
+++ b/tests/testrelation.c
@@ -31,7 +31,7 @@ test_relation (void)
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;
@@ -39,37 +39,37 @@ test_relation (void)
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;
}
/*
@@ -78,7 +78,7 @@ test_relation (void)
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;
diff --git a/tests/teststateset.c b/tests/teststateset.c
index 05718b7..b9cb8ce 100644
--- a/tests/teststateset.c
+++ b/tests/teststateset.c
@@ -233,25 +233,25 @@ test_state (void)
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;
}
/*