Add enum AtkLayer and functions atk_object_get_layer and
authorPadraig O'Briain <padraigo@src.gnome.org>
Wed, 21 Nov 2001 14:52:34 +0000 (14:52 +0000)
committerPadraig O'Briain <padraigo@src.gnome.org>
Wed, 21 Nov 2001 14:52:34 +0000 (14:52 +0000)
* atk/atkobject.[c|h], docs/atk-sections.txt, docs/tmpl/atkobject.sgml:
Add enum AtkLayer and functions atk_object_get_layer and
atk_object_get_mdi_zorder

ChangeLog
atk/atkobject.c
atk/atkobject.h
docs/atk-sections.txt
docs/tmpl/atkobject.sgml

index d8b5e8e..5d86f3b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2001-11-21  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * atk/atkobject.[c|h], docs/atk-sections.txt, docs/tmpl/atkobject.sgml:
+       Add enum AtkLayer and functions atk_object_get_layer and
+       atk_object_get_mdi_zorder
+
 2001-11-20  Padraig O'Briain  <padraig.obriain@sun.com>
 
        * atk/atkobject.[c|h]:
@@ -6,7 +12,7 @@
        instead of AtkPropertyValues
        Update atk_object_notify_state_change() to emit state-change signal
 
-       * atk/atkstate.[c|h], docs.atkstate.sgml:
+       * atk/atkstate.[c|h], docs/tmpl/atkstate.sgml:
        Remove state ATK_STATE_COLLAPSED
 
 2001-11-19  Bill Haneman <bill.haneman@sun.com>
index a93ddfc..c99c33d 100755 (executable)
@@ -31,9 +31,10 @@ enum
   PROP_NAME,
   PROP_DESCRIPTION,
   PROP_PARENT,      /* ancestry has changed */
-  PROP_STATE,       /* AtkStateSet for the object has changed */
   PROP_VALUE,
   PROP_ROLE,
+  PROP_LAYER,
+  PROP_MDI_ZORDER,
   PROP_TABLE_CAPTION,
   PROP_TABLE_COLUMN_DESCRIPTION,
   PROP_TABLE_COLUMN_HEADER,
@@ -75,6 +76,7 @@ static G_CONST_RETURN gchar*
                                                    (AtkObject       *object);
 static AtkObject*      atk_object_real_get_parent  (AtkObject       *object);
 static AtkRole         atk_object_real_get_role    (AtkObject       *object);
+static AtkLayer        atk_object_real_get_layer   (AtkObject       *object);
 static AtkStateSet*    atk_object_real_ref_state_set
                                                    (AtkObject       *object);
 static void            atk_object_real_set_name    (AtkObject       *object,
@@ -106,6 +108,8 @@ static const gchar* atk_object_name_property_description = "accessible-descripti
 static const gchar* atk_object_name_property_parent = "accessible-parent";
 static const gchar* atk_object_name_property_value = "accessible-value";
 static const gchar* atk_object_name_property_role = "accessible-role";
+static const gchar* atk_object_name_property_component_layer = "accessible-component-layer";
+static const gchar* atk_object_name_property_component_mdi_zorder = "accessible-component-mdi-zorder";
 static const gchar* atk_object_name_property_table_caption = "accessible-table-caption";
 static const gchar* atk_object_name_property_table_column_description = "accessible-table-column-description";
 static const gchar* atk_object_name_property_table_column_header = "accessible-table-column-header";
@@ -157,6 +161,8 @@ atk_object_class_init (AtkObjectClass *klass)
   klass->get_index_in_parent = NULL;
   klass->ref_relation_set = atk_object_real_ref_relation_set;
   klass->get_role = atk_object_real_get_role;
+  klass->get_layer = atk_object_real_get_layer;
+  klass->get_mdi_zorder = NULL;
   klass->ref_state_set = atk_object_real_ref_state_set;
   klass->set_name = atk_object_real_set_name;
   klass->set_description = atk_object_real_set_description;
@@ -211,12 +217,30 @@ atk_object_class_init (AtkObjectClass *klass)
                                    PROP_ROLE,
                                    g_param_spec_int    (atk_object_name_property_role,
                                                         "Accessible Role",
-                                                        "The accessible role this object ",
+                                                        "The accessible role of this object ",
                                                         0,
                                                         G_MAXINT,
                                                         0,
                                                         G_PARAM_READWRITE));
   g_object_class_install_property (gobject_class,
+                                   PROP_LAYER,
+                                   g_param_spec_int    (atk_object_name_property_component_layer,
+                                                        "Accessible Layer",
+                                                        "The accessible layer of this object ",
+                                                        0,
+                                                        G_MAXINT,
+                                                        0,
+                                                        G_PARAM_READABLE));
+  g_object_class_install_property (gobject_class,
+                                   PROP_MDI_ZORDER,
+                                   g_param_spec_int    (atk_object_name_property_component_mdi_zorder,
+                                                        "Accessible MDI Value",
+                                                        "The accessible MDI value of this object ",
+                                                        G_MININT,
+                                                        G_MAXINT,
+                                                        G_MININT,
+                                                        G_PARAM_READABLE));
+  g_object_class_install_property (gobject_class,
                                    PROP_TABLE_CAPTION,
                                    g_param_spec_string (atk_object_name_property_table_caption,
                                                         "Accessible Table Caption",
@@ -523,6 +547,53 @@ atk_object_get_role (AtkObject *accessible)
 }
 
 /**
+ * atk_object_get_layer:
+ * @accessible: an #AtkObject
+ *
+ * Gets the layer of the accessible.
+ *
+ * Returns: an #AtkLayer which is the layer of the accessible
+ **/
+AtkLayer
+atk_object_get_layer (AtkObject *accessible) 
+{
+  AtkObjectClass *klass;
+
+  g_return_val_if_fail (ATK_IS_OBJECT (accessible), ATK_LAYER_INVALID);
+
+  klass = ATK_OBJECT_GET_CLASS (accessible);
+  if (klass->get_layer)
+    return (klass->get_layer) (accessible);
+  else
+    return ATK_LAYER_INVALID;
+}
+
+/**
+ * atk_object_get_mdi_zorder:
+ * @accessible: an #AtkObject
+ *
+ * Gets the zorder of the accessible. The value G_MININT will be returned 
+ * if the layer of the accessible is not ATK_LAYER_MDI.
+ *
+ * Returns: a gint which is the zorder of the accessible, i.e. the depth at 
+ * which the component is shown in relation to other components in the same 
+ * container.
+ **/
+gint
+atk_object_get_mdi_zorder (AtkObject *accessible) 
+{
+  AtkObjectClass *klass;
+
+  g_return_val_if_fail (ATK_IS_OBJECT (accessible), G_MININT);
+
+  klass = ATK_OBJECT_GET_CLASS (accessible);
+  if (klass->get_mdi_zorder)
+    return (klass->get_mdi_zorder) (accessible);
+  else
+    return G_MININT;
+}
+
+/**
  * atk_object_ref_state_set:
  * @accessible: an #AtkObject
  *
@@ -814,10 +885,15 @@ atk_object_real_get_property (GObject      *object,
       break;
     case PROP_DESCRIPTION:
       g_value_set_string (value, atk_object_get_description (accessible));
-      break;
     case PROP_ROLE:
       g_value_set_int (value, atk_object_get_role (accessible));
       break;
+    case PROP_LAYER:
+      g_value_set_int (value, atk_object_get_role (accessible));
+      break;
+    case PROP_MDI_ZORDER:
+      g_value_set_int (value, atk_object_get_mdi_zorder (accessible));
+      break;
     case PROP_PARENT:
       g_value_set_object (value, atk_object_get_parent (accessible));
       break;
@@ -879,6 +955,12 @@ atk_object_real_get_role (AtkObject       *object)
   return object->role;
 }
 
+static AtkLayer
+atk_object_real_get_layer (AtkObject       *object)
+{
+  return object->layer;
+}
+
 static AtkStateSet*
 atk_object_real_ref_state_set (AtkObject *accessible) 
 {
index 8987247..ff08a00 100755 (executable)
@@ -188,6 +188,28 @@ typedef enum
 
 AtkRole                  atk_role_register        (const gchar *name);
 
+/**
+ *AtkLayer:
+ *@ATK_LAYER_INVALID: The object does not have a layer
+ *@ATK_LAYER_BACKGROUND: This layer is reserved for the desktop background
+ *@ATK_LAYER_CANVAS: This layer is used for Canvas components
+ *@ATK_LAYER_WIDGET: This layer is normally used for components
+ *@ATK_LAYER_MDI: This layer is used for layered components
+ *@ATK_LAYER_POPUP: This layer is used for popup components, such as menus
+ *@ATK_LAYER_OVERLAY: This layer is reserved for future use.
+ *
+ * Describes the layer of a component
+ **/
+typedef enum
+{
+  ATK_LAYER_INVALID,
+  ATK_LAYER_BACKGROUND,
+  ATK_LAYER_CANVAS,
+  ATK_LAYER_WIDGET,
+  ATK_LAYER_MDI,
+  ATK_LAYER_POPUP,
+  ATK_LAYER_OVERLAY,
+} AtkLayer;
 
 #define ATK_TYPE_OBJECT                           (atk_object_get_type ())
 #define ATK_OBJECT(obj)                           (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_OBJECT, AtkObject))
@@ -244,6 +266,7 @@ struct _AtkObject
   AtkObject *accessible_parent;
   AtkRole role;
   AtkRelationSet *relation_set;
+  AtkLayer layer;
 };
 
 struct _AtkObjectClass
@@ -287,6 +310,8 @@ struct _AtkObjectClass
    * Gets the role of the object
    */
   AtkRole                 (* get_role)            (AtkObject                 *accessible);
+  AtkLayer                (* get_layer)           (AtkObject                 *accessible);
+  gint                    (* get_mdi_zorder)      (AtkObject                 *accessible);
   /*
    * Gets the state set of the object
    */
@@ -394,6 +419,8 @@ AtkObject*              atk_object_ref_accessible_child           (AtkObject *ac
                                                                    gint        i);
 AtkRelationSet*         atk_object_ref_relation_set               (AtkObject *accessible);
 AtkRole                 atk_object_get_role                       (AtkObject *accessible);
+AtkLayer                atk_object_get_layer                      (AtkObject *accessible);
+gint                    atk_object_get_mdi_zorder                 (AtkObject *accessible);
 AtkStateSet*            atk_object_ref_state_set                  (AtkObject *accessible);
 gint                    atk_object_get_index_in_parent            (AtkObject *accessible);
 void                    atk_object_set_name                       (AtkObject *accessible,
index 4bc486d..966621a 100644 (file)
@@ -143,6 +143,7 @@ ATK_NO_OP_OBJECT_FACTORY_GET_CLASS
 <TITLE>AtkObject</TITLE>
 AtkRole
 atk_role_register
+AtkLayer
 AtkImplementor
 AtkImplementorIface
 AtkRelationSet
@@ -155,6 +156,8 @@ atk_object_get_parent
 atk_object_get_n_accessible_children
 atk_object_ref_accessible_child
 atk_object_ref_relation_set
+atk_object_get_layer
+atk_object_get_mdi_zorder
 atk_object_get_role
 atk_object_ref_state_set
 atk_object_get_index_in_parent
index 37091eb..5cab149 100644 (file)
@@ -104,6 +104,19 @@ of the other ATK interfaces:
 @Returns: 
 
 
+<!-- ##### ENUM AtkLayer ##### -->
+<para>
+
+</para>
+
+@ATK_LAYER_INVALID: 
+@ATK_LAYER_BACKGROUND: 
+@ATK_LAYER_CANVAS: 
+@ATK_LAYER_WIDGET: 
+@ATK_LAYER_MDI: 
+@ATK_LAYER_POPUP: 
+@ATK_LAYER_OVERLAY: 
+
 <!-- ##### STRUCT AtkImplementor ##### -->
 <para>
 
@@ -208,6 +221,26 @@ of the other ATK interfaces:
 @Returns: 
 
 
+<!-- ##### FUNCTION atk_object_get_layer ##### -->
+<para>
+
+</para>
+
+@accessible: 
+@Returns: 
+
+
+<!-- ##### FUNCTION atk_object_get_mdi_zorder ##### -->
+<para>
+
+</para>
+
+@accessible: 
+@Returns: 
+<!-- # Unused Parameters # -->
+@acessible: 
+
+
 <!-- ##### FUNCTION atk_object_get_role ##### -->
 <para>