-/* GAIL - The GNOME Accessibility Implementation Library
+/* GTK+ - accessibility implementations
* Copyright 2002 Sun Microsystems Inc.
*
* This library is free software; you can redistribute it and/or
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "gtkradiomenuitemaccessible.h"
-#include "gtkradiosubmenuitemaccessible.h"
+struct _GtkRadioMenuItemAccessiblePrivate
+{
+ GSList *old_group;
+};
+
+G_DEFINE_TYPE (GtkRadioMenuItemAccessible, gtk_radio_menu_item_accessible, GTK_TYPE_CHECK_MENU_ITEM_ACCESSIBLE)
-G_DEFINE_TYPE (GtkRadioMenuItemAccessible, _gtk_radio_menu_item_accessible, GTK_TYPE_CHECK_MENU_ITEM_ACCESSIBLE)
static AtkRelationSet *
gtk_radio_menu_item_accessible_ref_relation_set (AtkObject *obj)
radio_menu_item = GTK_RADIO_MENU_ITEM_ACCESSIBLE (obj);
- relation_set = ATK_OBJECT_CLASS (_gtk_radio_menu_item_accessible_parent_class)->ref_relation_set (obj);
+ relation_set = ATK_OBJECT_CLASS (gtk_radio_menu_item_accessible_parent_class)->ref_relation_set (obj);
- /* If the radio menu_item'group has changed remove the relation */
+ /* If the radio menu_item's group has changed remove the relation */
list = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (widget));
- if (radio_menu_item->old_group != list)
+
+ if (radio_menu_item->priv->old_group != list)
{
AtkRelation *relation;
if (!atk_relation_set_contains (relation_set, ATK_RELATION_MEMBER_OF))
{
/* Get the members of the menu_item group */
-
- radio_menu_item->old_group = list;
+ radio_menu_item->priv->old_group = list;
if (list)
{
AtkObject **accessible_array;
atk_relation_set_add (relation_set, relation);
- /* Unref the relation so that it is not leaked */
+ /* Unref the relation so that it is not leaked */
g_object_unref (relation);
}
}
static void
gtk_radio_menu_item_accessible_initialize (AtkObject *obj,
- gpointer data)
+ gpointer data)
{
- ATK_OBJECT_CLASS (_gtk_radio_menu_item_accessible_parent_class)->initialize (obj, data);
+ ATK_OBJECT_CLASS (gtk_radio_menu_item_accessible_parent_class)->initialize (obj, data);
obj->role = ATK_ROLE_RADIO_MENU_ITEM;
}
static void
-_gtk_radio_menu_item_accessible_class_init (GtkRadioMenuItemAccessibleClass *klass)
+gtk_radio_menu_item_accessible_class_init (GtkRadioMenuItemAccessibleClass *klass)
{
AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
class->ref_relation_set = gtk_radio_menu_item_accessible_ref_relation_set;
class->initialize = gtk_radio_menu_item_accessible_initialize;
+
+ g_type_class_add_private (klass, sizeof (GtkRadioMenuItemAccessiblePrivate));
}
static void
-_gtk_radio_menu_item_accessible_init (GtkRadioMenuItemAccessible *radio_menu_item)
+gtk_radio_menu_item_accessible_init (GtkRadioMenuItemAccessible *radio_menu_item)
{
+ radio_menu_item->priv = G_TYPE_INSTANCE_GET_PRIVATE (radio_menu_item,
+ GTK_TYPE_RADIO_MENU_ITEM_ACCESSIBLE,
+ GtkRadioMenuItemAccessiblePrivate);
}