Use ATK_TYPE_RELATION_TYPE in atk_relation_type_get_name() and
authorPadraig O'Briain <padraigo@src.gnome.org>
Mon, 3 Dec 2001 09:07:05 +0000 (09:07 +0000)
committerPadraig O'Briain <padraigo@src.gnome.org>
Mon, 3 Dec 2001 09:07:05 +0000 (09:07 +0000)
* 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 (_)

ChangeLog
atk/atkrelation.c
atk/atkstate.c
tests/testrelation.c
tests/teststateset.c

index 6f978b4..a4493f0 100644 (file)
--- 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:
index e4d32cc..7bbcdac 100755 (executable)
 #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;
 }
 
 
index d56b14e..8dbb495 100755 (executable)
@@ -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;
 }
index 9ffaec2..26907fa 100644 (file)
@@ -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;
index 05718b7..b9cb8ce 100644 (file)
@@ -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;
   }
   /*