Include the marshallers header, not the source
[platform/upstream/atk.git] / atk / atkutil.c
old mode 100755 (executable)
new mode 100644 (file)
index 65e33e6..4b3c68d
  * Boston, MA 02111-1307, USA.
  */
 
-#include "atkutil.h"
-#include "atkmarshal.c"
 #include "config.h"
 
+#include "atkutil.h"
+#include "atkmarshal.h"
+
+/**
+ * SECTION:atkutil
+ * @Short_description: A set of ATK utility functions for event and toolkit support.
+ * @Title:AtkUtil
+ *
+ * A set of ATK utility functions which are used to support event
+ * registration of various types, and obtaining the 'root' accessible
+ * of a process and information about the current ATK implementation
+ * and toolkit version.
+ */
+
 static void atk_util_class_init (AtkUtilClass *klass);
 
 static AtkObject *previous_focus_object = NULL;
@@ -87,6 +99,10 @@ struct _FocusTracker {
  * This function should be called by an implementation of the
  * ATK interface if any specific work needs to be done to enable
  * focus tracking.
+ *
+ * Deprecated: 2.9.4: Focus tracking has been dropped as a feature
+ * to be implemented by ATK itself.
+ *
  **/
 void
 atk_focus_tracker_init (AtkEventListenerInit    init)
@@ -103,6 +119,10 @@ atk_focus_tracker_init (AtkEventListenerInit    init)
  * Adds the specified function to the list of functions to be called
  * when an object receives focus.
  *
+ * Deprecated: 2.9.4: Focus tracking has been dropped as a feature
+ * to be implemented by ATK itself. If you need focus tracking on your
+ * implementation, subscribe to the #AtkObject::state-change "focused" signal.
+ *
  * Returns: added focus tracker id, or 0 on failure.
  **/
 guint
@@ -138,6 +158,10 @@ atk_add_focus_tracker (AtkEventListener   focus_tracker)
  * atk_remove_focus_tracker:
  * @tracker_id: the id of the focus tracker to remove
  *
+ * Deprecated: 2.9.4: Focus tracking has been dropped as a feature
+ * to be implemented by ATK itself. If you need focus tracking on your
+ * implementation, subscribe to the #AtkObject::state-change "focused" signal.
+ *
  * Removes the specified focus tracker from the list of functions
  * to be called when any object receives focus.
  **/
@@ -170,6 +194,12 @@ atk_remove_focus_tracker (guint            tracker_id)
  *
  * Cause the focus tracker functions which have been specified to be
  * executed for the object.
+ *
+ * Deprecated: 2.9.4: Focus tracking has been dropped as a feature
+ * to be implemented by ATK itself. As #AtkObject::focus-event was
+ * deprecated in favor of a #AtkObject::state-change signal, in order
+ * to notify a focus change on your implementation, you can use
+ * atk_object_notify_state_change() instead.
  **/
 void
 atk_focus_tracker_notify (AtkObject       *object)
@@ -220,7 +250,6 @@ add_listener (GSignalEmissionHook listener,
   if (type)
     {
       signal_id  = g_signal_lookup (signal_name, type);
-      g_print ("[atk-util] detail string == %s\n", detail_string);
       detail_quark = g_quark_from_string (detail_string);
 
       if (signal_id > 0)
@@ -323,11 +352,11 @@ atk_util_real_remove_global_event_listener (guint remove_listener)
  * when an ATK event of type event_type occurs.
  *
  * The format of event_type is the following:
- *  "ATK:<atk_type>:<atk_event>:<atk_event_detail>
+ *  "ATK:&lt;atk_type&gt;:&lt;atk_event&gt;:&lt;atk_event_detail&gt;
  *
- * Where "ATK" works as the namespace, <atk_interface> is the name of
- * the ATK type (interface or object), <atk_event> is the name of the
- * signal defined on that interface and <atk_event_detail> is the
+ * Where "ATK" works as the namespace, &lt;atk_interface&gt; is the name of
+ * the ATK type (interface or object), &lt;atk_event&gt; is the name of the
+ * signal defined on that interface and &lt;atk_event_detail&gt; is the
  * gsignal detail of that signal. You can find more info about gsignal
  * details here:
  * http://developer.gnome.org/gobject/stable/gobject-Signals.html
@@ -339,10 +368,19 @@ atk_util_real_remove_global_event_listener (guint remove_listener)
  *   ATK:AtkText:text-selection-changed
  *   ATK:AtkText:text-insert:system
  *
- * Toolkit implementor note: Atk provides a default implementation for
- * this virtual method, and that implementation should be enough for
- * most of the cases. You should have a really good reason to
- * reimplement this method.
+ * Toolkit implementor note: ATK provides a default implementation for
+ * this virtual method. ATK implementors are discouraged from
+ * reimplementing this method.
+ *
+ * Toolkit implementor note: this method is not intended to be used by
+ * ATK implementors but by ATK consumers.
+ *
+ * ATK consumers note: as this method adds a listener for a given ATK
+ * type, that type should be already registered on the GType system
+ * before calling this method. A simple way to do that is creating an
+ * instance of #AtkNoOpObject. This class implements all ATK
+ * interfaces, so creating the instance will register all ATK types as
+ * a collateral effect.
  *
  * Returns: added event listener id, or 0 on failure.
  **/
@@ -373,10 +411,12 @@ atk_add_global_event_listener (GSignalEmissionHook listener,
  * @listener_id is the value returned by #atk_add_global_event_listener
  * when you registered that event listener.
  *
- * Toolkit implementor note: Atk provides a default implementation for
- * this virtual method, and that implementation should be enough for
- * most of the cases. You should have a really good reason to
- * reimplement this method.
+ * Toolkit implementor note: ATK provides a default implementation for
+ * this virtual method. ATK implementors are discouraged from
+ * reimplementing this method.
+ *
+ * Toolkit implementor note: this method is not intended to be used by
+ * ATK implementors but by ATK consumers.
  *
  * Removes the specified event listener
  **/