Revert "Revert "Merge remote-tracking branch 'origin/sandbox/mniesluchow/upstream_2_1...
[platform/upstream/atk.git] / atk / atkselection.h
index d4bf73f..0d51cf2 100755 (executable)
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION)
+#error "Only <atk/atk.h> can be included directly."
+#endif
+
 #ifndef __ATK_SELECTION_H__
 #define __ATK_SELECTION_H__
 
 #include <atk/atkobject.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * This AtkSelection interface provides the standard mechanism for an 
@@ -48,67 +50,51 @@ struct _AtkSelectionIface
 {
   GTypeInterface parent;
 
-  /*
-   * Adds the specified accessible child of the object to the
-   * object's selection.
-   */
-  void         (* add_selection)        (AtkSelection   *selection,
+  gboolean     (* add_selection)        (AtkSelection   *selection,
                                          gint           i);
-  /*
-   * Clears the selection in the object so that no children in the object
-   * are selected.
-   */
-  void         (* clear_selection)      (AtkSelection   *selection);
-  /*
-   * Returns a reference to the accessible object representing the specified 
-   * selected * child of the object.
-   */
+  gboolean     (* clear_selection)      (AtkSelection   *selection);
   AtkObject*   (* ref_selection)        (AtkSelection   *selection,
                                          gint           i);
-  /*
-   * Returns the number of accessible children currently selected.
-   */
   gint         (* get_selection_count)  (AtkSelection   *selection);
-  /*
-   * Determines if the current child of this object is selected
-   */
   gboolean     (* is_child_selected)    (AtkSelection   *selection,
                                          gint           i);
-  /*
-   * Removes the specified child of the object from the object's selection.
-   */
-  void         (* remove_selection)     (AtkSelection   *selection,
+  gboolean     (* remove_selection)     (AtkSelection   *selection,
                                          gint           i);
-  /*
-   * Causes every child of the object to be selected if the object
-   * supports multiple selections.
-   */
-  void         (* select_all_selection) (AtkSelection   *selection);
+  gboolean     (* select_all_selection) (AtkSelection   *selection);
 
+  /* signal handlers */
+  
+  void         (*selection_changed)     (AtkSelection   *selection);
 };
-GType atk_selection_get_type ();
 
-void         atk_selection_add_selection        (AtkSelection   *selection,
+ATK_AVAILABLE_IN_ALL
+GType atk_selection_get_type (void);
+
+ATK_AVAILABLE_IN_ALL
+gboolean     atk_selection_add_selection        (AtkSelection   *selection,
                                                  gint           i);
 
-void         atk_selection_clear_selection      (AtkSelection   *selection);
+ATK_AVAILABLE_IN_ALL
+gboolean     atk_selection_clear_selection      (AtkSelection   *selection);
 
+ATK_AVAILABLE_IN_ALL
 AtkObject*   atk_selection_ref_selection        (AtkSelection   *selection,
                                                  gint           i);
 
+ATK_AVAILABLE_IN_ALL
 gint         atk_selection_get_selection_count  (AtkSelection   *selection);
 
+ATK_AVAILABLE_IN_ALL
 gboolean     atk_selection_is_child_selected    (AtkSelection   *selection,
                                                  gint           i);
 
-void         atk_selection_remove_selection     (AtkSelection   *selection,
+ATK_AVAILABLE_IN_ALL
+gboolean     atk_selection_remove_selection     (AtkSelection   *selection,
                                                  gint           i);
 
-void         atk_selection_select_all_selection (AtkSelection   *selection);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+ATK_AVAILABLE_IN_ALL
+gboolean     atk_selection_select_all_selection (AtkSelection   *selection);
 
+G_END_DECLS
 
 #endif /* __ATK_SELECTION_H__ */