* 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
#define _TYPEDEF_ATK_SELECTION_
typedef struct _AtkSelection AtkSelection;
#endif
+typedef struct _AtkSelectionIface AtkSelectionIface;
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__ */