Convert GailExpander to GtkExpanderAccessible
At the same time, drop the AtkText implementation. Also, reintroduce a GtkBoxAccessible, since the previous way of setting the role in get_accessible was affecting GtkBox subclasses negatively. Adjust expected test output to match.
This commit is contained in:
@ -6,6 +6,7 @@ gail_c_sources = \
|
|||||||
gail.c \
|
gail.c \
|
||||||
gtkarrowaccessible.c \
|
gtkarrowaccessible.c \
|
||||||
gailbooleancell.c \
|
gailbooleancell.c \
|
||||||
|
gtkboxaccessible.c \
|
||||||
gailbutton.c \
|
gailbutton.c \
|
||||||
gailcell.c \
|
gailcell.c \
|
||||||
gailcellparent.c \
|
gailcellparent.c \
|
||||||
@ -15,7 +16,7 @@ gail_c_sources = \
|
|||||||
gailcontainer.c \
|
gailcontainer.c \
|
||||||
gailcontainercell.c \
|
gailcontainercell.c \
|
||||||
gtkentryaccessible.c \
|
gtkentryaccessible.c \
|
||||||
gailexpander.c \
|
gtkexpanderaccessible.c \
|
||||||
gtkframeaccessible.c \
|
gtkframeaccessible.c \
|
||||||
gtkimageaccessible.c \
|
gtkimageaccessible.c \
|
||||||
gailimagecell.c \
|
gailimagecell.c \
|
||||||
@ -56,6 +57,7 @@ libgailincludedir=$(includedir)/gail-3.0/gail
|
|||||||
gail_private_h_sources = \
|
gail_private_h_sources = \
|
||||||
gtkarrowaccessible.h \
|
gtkarrowaccessible.h \
|
||||||
gailbooleancell.h \
|
gailbooleancell.h \
|
||||||
|
gtkboxaccessible.h \
|
||||||
gailbutton.h \
|
gailbutton.h \
|
||||||
gailcell.h \
|
gailcell.h \
|
||||||
gailcellparent.h \
|
gailcellparent.h \
|
||||||
@ -65,7 +67,7 @@ gail_private_h_sources = \
|
|||||||
gailcontainercell.h \
|
gailcontainercell.h \
|
||||||
gailcontainer.h \
|
gailcontainer.h \
|
||||||
gtkentryaccessible.h \
|
gtkentryaccessible.h \
|
||||||
gailexpander.h \
|
gtkexpanderaccessible.h \
|
||||||
gailfactory.h \
|
gailfactory.h \
|
||||||
gtkframeaccessible.h \
|
gtkframeaccessible.h \
|
||||||
gtkimageaccessible.h \
|
gtkimageaccessible.h \
|
||||||
|
|||||||
@ -29,7 +29,6 @@
|
|||||||
#include "gailcheckmenuitem.h"
|
#include "gailcheckmenuitem.h"
|
||||||
#include "gailcontainer.h"
|
#include "gailcontainer.h"
|
||||||
#include "gailcontainercell.h"
|
#include "gailcontainercell.h"
|
||||||
#include "gailexpander.h"
|
|
||||||
#include "gailimagecell.h"
|
#include "gailimagecell.h"
|
||||||
#include "gailmenu.h"
|
#include "gailmenu.h"
|
||||||
#include "gailmenushell.h"
|
#include "gailmenushell.h"
|
||||||
@ -95,7 +94,6 @@ GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_MENU, GailMenu, gail_menu, GTK_TYPE_MENU)
|
|||||||
GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_WINDOW, GailWindow, gail_window, GTK_TYPE_BIN)
|
GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_WINDOW, GailWindow, gail_window, GTK_TYPE_BIN)
|
||||||
GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_CHECK_MENU_ITEM, GailCheckMenuItem, gail_check_menu_item, gail_check_menu_item_new)
|
GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_CHECK_MENU_ITEM, GailCheckMenuItem, gail_check_menu_item, gail_check_menu_item_new)
|
||||||
GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_RADIO_MENU_ITEM, GailRadioMenuItem, gail_radio_menu_item, gail_radio_menu_item_new)
|
GAIL_IMPLEMENT_FACTORY_WITH_FUNC (GAIL_TYPE_RADIO_MENU_ITEM, GailRadioMenuItem, gail_radio_menu_item, gail_radio_menu_item_new)
|
||||||
GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_EXPANDER, GailExpander, gail_expander, GTK_TYPE_EXPANDER)
|
|
||||||
GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_RENDERER_CELL, GailRendererCell, gail_renderer_cell, GTK_TYPE_CELL_RENDERER, gail_renderer_cell_new)
|
GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_RENDERER_CELL, GailRendererCell, gail_renderer_cell, GTK_TYPE_CELL_RENDERER, gail_renderer_cell_new)
|
||||||
GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_BOOLEAN_CELL, GailBooleanCell, gail_boolean_cell, GTK_TYPE_CELL_RENDERER_TOGGLE, gail_boolean_cell_new)
|
GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_BOOLEAN_CELL, GailBooleanCell, gail_boolean_cell, GTK_TYPE_CELL_RENDERER_TOGGLE, gail_boolean_cell_new)
|
||||||
GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_IMAGE_CELL, GailImageCell, gail_image_cell, GTK_TYPE_CELL_RENDERER_PIXBUF, gail_image_cell_new)
|
GAIL_IMPLEMENT_FACTORY_WITH_FUNC_DUMMY (GAIL_TYPE_IMAGE_CELL, GailImageCell, gail_image_cell, GTK_TYPE_CELL_RENDERER_PIXBUF, gail_image_cell_new)
|
||||||
@ -853,7 +851,6 @@ gail_accessibility_module_init (void)
|
|||||||
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CELL_RENDERER, gail_renderer_cell);
|
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CELL_RENDERER, gail_renderer_cell);
|
||||||
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CHECK_MENU_ITEM, gail_check_menu_item);
|
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_CHECK_MENU_ITEM, gail_check_menu_item);
|
||||||
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_RADIO_MENU_ITEM, gail_radio_menu_item);
|
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_RADIO_MENU_ITEM, gail_radio_menu_item);
|
||||||
GAIL_WIDGET_SET_FACTORY (GTK_TYPE_EXPANDER, gail_expander);
|
|
||||||
|
|
||||||
atk_focus_tracker_init (gail_focus_tracker_init);
|
atk_focus_tracker_init (gail_focus_tracker_init);
|
||||||
focus_tracker_id = atk_add_focus_tracker (gail_focus_tracker);
|
focus_tracker_id = atk_add_focus_tracker (gail_focus_tracker);
|
||||||
|
|||||||
@ -1,435 +0,0 @@
|
|||||||
/* GAIL - The GNOME Accessibility Implementation Library
|
|
||||||
* Copyright 2003 Sun Microsystems Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
#include <gtk/gtk.h>
|
|
||||||
#include <gdk/gdkkeysyms.h>
|
|
||||||
#include "gailexpander.h"
|
|
||||||
|
|
||||||
static void gail_expander_class_init (GailExpanderClass *klass);
|
|
||||||
static void gail_expander_init (GailExpander *expander);
|
|
||||||
|
|
||||||
static const gchar* gail_expander_get_name (AtkObject *obj);
|
|
||||||
static gint gail_expander_get_n_children (AtkObject *obj)
|
|
||||||
;
|
|
||||||
static AtkObject* gail_expander_ref_child (AtkObject *obj,
|
|
||||||
gint i);
|
|
||||||
|
|
||||||
static AtkStateSet* gail_expander_ref_state_set (AtkObject *obj);
|
|
||||||
static void gail_expander_real_notify_gtk (GObject *obj,
|
|
||||||
GParamSpec *pspec);
|
|
||||||
static void gail_expander_map_gtk (GtkWidget *widget,
|
|
||||||
gpointer data);
|
|
||||||
|
|
||||||
static void gail_expander_real_initialize (AtkObject *obj,
|
|
||||||
gpointer data);
|
|
||||||
static void gail_expander_finalize (GObject *object);
|
|
||||||
static void gail_expander_init_textutil (GailExpander *expander,
|
|
||||||
GtkExpander *widget);
|
|
||||||
static const gchar* gail_expander_get_full_text (GtkExpander *widget);
|
|
||||||
|
|
||||||
static void atk_action_interface_init (AtkActionIface *iface);
|
|
||||||
static gboolean gail_expander_do_action (AtkAction *action,
|
|
||||||
gint i);
|
|
||||||
static gint gail_expander_get_n_actions(AtkAction *action);
|
|
||||||
static const gchar* gail_expander_get_keybinding
|
|
||||||
(AtkAction *action,
|
|
||||||
gint i);
|
|
||||||
static const gchar* gail_expander_action_get_name
|
|
||||||
(AtkAction *action,
|
|
||||||
gint i);
|
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_CODE (GailExpander, gail_expander, GAIL_TYPE_CONTAINER,
|
|
||||||
G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
|
|
||||||
|
|
||||||
static void
|
|
||||||
gail_expander_class_init (GailExpanderClass *klass)
|
|
||||||
{
|
|
||||||
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
|
||||||
AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
|
|
||||||
GailWidgetClass *widget_class;
|
|
||||||
|
|
||||||
widget_class = (GailWidgetClass*)klass;
|
|
||||||
widget_class->notify_gtk = gail_expander_real_notify_gtk;
|
|
||||||
|
|
||||||
gobject_class->finalize = gail_expander_finalize;
|
|
||||||
|
|
||||||
class->get_name = gail_expander_get_name;
|
|
||||||
class->get_n_children = gail_expander_get_n_children;
|
|
||||||
class->ref_child = gail_expander_ref_child;
|
|
||||||
class->ref_state_set = gail_expander_ref_state_set;
|
|
||||||
|
|
||||||
class->initialize = gail_expander_real_initialize;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gail_expander_init (GailExpander *expander)
|
|
||||||
{
|
|
||||||
expander->activate_keybinding = NULL;
|
|
||||||
expander->textutil = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const gchar*
|
|
||||||
gail_expander_get_name (AtkObject *obj)
|
|
||||||
{
|
|
||||||
const gchar *name;
|
|
||||||
g_return_val_if_fail (GAIL_IS_EXPANDER (obj), NULL);
|
|
||||||
|
|
||||||
name = ATK_OBJECT_CLASS (gail_expander_parent_class)->get_name (obj);
|
|
||||||
if (name != NULL)
|
|
||||||
return name;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Get the text on the label
|
|
||||||
*/
|
|
||||||
GtkWidget *widget;
|
|
||||||
|
|
||||||
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
|
|
||||||
if (widget == NULL)
|
|
||||||
/*
|
|
||||||
* State is defunct
|
|
||||||
*/
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
g_return_val_if_fail (GTK_IS_EXPANDER (widget), NULL);
|
|
||||||
|
|
||||||
return gail_expander_get_full_text (GTK_EXPANDER (widget));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static gint
|
|
||||||
gail_expander_get_n_children (AtkObject* obj)
|
|
||||||
{
|
|
||||||
GtkWidget *widget;
|
|
||||||
GList *children;
|
|
||||||
gint count = 0;
|
|
||||||
|
|
||||||
g_return_val_if_fail (GAIL_IS_CONTAINER (obj), count);
|
|
||||||
|
|
||||||
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
|
|
||||||
if (widget == NULL)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
children = gtk_container_get_children (GTK_CONTAINER(widget));
|
|
||||||
count = g_list_length (children);
|
|
||||||
g_list_free (children);
|
|
||||||
|
|
||||||
/* See if there is a label - if there is, reduce our count by 1
|
|
||||||
* since we don't want the label included with the children.
|
|
||||||
*/
|
|
||||||
if (gtk_expander_get_label_widget (GTK_EXPANDER (widget)))
|
|
||||||
count -= 1;
|
|
||||||
|
|
||||||
return count;
|
|
||||||
}
|
|
||||||
|
|
||||||
static AtkObject*
|
|
||||||
gail_expander_ref_child (AtkObject *obj,
|
|
||||||
gint i)
|
|
||||||
{
|
|
||||||
GList *children, *tmp_list;
|
|
||||||
AtkObject *accessible;
|
|
||||||
GtkWidget *widget;
|
|
||||||
GtkWidget *label;
|
|
||||||
gint index;
|
|
||||||
|
|
||||||
g_return_val_if_fail (GAIL_IS_CONTAINER (obj), NULL);
|
|
||||||
g_return_val_if_fail ((i >= 0), NULL);
|
|
||||||
|
|
||||||
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
|
|
||||||
if (widget == NULL)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
children = gtk_container_get_children (GTK_CONTAINER (widget));
|
|
||||||
|
|
||||||
/* See if there is a label - if there is, we need to skip it
|
|
||||||
* since we don't want the label included with the children.
|
|
||||||
*/
|
|
||||||
label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
|
|
||||||
if (label) {
|
|
||||||
for (index = 0; index <= i; index++) {
|
|
||||||
tmp_list = g_list_nth (children, index);
|
|
||||||
if (label == GTK_WIDGET (tmp_list->data)) {
|
|
||||||
i += 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tmp_list = g_list_nth (children, i);
|
|
||||||
if (!tmp_list)
|
|
||||||
{
|
|
||||||
g_list_free (children);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
|
|
||||||
|
|
||||||
g_list_free (children);
|
|
||||||
g_object_ref (accessible);
|
|
||||||
return accessible;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gail_expander_real_initialize (AtkObject *obj,
|
|
||||||
gpointer data)
|
|
||||||
{
|
|
||||||
GailExpander *gail_expander = GAIL_EXPANDER (obj);
|
|
||||||
GtkWidget *expander;
|
|
||||||
|
|
||||||
ATK_OBJECT_CLASS (gail_expander_parent_class)->initialize (obj, data);
|
|
||||||
|
|
||||||
expander = GTK_WIDGET (data);
|
|
||||||
if (gtk_widget_get_mapped (expander))
|
|
||||||
gail_expander_init_textutil (gail_expander, GTK_EXPANDER (expander));
|
|
||||||
else
|
|
||||||
g_signal_connect (expander,
|
|
||||||
"map",
|
|
||||||
G_CALLBACK (gail_expander_map_gtk),
|
|
||||||
gail_expander);
|
|
||||||
|
|
||||||
obj->role = ATK_ROLE_TOGGLE_BUTTON;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gail_expander_map_gtk (GtkWidget *widget,
|
|
||||||
gpointer data)
|
|
||||||
{
|
|
||||||
GailExpander *expander;
|
|
||||||
|
|
||||||
expander = GAIL_EXPANDER (data);
|
|
||||||
gail_expander_init_textutil (expander, GTK_EXPANDER (widget));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gail_expander_real_notify_gtk (GObject *obj,
|
|
||||||
GParamSpec *pspec)
|
|
||||||
{
|
|
||||||
AtkObject* atk_obj;
|
|
||||||
GtkExpander *expander;
|
|
||||||
GailExpander *gail_expander;
|
|
||||||
|
|
||||||
expander = GTK_EXPANDER (obj);
|
|
||||||
atk_obj = gtk_widget_get_accessible (GTK_WIDGET (expander));
|
|
||||||
;
|
|
||||||
if (strcmp (pspec->name, "label") == 0)
|
|
||||||
{
|
|
||||||
const gchar* label_text;
|
|
||||||
|
|
||||||
|
|
||||||
label_text = gail_expander_get_full_text (expander);
|
|
||||||
|
|
||||||
gail_expander = GAIL_EXPANDER (atk_obj);
|
|
||||||
if (gail_expander->textutil)
|
|
||||||
gail_text_util_text_setup (gail_expander->textutil, label_text);
|
|
||||||
|
|
||||||
if (atk_obj->name == NULL)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* The label has changed so notify a change in accessible-name
|
|
||||||
*/
|
|
||||||
g_object_notify (G_OBJECT (atk_obj), "accessible-name");
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* The label is the only property which can be changed
|
|
||||||
*/
|
|
||||||
g_signal_emit_by_name (atk_obj, "visible_data_changed");
|
|
||||||
}
|
|
||||||
else if (strcmp (pspec->name, "expanded") == 0)
|
|
||||||
{
|
|
||||||
atk_object_notify_state_change (atk_obj, ATK_STATE_CHECKED,
|
|
||||||
gtk_expander_get_expanded (expander));
|
|
||||||
atk_object_notify_state_change (atk_obj, ATK_STATE_EXPANDED,
|
|
||||||
gtk_expander_get_expanded (expander));
|
|
||||||
g_signal_emit_by_name (atk_obj, "visible_data_changed");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
GAIL_WIDGET_CLASS (gail_expander_parent_class)->notify_gtk (obj, pspec);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const gchar*
|
|
||||||
gail_expander_get_full_text (GtkExpander *widget)
|
|
||||||
{
|
|
||||||
GtkWidget *label_widget;
|
|
||||||
|
|
||||||
label_widget = gtk_expander_get_label_widget (widget);
|
|
||||||
|
|
||||||
if (!GTK_IS_LABEL (label_widget))
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
return gtk_label_get_text (GTK_LABEL (label_widget));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gail_expander_init_textutil (GailExpander *expander,
|
|
||||||
GtkExpander *widget)
|
|
||||||
{
|
|
||||||
const gchar *label_text;
|
|
||||||
|
|
||||||
expander->textutil = gail_text_util_new ();
|
|
||||||
label_text = gail_expander_get_full_text (widget);
|
|
||||||
gail_text_util_text_setup (expander->textutil, label_text);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
atk_action_interface_init (AtkActionIface *iface)
|
|
||||||
{
|
|
||||||
iface->do_action = gail_expander_do_action;
|
|
||||||
iface->get_n_actions = gail_expander_get_n_actions;
|
|
||||||
iface->get_keybinding = gail_expander_get_keybinding;
|
|
||||||
iface->get_name = gail_expander_action_get_name;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gail_expander_do_action (AtkAction *action,
|
|
||||||
gint i)
|
|
||||||
{
|
|
||||||
GtkWidget *widget;
|
|
||||||
gboolean return_value = TRUE;
|
|
||||||
|
|
||||||
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
|
|
||||||
if (widget == NULL)
|
|
||||||
/*
|
|
||||||
* State is defunct
|
|
||||||
*/
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
switch (i)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
gtk_widget_activate (widget);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return_value = FALSE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return return_value;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gint
|
|
||||||
gail_expander_get_n_actions (AtkAction *action)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const gchar*
|
|
||||||
gail_expander_get_keybinding (AtkAction *action,
|
|
||||||
gint i)
|
|
||||||
{
|
|
||||||
GailExpander *expander;
|
|
||||||
gchar *return_value = NULL;
|
|
||||||
|
|
||||||
switch (i)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* We look for a mnemonic on the label
|
|
||||||
*/
|
|
||||||
GtkWidget *widget;
|
|
||||||
GtkWidget *label;
|
|
||||||
|
|
||||||
expander = GAIL_EXPANDER (action);
|
|
||||||
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (expander));
|
|
||||||
if (widget == NULL)
|
|
||||||
/*
|
|
||||||
* State is defunct
|
|
||||||
*/
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
g_return_val_if_fail (GTK_IS_EXPANDER (widget), NULL);
|
|
||||||
|
|
||||||
label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
|
|
||||||
if (GTK_IS_LABEL (label))
|
|
||||||
{
|
|
||||||
guint key_val;
|
|
||||||
|
|
||||||
key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
|
|
||||||
if (key_val != GDK_KEY_VoidSymbol)
|
|
||||||
return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
|
|
||||||
g_free (expander->activate_keybinding);
|
|
||||||
expander->activate_keybinding = return_value;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return return_value;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const gchar*
|
|
||||||
gail_expander_action_get_name (AtkAction *action,
|
|
||||||
gint i)
|
|
||||||
{
|
|
||||||
const gchar *return_value;
|
|
||||||
|
|
||||||
switch (i)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
return_value = "activate";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return_value = NULL;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return return_value;
|
|
||||||
}
|
|
||||||
|
|
||||||
static AtkStateSet*
|
|
||||||
gail_expander_ref_state_set (AtkObject *obj)
|
|
||||||
{
|
|
||||||
AtkStateSet *state_set;
|
|
||||||
GtkWidget *widget;
|
|
||||||
GtkExpander *expander;
|
|
||||||
|
|
||||||
state_set = ATK_OBJECT_CLASS (gail_expander_parent_class)->ref_state_set (obj);
|
|
||||||
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
|
|
||||||
|
|
||||||
if (widget == NULL)
|
|
||||||
return state_set;
|
|
||||||
|
|
||||||
expander = GTK_EXPANDER (widget);
|
|
||||||
|
|
||||||
atk_state_set_add_state (state_set, ATK_STATE_EXPANDABLE);
|
|
||||||
|
|
||||||
if (gtk_expander_get_expanded (expander)) {
|
|
||||||
atk_state_set_add_state (state_set, ATK_STATE_CHECKED);
|
|
||||||
atk_state_set_add_state (state_set, ATK_STATE_EXPANDED);
|
|
||||||
}
|
|
||||||
|
|
||||||
return state_set;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gail_expander_finalize (GObject *object)
|
|
||||||
{
|
|
||||||
GailExpander *expander = GAIL_EXPANDER (object);
|
|
||||||
|
|
||||||
g_free (expander->activate_keybinding);
|
|
||||||
if (expander->textutil)
|
|
||||||
g_object_unref (expander->textutil);
|
|
||||||
|
|
||||||
G_OBJECT_CLASS (gail_expander_parent_class)->finalize (object);
|
|
||||||
}
|
|
||||||
@ -1,56 +0,0 @@
|
|||||||
/* GAIL - The GNOME Accessibility Implementation Library
|
|
||||||
* Copyright 2003 Sun Microsystems Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Library General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Library General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Library 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GAIL_EXPANDER_H__
|
|
||||||
#define __GAIL_EXPANDER_H__
|
|
||||||
|
|
||||||
#include "gailcontainer.h"
|
|
||||||
#include "gailtextutil.h"
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GAIL_TYPE_EXPANDER (gail_expander_get_type ())
|
|
||||||
#define GAIL_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_EXPANDER, GailExpander))
|
|
||||||
#define GAIL_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_EXPANDER, GailExpanderClass))
|
|
||||||
#define GAIL_IS_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_EXPANDER))
|
|
||||||
#define GAIL_IS_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_EXPANDER))
|
|
||||||
#define GAIL_EXPANDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_EXPANDER, GailExpanderClass))
|
|
||||||
|
|
||||||
typedef struct _GailExpander GailExpander;
|
|
||||||
typedef struct _GailExpanderClass GailExpanderClass;
|
|
||||||
|
|
||||||
struct _GailExpander
|
|
||||||
{
|
|
||||||
GailContainer parent;
|
|
||||||
|
|
||||||
gchar *activate_keybinding;
|
|
||||||
|
|
||||||
GailTextUtil *textutil;
|
|
||||||
};
|
|
||||||
|
|
||||||
GType gail_expander_get_type (void);
|
|
||||||
|
|
||||||
struct _GailExpanderClass
|
|
||||||
{
|
|
||||||
GailContainerClass parent_class;
|
|
||||||
};
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif /* __GAIL_EXPANDER_H__ */
|
|
||||||
46
gtk/a11y/gtkboxaccessible.c
Normal file
46
gtk/a11y/gtkboxaccessible.c
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
/* GAIL - The GNOME Accessibility Implementation Library
|
||||||
|
* Copyright 2004 Sun Microsystems Inc.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
#include "gtkboxaccessible.h"
|
||||||
|
|
||||||
|
G_DEFINE_TYPE (GtkBoxAccessible, gtk_box_accessible, GAIL_TYPE_CONTAINER)
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_box_accessible_initialize (AtkObject *accessible,
|
||||||
|
gpointer data)
|
||||||
|
{
|
||||||
|
ATK_OBJECT_CLASS (gtk_box_accessible_parent_class)->initialize (accessible, data);
|
||||||
|
accessible->role = ATK_ROLE_FILLER;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_box_accessible_class_init (GtkBoxAccessibleClass *klass)
|
||||||
|
{
|
||||||
|
AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
|
||||||
|
|
||||||
|
class->initialize = gtk_box_accessible_initialize;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_box_accessible_init (GtkBoxAccessible *scale)
|
||||||
|
{
|
||||||
|
}
|
||||||
51
gtk/a11y/gtkboxaccessible.h
Normal file
51
gtk/a11y/gtkboxaccessible.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/* GAIL - The GNOME Accessibility Implementation Library
|
||||||
|
* Copyright 2004 Sun Microsystems Inc.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Library General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Library General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Library 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GTK_BOX_ACCESSIBLE_H__
|
||||||
|
#define __GTK_BOX_ACCESSIBLE_H__
|
||||||
|
|
||||||
|
#include "gailcontainer.h"
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
#define GTK_TYPE_BOX_ACCESSIBLE (gtk_box_accessible_get_type ())
|
||||||
|
#define GTK_BOX_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_BOX_ACCESSIBLE, GtkBoxAccessible))
|
||||||
|
#define GTK_BOX_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_BOX_ACCESSIBLE, GtkBoxAccessibleClass))
|
||||||
|
#define GTK_IS_BOX_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_BOX_ACCESSIBLE))
|
||||||
|
#define GTK_IS_BOX_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BOX_ACCESSIBLE))
|
||||||
|
#define GTK_BOX_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BOX_ACCESSIBLE, GtkBoxAccessibleClass))
|
||||||
|
|
||||||
|
typedef struct _GtkBoxAccessible GtkBoxAccessible;
|
||||||
|
typedef struct _GtkBoxAccessibleClass GtkBoxAccessibleClass;
|
||||||
|
|
||||||
|
struct _GtkBoxAccessible
|
||||||
|
{
|
||||||
|
GailContainer parent;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _GtkBoxAccessibleClass
|
||||||
|
{
|
||||||
|
GailContainerClass parent_class;
|
||||||
|
};
|
||||||
|
|
||||||
|
GType gtk_box_accessible_get_type (void);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif /* __GTK_BOX_ACCESSIBLE_H__ */
|
||||||
290
gtk/a11y/gtkexpanderaccessible.c
Normal file
290
gtk/a11y/gtkexpanderaccessible.c
Normal file
@ -0,0 +1,290 @@
|
|||||||
|
/* GAIL - The GNOME Accessibility Implementation Library
|
||||||
|
* Copyright 2003 Sun Microsystems Inc.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
#include <gdk/gdkkeysyms.h>
|
||||||
|
#include "gtkexpanderaccessible.h"
|
||||||
|
|
||||||
|
static void atk_action_interface_init (AtkActionIface *iface);
|
||||||
|
|
||||||
|
G_DEFINE_TYPE_WITH_CODE (GtkExpanderAccessible, gtk_expander_accessible, GAIL_TYPE_CONTAINER,
|
||||||
|
G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
|
||||||
|
|
||||||
|
static const gchar *
|
||||||
|
gtk_expander_accessible_get_full_text (GtkExpander *widget)
|
||||||
|
{
|
||||||
|
GtkWidget *label_widget;
|
||||||
|
|
||||||
|
label_widget = gtk_expander_get_label_widget (widget);
|
||||||
|
|
||||||
|
if (!GTK_IS_LABEL (label_widget))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return gtk_label_get_text (GTK_LABEL (label_widget));
|
||||||
|
}
|
||||||
|
|
||||||
|
static const gchar *
|
||||||
|
gtk_expander_accessible_get_name (AtkObject *obj)
|
||||||
|
{
|
||||||
|
GtkWidget *widget;
|
||||||
|
const gchar *name;
|
||||||
|
|
||||||
|
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
|
||||||
|
if (widget == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
name = ATK_OBJECT_CLASS (gtk_expander_accessible_parent_class)->get_name (obj);
|
||||||
|
if (name != NULL)
|
||||||
|
return name;
|
||||||
|
|
||||||
|
return gtk_expander_accessible_get_full_text (GTK_EXPANDER (widget));
|
||||||
|
}
|
||||||
|
|
||||||
|
static gint
|
||||||
|
gtk_expander_accessible_get_n_children (AtkObject *obj)
|
||||||
|
{
|
||||||
|
GtkWidget *widget;
|
||||||
|
GList *children;
|
||||||
|
gint count = 0;
|
||||||
|
|
||||||
|
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
|
||||||
|
if (widget == NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
children = gtk_container_get_children (GTK_CONTAINER(widget));
|
||||||
|
count = g_list_length (children);
|
||||||
|
g_list_free (children);
|
||||||
|
|
||||||
|
/* See if there is a label - if there is, reduce our count by 1
|
||||||
|
* since we don't want the label included with the children.
|
||||||
|
*/
|
||||||
|
if (gtk_expander_get_label_widget (GTK_EXPANDER (widget)))
|
||||||
|
count -= 1;
|
||||||
|
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
static AtkObject *
|
||||||
|
gtk_expander_accessible_ref_child (AtkObject *obj,
|
||||||
|
gint i)
|
||||||
|
{
|
||||||
|
GList *children, *tmp_list;
|
||||||
|
AtkObject *accessible;
|
||||||
|
GtkWidget *widget;
|
||||||
|
GtkWidget *label;
|
||||||
|
gint index;
|
||||||
|
|
||||||
|
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
|
||||||
|
if (widget == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
children = gtk_container_get_children (GTK_CONTAINER (widget));
|
||||||
|
|
||||||
|
/* See if there is a label - if there is, we need to skip it
|
||||||
|
* since we don't want the label included with the children.
|
||||||
|
*/
|
||||||
|
label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
|
||||||
|
if (label)
|
||||||
|
{
|
||||||
|
for (index = 0; index <= i; index++)
|
||||||
|
{
|
||||||
|
tmp_list = g_list_nth (children, index);
|
||||||
|
if (label == GTK_WIDGET (tmp_list->data))
|
||||||
|
{
|
||||||
|
i += 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tmp_list = g_list_nth (children, i);
|
||||||
|
if (!tmp_list)
|
||||||
|
{
|
||||||
|
g_list_free (children);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
|
||||||
|
|
||||||
|
g_list_free (children);
|
||||||
|
g_object_ref (accessible);
|
||||||
|
return accessible;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_expander_accessible_initialize (AtkObject *obj,
|
||||||
|
gpointer data)
|
||||||
|
{
|
||||||
|
ATK_OBJECT_CLASS (gtk_expander_accessible_parent_class)->initialize (obj, data);
|
||||||
|
|
||||||
|
obj->role = ATK_ROLE_TOGGLE_BUTTON;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_expander_accessible_notify_gtk (GObject *obj,
|
||||||
|
GParamSpec *pspec)
|
||||||
|
{
|
||||||
|
AtkObject* atk_obj;
|
||||||
|
GtkExpander *expander;
|
||||||
|
|
||||||
|
expander = GTK_EXPANDER (obj);
|
||||||
|
atk_obj = gtk_widget_get_accessible (GTK_WIDGET (expander));
|
||||||
|
;
|
||||||
|
if (strcmp (pspec->name, "label") == 0)
|
||||||
|
{
|
||||||
|
if (atk_obj->name == NULL)
|
||||||
|
g_object_notify (G_OBJECT (atk_obj), "accessible-name");
|
||||||
|
g_signal_emit_by_name (atk_obj, "visible_data_changed");
|
||||||
|
}
|
||||||
|
else if (strcmp (pspec->name, "expanded") == 0)
|
||||||
|
{
|
||||||
|
atk_object_notify_state_change (atk_obj, ATK_STATE_CHECKED,
|
||||||
|
gtk_expander_get_expanded (expander));
|
||||||
|
atk_object_notify_state_change (atk_obj, ATK_STATE_EXPANDED,
|
||||||
|
gtk_expander_get_expanded (expander));
|
||||||
|
g_signal_emit_by_name (atk_obj, "visible_data_changed");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
GAIL_WIDGET_CLASS (gtk_expander_accessible_parent_class)->notify_gtk (obj, pspec);
|
||||||
|
}
|
||||||
|
|
||||||
|
static AtkStateSet*
|
||||||
|
gtk_expander_accessible_ref_state_set (AtkObject *obj)
|
||||||
|
{
|
||||||
|
AtkStateSet *state_set;
|
||||||
|
GtkWidget *widget;
|
||||||
|
GtkExpander *expander;
|
||||||
|
|
||||||
|
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
|
||||||
|
if (widget == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
state_set = ATK_OBJECT_CLASS (gtk_expander_accessible_parent_class)->ref_state_set (obj);
|
||||||
|
|
||||||
|
expander = GTK_EXPANDER (widget);
|
||||||
|
|
||||||
|
atk_state_set_add_state (state_set, ATK_STATE_EXPANDABLE);
|
||||||
|
|
||||||
|
if (gtk_expander_get_expanded (expander))
|
||||||
|
{
|
||||||
|
atk_state_set_add_state (state_set, ATK_STATE_CHECKED);
|
||||||
|
atk_state_set_add_state (state_set, ATK_STATE_EXPANDED);
|
||||||
|
}
|
||||||
|
|
||||||
|
return state_set;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_expander_accessible_class_init (GtkExpanderAccessibleClass *klass)
|
||||||
|
{
|
||||||
|
AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
|
||||||
|
GailWidgetClass *widget_class = (GailWidgetClass*)klass;
|
||||||
|
|
||||||
|
widget_class->notify_gtk = gtk_expander_accessible_notify_gtk;
|
||||||
|
|
||||||
|
class->get_name = gtk_expander_accessible_get_name;
|
||||||
|
class->get_n_children = gtk_expander_accessible_get_n_children;
|
||||||
|
class->ref_child = gtk_expander_accessible_ref_child;
|
||||||
|
class->ref_state_set = gtk_expander_accessible_ref_state_set;
|
||||||
|
|
||||||
|
class->initialize = gtk_expander_accessible_initialize;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_expander_accessible_init (GtkExpanderAccessible *expander)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gtk_expander_accessible_do_action (AtkAction *action,
|
||||||
|
gint i)
|
||||||
|
{
|
||||||
|
GtkWidget *widget;
|
||||||
|
|
||||||
|
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
|
||||||
|
if (widget == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (!gtk_widget_is_sensitive (widget) || !gtk_widget_get_visible (widget))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (i != 0)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
gtk_widget_activate (widget);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gint
|
||||||
|
gtk_expander_accessible_get_n_actions (AtkAction *action)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const gchar *
|
||||||
|
gtk_expander_accessible_get_keybinding (AtkAction *action,
|
||||||
|
gint i)
|
||||||
|
{
|
||||||
|
GtkExpanderAccessible *expander;
|
||||||
|
gchar *return_value = NULL;
|
||||||
|
GtkWidget *widget;
|
||||||
|
GtkWidget *label;
|
||||||
|
|
||||||
|
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
|
||||||
|
if (widget == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (i != 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
expander = GTK_EXPANDER_ACCESSIBLE (action);
|
||||||
|
|
||||||
|
label = gtk_expander_get_label_widget (GTK_EXPANDER (widget));
|
||||||
|
if (GTK_IS_LABEL (label))
|
||||||
|
{
|
||||||
|
guint key_val;
|
||||||
|
|
||||||
|
key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label));
|
||||||
|
if (key_val != GDK_KEY_VoidSymbol)
|
||||||
|
return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
|
||||||
|
}
|
||||||
|
|
||||||
|
return return_value;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const gchar *
|
||||||
|
gtk_expander_accessible_action_get_name (AtkAction *action,
|
||||||
|
gint i)
|
||||||
|
{
|
||||||
|
if (i != 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return "activate";
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
atk_action_interface_init (AtkActionIface *iface)
|
||||||
|
{
|
||||||
|
iface->do_action = gtk_expander_accessible_do_action;
|
||||||
|
iface->get_n_actions = gtk_expander_accessible_get_n_actions;
|
||||||
|
iface->get_keybinding = gtk_expander_accessible_get_keybinding;
|
||||||
|
iface->get_name = gtk_expander_accessible_action_get_name;
|
||||||
|
}
|
||||||
51
gtk/a11y/gtkexpanderaccessible.h
Normal file
51
gtk/a11y/gtkexpanderaccessible.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/* GAIL - The GNOME Accessibility Implementation Library
|
||||||
|
* Copyright 2003 Sun Microsystems Inc.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Library General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Library General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Library 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GTK_EXPANDER_ACCESSIBLE_H__
|
||||||
|
#define __GTK_EXPANDER_ACCESSIBLE_H__
|
||||||
|
|
||||||
|
#include "gailcontainer.h"
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
#define GTK_TYPE_EXPANDER_ACCESSIBLE (gtk_expander_accessible_get_type ())
|
||||||
|
#define GTK_EXPANDER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EXPANDER_ACCESSIBLE, GtkExpanderAccessible))
|
||||||
|
#define GTK_EXPANDER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_EXPANDER_ACCESSIBLE, GtkExpanderAccessibleClass))
|
||||||
|
#define GTK_IS_EXPANDER_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EXPANDER_ACCESSIBLE))
|
||||||
|
#define GTK_IS_EXPANDER_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EXPANDER_ACCESSIBLE))
|
||||||
|
#define GTK_EXPANDER_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_EXPANDER_ACCESSIBLE, GtkExpanderAccessibleClass))
|
||||||
|
|
||||||
|
typedef struct _GtkExpanderAccessible GtkExpanderAccessible;
|
||||||
|
typedef struct _GtkExpanderAccessibleClass GtkExpanderAccessibleClass;
|
||||||
|
|
||||||
|
struct _GtkExpanderAccessible
|
||||||
|
{
|
||||||
|
GailContainer parent;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _GtkExpanderAccessibleClass
|
||||||
|
{
|
||||||
|
GailContainerClass parent_class;
|
||||||
|
};
|
||||||
|
|
||||||
|
GType gtk_expander_accessible_get_type (void);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif /* __GTK_EXPANDER_ACCESSIBLE_H__ */
|
||||||
@ -24,7 +24,7 @@
|
|||||||
#include "gtkstatusbaraccessible.h"
|
#include "gtkstatusbaraccessible.h"
|
||||||
|
|
||||||
|
|
||||||
G_DEFINE_TYPE (GtkStatusbarAccessible, gtk_statusbar_accessible, GAIL_TYPE_CONTAINER)
|
G_DEFINE_TYPE (GtkStatusbarAccessible, gtk_statusbar_accessible, GTK_TYPE_BOX_ACCESSIBLE)
|
||||||
|
|
||||||
static void
|
static void
|
||||||
text_changed (GtkStatusbar *statusbar,
|
text_changed (GtkStatusbar *statusbar,
|
||||||
|
|||||||
@ -20,8 +20,7 @@
|
|||||||
#ifndef __GTK_STATUSBAR_ACCESSIBLE_H__
|
#ifndef __GTK_STATUSBAR_ACCESSIBLE_H__
|
||||||
#define __GTK_STATUSBAR_ACCESSIBLE_H__
|
#define __GTK_STATUSBAR_ACCESSIBLE_H__
|
||||||
|
|
||||||
#include "gailcontainer.h"
|
#include "gtkboxaccessible.h"
|
||||||
#include "gailtextutil.h"
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
@ -37,12 +36,12 @@ typedef struct _GtkStatusbarAccessibleClass GtkStatusbarAccessibleClass;
|
|||||||
|
|
||||||
struct _GtkStatusbarAccessible
|
struct _GtkStatusbarAccessible
|
||||||
{
|
{
|
||||||
GailContainer parent;
|
GtkBoxAccessible parent;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _GtkStatusbarAccessibleClass
|
struct _GtkStatusbarAccessibleClass
|
||||||
{
|
{
|
||||||
GailContainerClass parent_class;
|
GtkBoxAccessibleClass parent_class;
|
||||||
};
|
};
|
||||||
|
|
||||||
GType gtk_statusbar_accessible_get_type (void);
|
GType gtk_statusbar_accessible_get_type (void);
|
||||||
|
|||||||
19
gtk/gtkbox.c
19
gtk/gtkbox.c
@ -85,6 +85,7 @@
|
|||||||
#include "gtktypebuiltins.h"
|
#include "gtktypebuiltins.h"
|
||||||
#include "gtkprivate.h"
|
#include "gtkprivate.h"
|
||||||
#include "gtkintl.h"
|
#include "gtkintl.h"
|
||||||
|
#include "a11y/gtkboxaccessible.h"
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -198,8 +199,6 @@ static void gtk_box_get_preferred_height_for_width (GtkWidget
|
|||||||
gint *minimum_height,
|
gint *minimum_height,
|
||||||
gint *natural_height);
|
gint *natural_height);
|
||||||
|
|
||||||
static AtkObject *gtk_box_get_accessible (GtkWidget *widget);
|
|
||||||
|
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_CODE (GtkBox, gtk_box, GTK_TYPE_CONTAINER,
|
G_DEFINE_TYPE_WITH_CODE (GtkBox, gtk_box, GTK_TYPE_CONTAINER,
|
||||||
G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE,
|
G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE,
|
||||||
@ -222,7 +221,6 @@ gtk_box_class_init (GtkBoxClass *class)
|
|||||||
widget_class->get_preferred_width_for_height = gtk_box_get_preferred_width_for_height;
|
widget_class->get_preferred_width_for_height = gtk_box_get_preferred_width_for_height;
|
||||||
widget_class->compute_expand = gtk_box_compute_expand;
|
widget_class->compute_expand = gtk_box_compute_expand;
|
||||||
widget_class->direction_changed = gtk_box_direction_changed;
|
widget_class->direction_changed = gtk_box_direction_changed;
|
||||||
widget_class->get_accessible = gtk_box_get_accessible;
|
|
||||||
|
|
||||||
container_class->add = gtk_box_add;
|
container_class->add = gtk_box_add;
|
||||||
container_class->remove = gtk_box_remove;
|
container_class->remove = gtk_box_remove;
|
||||||
@ -316,6 +314,8 @@ gtk_box_class_init (GtkBoxClass *class)
|
|||||||
GTK_PARAM_READWRITE));
|
GTK_PARAM_READWRITE));
|
||||||
|
|
||||||
g_type_class_add_private (object_class, sizeof (GtkBoxPrivate));
|
g_type_class_add_private (object_class, sizeof (GtkBoxPrivate));
|
||||||
|
|
||||||
|
gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_BOX_ACCESSIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1354,19 +1354,6 @@ gtk_box_get_preferred_height_for_width (GtkWidget *widget,
|
|||||||
gtk_box_compute_size_for_orientation (box, width, minimum_height, natural_height);
|
gtk_box_compute_size_for_orientation (box, width, minimum_height, natural_height);
|
||||||
}
|
}
|
||||||
|
|
||||||
static AtkObject *
|
|
||||||
gtk_box_get_accessible (GtkWidget *widget)
|
|
||||||
{
|
|
||||||
AtkObject *obj;
|
|
||||||
|
|
||||||
obj = GTK_WIDGET_CLASS (gtk_box_parent_class)->get_accessible (widget);
|
|
||||||
|
|
||||||
if (atk_object_get_role (obj) == ATK_ROLE_UNKNOWN)
|
|
||||||
atk_object_set_role (obj, ATK_ROLE_FILLER);
|
|
||||||
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gtk_box_new:
|
* gtk_box_new:
|
||||||
* @orientation: the box's orientation.
|
* @orientation: the box's orientation.
|
||||||
|
|||||||
@ -114,6 +114,7 @@
|
|||||||
#include "gtkintl.h"
|
#include "gtkintl.h"
|
||||||
#include "gtkprivate.h"
|
#include "gtkprivate.h"
|
||||||
#include "gtkdnd.h"
|
#include "gtkdnd.h"
|
||||||
|
#include "a11y/gtkexpanderaccessible.h"
|
||||||
|
|
||||||
|
|
||||||
#define DEFAULT_EXPANDER_SIZE 10
|
#define DEFAULT_EXPANDER_SIZE 10
|
||||||
@ -375,6 +376,8 @@ gtk_expander_class_init (GtkExpanderClass *klass)
|
|||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
_gtk_marshal_VOID__VOID,
|
_gtk_marshal_VOID__VOID,
|
||||||
G_TYPE_NONE, 0);
|
G_TYPE_NONE, 0);
|
||||||
|
|
||||||
|
gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_EXPANDER_ACCESSIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
@ -7,7 +7,7 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: window
|
layer: window
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-0
|
unnamed-GtkBoxAccessible-0
|
||||||
"filler"
|
"filler"
|
||||||
parent: window1
|
parent: window1
|
||||||
index: 0
|
index: 0
|
||||||
@ -16,9 +16,9 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-1
|
unnamed-GtkBoxAccessible-1
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled sensitive showing vertical visible
|
state: enabled sensitive showing vertical visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -27,7 +27,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GtkImageAccessible-2
|
unnamed-GtkImageAccessible-2
|
||||||
"icon"
|
"icon"
|
||||||
parent: unnamed-GailContainer-1
|
parent: unnamed-GtkBoxAccessible-1
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled sensitive showing visible
|
state: enabled sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -39,7 +39,7 @@ window1
|
|||||||
image description: (null)
|
image description: (null)
|
||||||
FancyPants
|
FancyPants
|
||||||
"label"
|
"label"
|
||||||
parent: unnamed-GailContainer-1
|
parent: unnamed-GtkBoxAccessible-1
|
||||||
index: 1
|
index: 1
|
||||||
name: FancyPants
|
name: FancyPants
|
||||||
state: enabled focusable multi-line sensitive showing visible
|
state: enabled focusable multi-line sensitive showing visible
|
||||||
@ -78,7 +78,7 @@ window1
|
|||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
unnamed-GtkNotebookAccessible-3
|
unnamed-GtkNotebookAccessible-3
|
||||||
"page tab list"
|
"page tab list"
|
||||||
parent: unnamed-GailContainer-1
|
parent: unnamed-GtkBoxAccessible-1
|
||||||
index: 2
|
index: 2
|
||||||
state: enabled sensitive showing visible
|
state: enabled sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -95,7 +95,7 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-5
|
unnamed-GtkBoxAccessible-5
|
||||||
"filler"
|
"filler"
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled sensitive showing vertical visible
|
state: enabled sensitive showing vertical visible
|
||||||
@ -105,7 +105,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
0.99
|
0.99
|
||||||
"label"
|
"label"
|
||||||
parent: unnamed-GailContainer-5
|
parent: unnamed-GtkBoxAccessible-5
|
||||||
index: 0
|
index: 0
|
||||||
name: 0.99
|
name: 0.99
|
||||||
state: enabled focusable multi-line sensitive showing visible
|
state: enabled focusable multi-line sensitive showing visible
|
||||||
@ -144,7 +144,7 @@ window1
|
|||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
comments
|
comments
|
||||||
"label"
|
"label"
|
||||||
parent: unnamed-GailContainer-5
|
parent: unnamed-GtkBoxAccessible-5
|
||||||
index: 1
|
index: 1
|
||||||
name: comments
|
name: comments
|
||||||
state: enabled focusable multi-line sensitive showing visible
|
state: enabled focusable multi-line sensitive showing visible
|
||||||
@ -181,9 +181,9 @@ window1
|
|||||||
variant: <omitted>
|
variant: <omitted>
|
||||||
weight: <omitted>
|
weight: <omitted>
|
||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
unnamed-GailContainer-6
|
unnamed-GtkBoxAccessible-6
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-5
|
parent: unnamed-GtkBoxAccessible-5
|
||||||
index: 2
|
index: 2
|
||||||
state: enabled horizontal sensitive showing visible
|
state: enabled horizontal sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -192,7 +192,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
Homepage
|
Homepage
|
||||||
"label"
|
"label"
|
||||||
parent: unnamed-GailContainer-6
|
parent: unnamed-GtkBoxAccessible-6
|
||||||
index: 0
|
index: 0
|
||||||
name: Homepage
|
name: Homepage
|
||||||
state: enabled focusable multi-line sensitive showing visible
|
state: enabled focusable multi-line sensitive showing visible
|
||||||
@ -231,7 +231,7 @@ window1
|
|||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
no comments
|
no comments
|
||||||
"label"
|
"label"
|
||||||
parent: unnamed-GailContainer-5
|
parent: unnamed-GtkBoxAccessible-5
|
||||||
index: 3
|
index: 3
|
||||||
name: no comments
|
name: no comments
|
||||||
state: enabled focusable multi-line sensitive showing visible
|
state: enabled focusable multi-line sensitive showing visible
|
||||||
@ -270,7 +270,7 @@ window1
|
|||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details, visit http://www.gnu.org/licenses/gpl.html
|
This program comes with ABSOLUTELY NO WARRANTY; for details, visit http://www.gnu.org/licenses/gpl.html
|
||||||
"label"
|
"label"
|
||||||
parent: unnamed-GailContainer-5
|
parent: unnamed-GtkBoxAccessible-5
|
||||||
index: 4
|
index: 4
|
||||||
name: This program comes with ABSOLUTELY NO WARRANTY; for details, visit http://www.gnu.org/licenses/gpl.html
|
name: This program comes with ABSOLUTELY NO WARRANTY; for details, visit http://www.gnu.org/licenses/gpl.html
|
||||||
state: enabled focusable multi-line sensitive showing visible
|
state: enabled focusable multi-line sensitive showing visible
|
||||||
@ -307,9 +307,9 @@ window1
|
|||||||
variant: <omitted>
|
variant: <omitted>
|
||||||
weight: <omitted>
|
weight: <omitted>
|
||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
unnamed-GailContainer-7
|
unnamed-GtkBoxAccessible-7
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled horizontal sensitive showing visible
|
state: enabled horizontal sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -318,7 +318,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
License
|
License
|
||||||
"toggle button"
|
"toggle button"
|
||||||
parent: unnamed-GailContainer-7
|
parent: unnamed-GtkBoxAccessible-7
|
||||||
index: 0
|
index: 0
|
||||||
name: License
|
name: License
|
||||||
state: enabled focusable sensitive
|
state: enabled focusable sensitive
|
||||||
@ -365,7 +365,7 @@ window1
|
|||||||
action 0 keybinding: <Alt>l
|
action 0 keybinding: <Alt>l
|
||||||
Credits
|
Credits
|
||||||
"toggle button"
|
"toggle button"
|
||||||
parent: unnamed-GailContainer-7
|
parent: unnamed-GtkBoxAccessible-7
|
||||||
index: 1
|
index: 1
|
||||||
name: Credits
|
name: Credits
|
||||||
state: enabled focusable sensitive
|
state: enabled focusable sensitive
|
||||||
@ -412,7 +412,7 @@ window1
|
|||||||
action 0 keybinding: <Alt>r
|
action 0 keybinding: <Alt>r
|
||||||
Close
|
Close
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-7
|
parent: unnamed-GtkBoxAccessible-7
|
||||||
index: 2
|
index: 2
|
||||||
name: Close
|
name: Close
|
||||||
state: enabled focusable sensitive showing visible default
|
state: enabled focusable sensitive showing visible default
|
||||||
|
|||||||
@ -7,7 +7,7 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: window
|
layer: window
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-0
|
unnamed-GtkBoxAccessible-0
|
||||||
"filler"
|
"filler"
|
||||||
parent: window1
|
parent: window1
|
||||||
index: 0
|
index: 0
|
||||||
@ -16,18 +16,18 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-1
|
unnamed-GtkBoxAccessible-1
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled sensitive showing vertical visible
|
state: enabled sensitive showing vertical visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-2
|
unnamed-GtkBoxAccessible-2
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-1
|
parent: unnamed-GtkBoxAccessible-1
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled sensitive showing vertical visible
|
state: enabled sensitive showing vertical visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -36,7 +36,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
Select an application for "(null)" files
|
Select an application for "(null)" files
|
||||||
"label"
|
"label"
|
||||||
parent: unnamed-GailContainer-2
|
parent: unnamed-GtkBoxAccessible-2
|
||||||
index: 0
|
index: 0
|
||||||
name: Select an application for "(null)" files
|
name: Select an application for "(null)" files
|
||||||
state: enabled multi-line sensitive showing visible
|
state: enabled multi-line sensitive showing visible
|
||||||
@ -73,9 +73,9 @@ window1
|
|||||||
variant: <omitted>
|
variant: <omitted>
|
||||||
weight: <omitted>
|
weight: <omitted>
|
||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
unnamed-GailContainer-3
|
unnamed-GtkBoxAccessible-3
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-2
|
parent: unnamed-GtkBoxAccessible-2
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled sensitive showing vertical visible
|
state: enabled sensitive showing vertical visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -84,7 +84,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GtkScrolledWindowAccessible-4
|
unnamed-GtkScrolledWindowAccessible-4
|
||||||
"scroll pane"
|
"scroll pane"
|
||||||
parent: unnamed-GailContainer-3
|
parent: unnamed-GtkBoxAccessible-3
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled focusable sensitive showing visible
|
state: enabled focusable sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -425,7 +425,7 @@ Click "Show other applications", for more options, or "Find applications online"
|
|||||||
minimum increment: 29.800000
|
minimum increment: 29.800000
|
||||||
Show other applications
|
Show other applications
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-3
|
parent: unnamed-GtkBoxAccessible-3
|
||||||
index: 1
|
index: 1
|
||||||
name: Show other applications
|
name: Show other applications
|
||||||
state: enabled focusable sensitive showing visible
|
state: enabled focusable sensitive showing visible
|
||||||
@ -469,9 +469,9 @@ Click "Show other applications", for more options, or "Find applications online"
|
|||||||
image description: (null)
|
image description: (null)
|
||||||
<AtkAction>
|
<AtkAction>
|
||||||
action 0 name: click
|
action 0 name: click
|
||||||
unnamed-GailContainer-10
|
unnamed-GtkBoxAccessible-10
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled horizontal sensitive showing visible
|
state: enabled horizontal sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -480,7 +480,7 @@ Click "Show other applications", for more options, or "Find applications online"
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
Select
|
Select
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-10
|
parent: unnamed-GtkBoxAccessible-10
|
||||||
index: 0
|
index: 0
|
||||||
name: Select
|
name: Select
|
||||||
state: enabled focusable sensitive showing visible default
|
state: enabled focusable sensitive showing visible default
|
||||||
@ -527,7 +527,7 @@ Click "Show other applications", for more options, or "Find applications online"
|
|||||||
action 0 keybinding: <Alt>s
|
action 0 keybinding: <Alt>s
|
||||||
Cancel
|
Cancel
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-10
|
parent: unnamed-GtkBoxAccessible-10
|
||||||
index: 1
|
index: 1
|
||||||
name: Cancel
|
name: Cancel
|
||||||
state: enabled focusable sensitive showing visible
|
state: enabled focusable sensitive showing visible
|
||||||
|
|||||||
@ -96,9 +96,9 @@ window1
|
|||||||
image description: (null)
|
image description: (null)
|
||||||
<AtkAction>
|
<AtkAction>
|
||||||
action 0 name: click
|
action 0 name: click
|
||||||
unnamed-GailContainer-0
|
unnamed-GtkBoxAccessible-0
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-1
|
parent: unnamed-GtkBoxAccessible-1
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled horizontal sensitive showing visible
|
state: enabled horizontal sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -107,7 +107,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
Close
|
Close
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 0
|
index: 0
|
||||||
name: Close
|
name: Close
|
||||||
state: enabled focusable sensitive
|
state: enabled focusable sensitive
|
||||||
@ -154,7 +154,7 @@ window1
|
|||||||
action 0 keybinding: <Alt>c
|
action 0 keybinding: <Alt>c
|
||||||
Cancel
|
Cancel
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 1
|
index: 1
|
||||||
name: Cancel
|
name: Cancel
|
||||||
state: enabled focusable sensitive showing visible
|
state: enabled focusable sensitive showing visible
|
||||||
@ -201,7 +201,7 @@ window1
|
|||||||
action 0 keybinding: <Alt>c
|
action 0 keybinding: <Alt>c
|
||||||
Finish
|
Finish
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 2
|
index: 2
|
||||||
name: Finish
|
name: Finish
|
||||||
state: focusable
|
state: focusable
|
||||||
@ -248,7 +248,7 @@ window1
|
|||||||
action 0 keybinding: <Alt>f
|
action 0 keybinding: <Alt>f
|
||||||
Go Back
|
Go Back
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 3
|
index: 3
|
||||||
name: Go Back
|
name: Go Back
|
||||||
state: enabled focusable sensitive
|
state: enabled focusable sensitive
|
||||||
@ -295,7 +295,7 @@ window1
|
|||||||
action 0 keybinding: <Alt>b
|
action 0 keybinding: <Alt>b
|
||||||
Continue
|
Continue
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 4
|
index: 4
|
||||||
name: Continue
|
name: Continue
|
||||||
state: focusable showing visible
|
state: focusable showing visible
|
||||||
@ -342,7 +342,7 @@ window1
|
|||||||
action 0 keybinding: <Alt>o
|
action 0 keybinding: <Alt>o
|
||||||
Apply
|
Apply
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 5
|
index: 5
|
||||||
name: Apply
|
name: Apply
|
||||||
state: enabled focusable sensitive
|
state: enabled focusable sensitive
|
||||||
|
|||||||
@ -7,7 +7,7 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: window
|
layer: window
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-0
|
unnamed-GtkBoxAccessible-0
|
||||||
"filler"
|
"filler"
|
||||||
parent: window1
|
parent: window1
|
||||||
index: 0
|
index: 0
|
||||||
@ -16,27 +16,27 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-1
|
unnamed-GtkBoxAccessible-1
|
||||||
"filler"
|
"color chooser"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled sensitive showing vertical visible
|
state: enabled sensitive showing vertical visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-2
|
unnamed-GtkBoxAccessible-2
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-1
|
parent: unnamed-GtkBoxAccessible-1
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled horizontal sensitive showing visible
|
state: enabled horizontal sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-3
|
unnamed-GtkBoxAccessible-3
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-2
|
parent: unnamed-GtkBoxAccessible-2
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled sensitive showing vertical visible
|
state: enabled sensitive showing vertical visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -45,7 +45,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailWidget-4
|
unnamed-GailWidget-4
|
||||||
"color chooser"
|
"color chooser"
|
||||||
parent: unnamed-GailContainer-3
|
parent: unnamed-GtkBoxAccessible-3
|
||||||
index: 0
|
index: 0
|
||||||
name: Color Wheel
|
name: Color Wheel
|
||||||
description: Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle.
|
description: Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle.
|
||||||
@ -55,9 +55,9 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-5
|
unnamed-GtkBoxAccessible-5
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-3
|
parent: unnamed-GtkBoxAccessible-3
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled horizontal sensitive showing visible
|
state: enabled horizontal sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -66,14 +66,14 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GtkFrameAccessible-6
|
unnamed-GtkFrameAccessible-6
|
||||||
"panel"
|
"panel"
|
||||||
parent: unnamed-GailContainer-5
|
parent: unnamed-GtkBoxAccessible-5
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled sensitive showing visible
|
state: enabled sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-7
|
unnamed-GtkBoxAccessible-7
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GtkFrameAccessible-6
|
parent: unnamed-GtkFrameAccessible-6
|
||||||
index: 0
|
index: 0
|
||||||
@ -84,7 +84,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailWidget-8
|
unnamed-GailWidget-8
|
||||||
"unknown"
|
"unknown"
|
||||||
parent: unnamed-GailContainer-7
|
parent: unnamed-GtkBoxAccessible-7
|
||||||
index: 0
|
index: 0
|
||||||
description: The previously-selected color, for comparison to the color you're selecting now.
|
description: The previously-selected color, for comparison to the color you're selecting now.
|
||||||
state: enabled sensitive showing visible
|
state: enabled sensitive showing visible
|
||||||
@ -94,7 +94,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailWidget-9
|
unnamed-GailWidget-9
|
||||||
"unknown"
|
"unknown"
|
||||||
parent: unnamed-GailContainer-7
|
parent: unnamed-GtkBoxAccessible-7
|
||||||
index: 1
|
index: 1
|
||||||
description: The color you've chosen.
|
description: The color you've chosen.
|
||||||
state: enabled sensitive showing visible
|
state: enabled sensitive showing visible
|
||||||
@ -104,7 +104,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailButton-10
|
unnamed-GailButton-10
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-5
|
parent: unnamed-GtkBoxAccessible-5
|
||||||
index: 1
|
index: 1
|
||||||
description: Click the eyedropper, then click a color anywhere on your screen to select that color.
|
description: Click the eyedropper, then click a color anywhere on your screen to select that color.
|
||||||
state: enabled focusable sensitive showing visible
|
state: enabled focusable sensitive showing visible
|
||||||
@ -121,9 +121,9 @@ window1
|
|||||||
image description: (null)
|
image description: (null)
|
||||||
<AtkAction>
|
<AtkAction>
|
||||||
action 0 name: click
|
action 0 name: click
|
||||||
unnamed-GailContainer-11
|
unnamed-GtkBoxAccessible-11
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-2
|
parent: unnamed-GtkBoxAccessible-2
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled sensitive showing vertical visible
|
state: enabled sensitive showing vertical visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -132,7 +132,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-12
|
unnamed-GailContainer-12
|
||||||
"panel"
|
"panel"
|
||||||
parent: unnamed-GailContainer-11
|
parent: unnamed-GtkBoxAccessible-11
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled sensitive showing visible
|
state: enabled sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -865,9 +865,9 @@ window1
|
|||||||
variant: <omitted>
|
variant: <omitted>
|
||||||
weight: <omitted>
|
weight: <omitted>
|
||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
unnamed-GailContainer-15
|
unnamed-GtkBoxAccessible-15
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-11
|
parent: unnamed-GtkBoxAccessible-11
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled sensitive vertical
|
state: enabled sensitive vertical
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -876,7 +876,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
Palette:
|
Palette:
|
||||||
"label"
|
"label"
|
||||||
parent: unnamed-GailContainer-15
|
parent: unnamed-GtkBoxAccessible-15
|
||||||
index: 0
|
index: 0
|
||||||
name: Palette:
|
name: Palette:
|
||||||
label-for: unnamed-GailWidget-16
|
label-for: unnamed-GailWidget-16
|
||||||
@ -916,7 +916,7 @@ window1
|
|||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
unnamed-GailContainer-17
|
unnamed-GailContainer-17
|
||||||
"panel"
|
"panel"
|
||||||
parent: unnamed-GailContainer-15
|
parent: unnamed-GtkBoxAccessible-15
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled sensitive visible
|
state: enabled sensitive visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -1304,9 +1304,9 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-57
|
unnamed-GtkBoxAccessible-57
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled horizontal sensitive showing visible
|
state: enabled horizontal sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -1315,7 +1315,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
Help
|
Help
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-57
|
parent: unnamed-GtkBoxAccessible-57
|
||||||
index: 0
|
index: 0
|
||||||
name: Help
|
name: Help
|
||||||
state: enabled focusable sensitive
|
state: enabled focusable sensitive
|
||||||
@ -1362,7 +1362,7 @@ window1
|
|||||||
action 0 keybinding: <Alt>h
|
action 0 keybinding: <Alt>h
|
||||||
OK
|
OK
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-57
|
parent: unnamed-GtkBoxAccessible-57
|
||||||
index: 1
|
index: 1
|
||||||
name: OK
|
name: OK
|
||||||
state: enabled focusable sensitive showing visible default
|
state: enabled focusable sensitive showing visible default
|
||||||
@ -1409,7 +1409,7 @@ window1
|
|||||||
action 0 keybinding: <Alt>o
|
action 0 keybinding: <Alt>o
|
||||||
Cancel
|
Cancel
|
||||||
"push button"
|
"push button"
|
||||||
parent: unnamed-GailContainer-57
|
parent: unnamed-GtkBoxAccessible-57
|
||||||
index: 2
|
index: 2
|
||||||
name: Cancel
|
name: Cancel
|
||||||
state: enabled focusable sensitive showing visible
|
state: enabled focusable sensitive showing visible
|
||||||
|
|||||||
@ -63,7 +63,7 @@ window1
|
|||||||
variant: <omitted>
|
variant: <omitted>
|
||||||
weight: <omitted>
|
weight: <omitted>
|
||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
unnamed-GailContainer-0
|
unnamed-GtkBoxAccessible-0
|
||||||
"filler"
|
"filler"
|
||||||
parent: bar1
|
parent: bar1
|
||||||
index: 1
|
index: 1
|
||||||
|
|||||||
@ -7,7 +7,7 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: window
|
layer: window
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-0
|
unnamed-GtkBoxAccessible-0
|
||||||
"filler"
|
"filler"
|
||||||
parent: window1
|
parent: window1
|
||||||
index: 0
|
index: 0
|
||||||
@ -16,9 +16,9 @@ window1
|
|||||||
<AtkComponent>
|
<AtkComponent>
|
||||||
layer: widget
|
layer: widget
|
||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GailContainer-1
|
unnamed-GtkBoxAccessible-1
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled horizontal sensitive showing visible
|
state: enabled horizontal sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -27,7 +27,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
unnamed-GtkImageAccessible-2
|
unnamed-GtkImageAccessible-2
|
||||||
"icon"
|
"icon"
|
||||||
parent: unnamed-GailContainer-1
|
parent: unnamed-GtkBoxAccessible-1
|
||||||
index: 0
|
index: 0
|
||||||
name: Information
|
name: Information
|
||||||
state: enabled sensitive showing visible
|
state: enabled sensitive showing visible
|
||||||
@ -38,9 +38,9 @@ window1
|
|||||||
<AtkImage>
|
<AtkImage>
|
||||||
image size: 48 x 48
|
image size: 48 x 48
|
||||||
image description: (null)
|
image description: (null)
|
||||||
unnamed-GailContainer-3
|
unnamed-GtkBoxAccessible-3
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-1
|
parent: unnamed-GtkBoxAccessible-1
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled sensitive showing vertical visible
|
state: enabled sensitive showing vertical visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
@ -49,7 +49,7 @@ window1
|
|||||||
alpha: 1
|
alpha: 1
|
||||||
Information
|
Information
|
||||||
"label"
|
"label"
|
||||||
parent: unnamed-GailContainer-3
|
parent: unnamed-GtkBoxAccessible-3
|
||||||
index: 0
|
index: 0
|
||||||
name: Information
|
name: Information
|
||||||
state: enabled focusable multi-line sensitive showing visible
|
state: enabled focusable multi-line sensitive showing visible
|
||||||
@ -88,7 +88,7 @@ window1
|
|||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
More Information
|
More Information
|
||||||
"label"
|
"label"
|
||||||
parent: unnamed-GailContainer-3
|
parent: unnamed-GtkBoxAccessible-3
|
||||||
index: 1
|
index: 1
|
||||||
name: More Information
|
name: More Information
|
||||||
state: enabled focusable multi-line sensitive showing visible
|
state: enabled focusable multi-line sensitive showing visible
|
||||||
@ -125,9 +125,9 @@ window1
|
|||||||
variant: <omitted>
|
variant: <omitted>
|
||||||
weight: <omitted>
|
weight: <omitted>
|
||||||
wrap-mode: word
|
wrap-mode: word
|
||||||
unnamed-GailContainer-4
|
unnamed-GtkBoxAccessible-4
|
||||||
"filler"
|
"filler"
|
||||||
parent: unnamed-GailContainer-0
|
parent: unnamed-GtkBoxAccessible-0
|
||||||
index: 1
|
index: 1
|
||||||
state: enabled horizontal sensitive showing visible
|
state: enabled horizontal sensitive showing visible
|
||||||
toolkit: gail
|
toolkit: gail
|
||||||
|
|||||||
@ -7,7 +7,7 @@ window1
|
|||||||
layer: window
|
layer: window
|
||||||
alpha: 1
|
alpha: 1
|
||||||
box1
|
box1
|
||||||
"panel"
|
"filler"
|
||||||
parent: window1
|
parent: window1
|
||||||
index: 0
|
index: 0
|
||||||
state: enabled sensitive showing vertical visible
|
state: enabled sensitive showing vertical visible
|
||||||
|
|||||||
Reference in New Issue
Block a user