[gtk/ebassi/new-a11y: 1/14] Remove ATK
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/ebassi/new-a11y: 1/14] Remove ATK
- Date: Mon, 13 Jul 2020 14:54:38 +0000 (UTC)
commit 50374a4e4bc3964aac43eb14d5d4fd2902d67643
Author: Emmanuele Bassi <ebassi gnome org>
Date: Tue Jun 16 16:41:59 2020 +0100
Remove ATK
To build a better world sometimes means having to tear the old one down.
-- Alexander Pierce, "Captain America: The Winter Soldier"
ATK served us well for nearly 20 years, but the world has changed, and
GTK has changed with it. Now ATK is mostly a hindrance towards improving
the accessibility stack:
- it maps to a very specific implementation, AT-SPI, which is Linux and
Unix specific
- it requires implementing the same functionality in three different
layers of the stack: AT-SPI, ATK, and GTK
- only GTK uses it; every other Linux and Unix toolkit and application
talks to AT-SPI directly, including assistive technologies
Sadly, we cannot incrementally port GTK to a new accessibility stack;
since ATK insulates us entirely from the underlying implementation, we
cannot replace it piecemeal. Instead, we're going to remove everything
and then incrementally build on a clean slate:
- add an "accessible" interface, implemented by GTK objects directly,
which describe the accessible role and state changes for every UI
element
- add an "assistive technology context" to proxy a native accessibility
API, and assign it to every widget
- implement the AT context depending on the platform
For more information, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2833
README.md | 2 -
demos/gtk-demo/demo.ui | 16 -
demos/gtk-demo/demotaggedentry.c | 2 -
demos/gtk-demo/filtermodel.ui | 18 -
demos/gtk-demo/listbox.ui | 3 -
demos/gtk-demo/scale.ui | 18 -
demos/icon-browser/window.ui | 48 -
demos/widget-factory/widget-factory.c | 1 -
demos/widget-factory/widget-factory.ui | 21 -
docs/reference/gtk/building.md | 8 +-
docs/reference/gtk/compiling.md | 4 +-
docs/reference/gtk/overview.xml | 12 -
gtk/a11y/gtk-a11y-autocleanups.h | 67 -
gtk/a11y/gtkaccessibility.c | 43 -
gtk/a11y/gtkaccessibility.h | 30 -
gtk/a11y/gtkaccessibilityutil.c | 109 --
gtk/a11y/gtkaccessibilityutil.h | 29 -
gtk/a11y/gtkbooleancellaccessible.c | 164 --
gtk/a11y/gtkbooleancellaccessible.h | 58 -
gtk/a11y/gtkbuttonaccessible.c | 436 -----
gtk/a11y/gtkbuttonaccessible.h | 60 -
gtk/a11y/gtkcellaccessible.c | 533 ------
gtk/a11y/gtkcellaccessible.h | 60 -
gtk/a11y/gtkcellaccessibleparent.c | 271 ---
gtk/a11y/gtkcellaccessibleparent.h | 140 --
gtk/a11y/gtkcellaccessibleprivate.h | 42 -
gtk/a11y/gtkcolorswatchaccessible.c | 211 ---
gtk/a11y/gtkcolorswatchaccessibleprivate.h | 52 -
gtk/a11y/gtkcomboboxaccessible.c | 435 -----
gtk/a11y/gtkcomboboxaccessible.h | 57 -
gtk/a11y/gtkcompositeaccessible.c | 87 -
gtk/a11y/gtkcompositeaccessible.h | 55 -
gtk/a11y/gtkcontainercellaccessible.c | 180 --
gtk/a11y/gtkcontainercellaccessible.h | 69 -
gtk/a11y/gtkentryaccessible.c | 1537 ----------------
gtk/a11y/gtkentryaccessible.h | 60 -
gtk/a11y/gtkexpanderaccessible.c | 251 ---
gtk/a11y/gtkexpanderaccessible.h | 57 -
gtk/a11y/gtkexpanderaccessibleprivate.h | 31 -
gtk/a11y/gtkflowboxaccessible.c | 258 ---
gtk/a11y/gtkflowboxaccessible.h | 57 -
gtk/a11y/gtkflowboxaccessibleprivate.h | 30 -
gtk/a11y/gtkflowboxchildaccessible.c | 70 -
gtk/a11y/gtkflowboxchildaccessible.h | 54 -
gtk/a11y/gtkframeaccessible.c | 65 -
gtk/a11y/gtkframeaccessible.h | 57 -
gtk/a11y/gtkiconviewaccessible.c | 1540 ----------------
gtk/a11y/gtkiconviewaccessible.h | 54 -
gtk/a11y/gtkiconviewaccessibleprivate.h | 33 -
gtk/a11y/gtkimageaccessible.c | 338 ----
gtk/a11y/gtkimageaccessible.h | 57 -
gtk/a11y/gtkimagecellaccessible.c | 123 --
gtk/a11y/gtkimagecellaccessible.h | 58 -
gtk/a11y/gtklabelaccessible.c | 1192 -------------
gtk/a11y/gtklabelaccessible.h | 57 -
gtk/a11y/gtklabelaccessibleprivate.h | 34 -
gtk/a11y/gtklevelbaraccessible.c | 178 --
gtk/a11y/gtklevelbaraccessible.h | 58 -
gtk/a11y/gtklinkbuttonaccessible.c | 234 ---
gtk/a11y/gtklinkbuttonaccessible.h | 57 -
gtk/a11y/gtklistboxaccessible.c | 248 ---
gtk/a11y/gtklistboxaccessible.h | 57 -
gtk/a11y/gtklistboxaccessibleprivate.h | 33 -
gtk/a11y/gtklistboxrowaccessible.c | 72 -
gtk/a11y/gtklistboxrowaccessible.h | 54 -
gtk/a11y/gtklockbuttonaccessible.c | 63 -
gtk/a11y/gtklockbuttonaccessible.h | 57 -
gtk/a11y/gtklockbuttonaccessibleprivate.h | 31 -
gtk/a11y/gtkmenubuttonaccessible.c | 117 --
gtk/a11y/gtkmenubuttonaccessible.h | 57 -
gtk/a11y/gtknotebookaccessible.c | 312 ----
gtk/a11y/gtknotebookaccessible.h | 57 -
gtk/a11y/gtknotebookaccessibleprivate.h | 30 -
gtk/a11y/gtknotebookpageaccessible.c | 334 ----
gtk/a11y/gtknotebookpageaccessible.h | 64 -
gtk/a11y/gtkpanedaccessible.c | 200 ---
gtk/a11y/gtkpanedaccessible.h | 57 -
gtk/a11y/gtkpasswordentryaccessible.c | 654 -------
gtk/a11y/gtkpasswordentryaccessible.h | 48 -
gtk/a11y/gtkpasswordentryaccessibleprivate.h | 29 -
gtk/a11y/gtkpictureaccessible.c | 136 --
gtk/a11y/gtkpictureaccessibleprivate.h | 34 -
gtk/a11y/gtkpopoveraccessible.c | 93 -
gtk/a11y/gtkpopoveraccessible.h | 56 -
gtk/a11y/gtkprogressbaraccessible.c | 107 --
gtk/a11y/gtkprogressbaraccessible.h | 57 -
gtk/a11y/gtkprogressbaraccessibleprivate.h | 29 -
gtk/a11y/gtkradiobuttonaccessible.c | 118 --
gtk/a11y/gtkradiobuttonaccessible.h | 57 -
gtk/a11y/gtkrangeaccessible.c | 305 ----
gtk/a11y/gtkrangeaccessible.h | 57 -
gtk/a11y/gtkrenderercellaccessible.c | 123 --
gtk/a11y/gtkrenderercellaccessible.h | 61 -
gtk/a11y/gtkscaleaccessible.c | 53 -
gtk/a11y/gtkscaleaccessible.h | 57 -
gtk/a11y/gtkscalebuttonaccessible.c | 376 ----
gtk/a11y/gtkscalebuttonaccessible.h | 54 -
gtk/a11y/gtkscrollbaraccessible.c | 293 ---
gtk/a11y/gtkscrollbaraccessible.h | 54 -
gtk/a11y/gtkscrolledwindowaccessible.c | 173 --
gtk/a11y/gtkscrolledwindowaccessible.h | 57 -
gtk/a11y/gtksearchentryaccessible.c | 1010 -----------
gtk/a11y/gtksearchentryaccessible.h | 48 -
gtk/a11y/gtkspinbuttonaccessible.c | 277 ---
gtk/a11y/gtkspinbuttonaccessible.h | 57 -
gtk/a11y/gtkspinneraccessible.c | 80 -
gtk/a11y/gtkspinneraccessible.h | 57 -
gtk/a11y/gtkstackaccessible.c | 102 --
gtk/a11y/gtkstackaccessible.h | 54 -
gtk/a11y/gtkstackaccessibleprivate.h | 32 -
gtk/a11y/gtkstatusbaraccessible.c | 99 -
gtk/a11y/gtkstatusbaraccessible.h | 57 -
gtk/a11y/gtkswitchaccessible.c | 133 --
gtk/a11y/gtkswitchaccessible.h | 57 -
gtk/a11y/gtktextaccessible.c | 1016 -----------
gtk/a11y/gtktextaccessible.h | 57 -
gtk/a11y/gtktextcellaccessible.c | 701 --------
gtk/a11y/gtktextcellaccessible.h | 58 -
gtk/a11y/gtktextviewaccessible.c | 1819 -------------------
gtk/a11y/gtktextviewaccessible.h | 58 -
gtk/a11y/gtktextviewaccessibleprivate.h | 30 -
gtk/a11y/gtktogglebuttonaccessible.c | 84 -
gtk/a11y/gtktogglebuttonaccessible.h | 57 -
gtk/a11y/gtktoplevelaccessible.c | 253 ---
gtk/a11y/gtktoplevelaccessible.h | 59 -
gtk/a11y/gtktreeviewaccessible.c | 2084 ----------------------
gtk/a11y/gtktreeviewaccessible.h | 54 -
gtk/a11y/gtktreeviewaccessibleprivate.h | 68 -
gtk/a11y/gtkwidgetaccessible.c | 789 --------
gtk/a11y/gtkwidgetaccessible.h | 41 -
gtk/a11y/gtkwidgetaccessibleprivate.h | 44 -
gtk/a11y/gtkwindowaccessible.c | 346 ----
gtk/a11y/gtkwindowaccessible.h | 57 -
gtk/a11y/gtkwindowaccessibleprivate.h | 30 -
gtk/a11y/meson.build | 109 --
gtk/gtk-a11y.h | 85 -
gtk/gtk.h | 1 -
gtk/gtkaccellabel.c | 2 -
gtk/gtkaccessible.c | 215 ---
gtk/gtkaccessible.h | 58 -
gtk/gtkactionbar.c | 2 -
gtk/gtkassistant.c | 90 -
gtk/gtkbox.c | 1 -
gtk/gtkbutton.c | 11 -
gtk/gtkcalendar.c | 1 -
gtk/gtkcellrenderer.c | 57 +-
gtk/gtkcellrenderer.h | 10 -
gtk/gtkcellrendererpixbuf.c | 6 -
gtk/gtkcellrenderertext.c | 4 -
gtk/gtkcellrenderertoggle.c | 4 -
gtk/gtkcenterbox.c | 1 -
gtk/gtkcheckbutton.c | 1 -
gtk/gtkcolorchooserwidget.c | 57 -
gtk/gtkcolorplane.c | 9 -
gtk/gtkcolorscale.c | 12 -
gtk/gtkcolorswatch.c | 3 -
gtk/gtkcombobox.c | 26 -
gtk/gtkcombobox.h | 2 -
gtk/gtkdialog.c | 2 -
gtk/gtkdrawingarea.c | 2 -
gtk/gtkentry.c | 3 -
gtk/gtkentrycompletion.c | 34 -
gtk/gtkexpander.c | 18 -
gtk/gtkfilechooserdialog.c | 2 -
gtk/gtkflowbox.c | 7 -
gtk/gtkfontchooserdialog.c | 3 -
gtk/gtkfontchooserwidget.c | 2 -
gtk/gtkframe.c | 3 -
gtk/gtkglarea.c | 2 -
gtk/gtkheaderbar.c | 1 -
gtk/gtkiconview.c | 80 +-
gtk/gtkimage.c | 3 -
gtk/gtkinfobar.c | 39 -
gtk/gtklabel.c | 27 -
gtk/gtklevelbar.c | 3 -
gtk/gtklinkbutton.c | 3 -
gtk/gtklistbox.c | 8 -
gtk/gtklockbutton.c | 6 -
gtk/gtkmain.c | 2 -
gtk/gtkmenubutton.c | 4 -
gtk/gtkmessagedialog.c | 39 -
gtk/gtkmodelbutton.c | 36 +-
gtk/gtknotebook.c | 9 -
gtk/gtkpaned.c | 3 -
gtk/gtkpango.c | 1017 -----------
gtk/gtkpango.h | 27 -
gtk/gtkpasswordentry.c | 9 -
gtk/gtkpathbar.c | 3 -
gtk/gtkpicture.c | 3 -
gtk/gtkprogressbar.c | 11 -
gtk/gtkradiobutton.c | 2 -
gtk/gtkrange.c | 11 -
gtk/gtkscale.c | 3 -
gtk/gtkscalebutton.c | 3 -
gtk/gtkscrollbar.c | 3 -
gtk/gtkscrolledwindow.c | 3 -
gtk/gtksearchentry.c | 3 -
gtk/gtkseparator.c | 1 -
gtk/gtkspinbutton.c | 3 -
gtk/gtkspinner.c | 2 -
gtk/gtkstack.c | 8 -
gtk/gtkstackswitcher.c | 3 -
gtk/gtkstatusbar.c | 2 -
gtk/gtkstylecontext.c | 52 -
gtk/gtkstylecontextprivate.h | 6 -
gtk/gtkswitch.c | 9 -
gtk/gtktext.c | 4 -
gtk/gtktextbuffer.c | 310 ----
gtk/gtktextbufferprivate.h | 16 -
gtk/gtktextview.c | 4 -
gtk/gtktogglebutton.c | 4 -
gtk/gtktooltip.c | 1 -
gtk/gtktooltipwindow.c | 2 -
gtk/gtktreeselection.c | 3 -
gtk/gtktreeview.c | 58 -
gtk/gtktreeviewcolumn.c | 8 -
gtk/gtkviewport.c | 2 -
gtk/gtkvolumebutton.c | 4 -
gtk/gtkwidget.c | 562 +-----
gtk/gtkwidget.h | 18 -
gtk/gtkwidgetprivate.h | 6 -
gtk/gtkwindow.c | 4 -
gtk/gtkwindowcontrols.c | 14 -
gtk/inspector/misc-info.c | 31 -
gtk/inspector/misc-info.ui | 91 -
gtk/meson.build | 15 +-
gtk/ui/gtkcoloreditor.ui | 25 -
gtk/ui/gtkfilechooserwidget.ui | 5 -
gtk/ui/gtkprintunixdialog.ui | 56 -
gtk/ui/gtkvolumebutton.ui | 18 -
meson.build | 13 +-
tests/testlist3.c | 7 -
testsuite/a11y/README | 18 -
testsuite/a11y/about.txt | 434 -----
testsuite/a11y/about.ui | 12 -
testsuite/a11y/accessibile-name.txt | 44 -
testsuite/a11y/accessibility-dump.c | 1003 -----------
testsuite/a11y/accessible-name.txt | 32 -
testsuite/a11y/accessible-name.ui | 18 -
testsuite/a11y/actionbar.txt | 105 --
testsuite/a11y/actionbar.ui | 33 -
testsuite/a11y/assistant.txt | 161 --
testsuite/a11y/assistant.ui | 24 -
testsuite/a11y/buttons.txt | 164 --
testsuite/a11y/buttons.ui | 108 --
testsuite/a11y/calendar.txt | 25 -
testsuite/a11y/calendar.ui | 14 -
testsuite/a11y/children.c | 265 ---
testsuite/a11y/children.test.in | 4 -
testsuite/a11y/colorchooser.txt | 1212 -------------
testsuite/a11y/colorchooser.ui | 6 -
testsuite/a11y/combos.txt | 274 ---
testsuite/a11y/combos.ui | 40 -
testsuite/a11y/derive.c | 83 -
testsuite/a11y/derive.test.in | 4 -
testsuite/a11y/entries.txt | 310 ----
testsuite/a11y/entries.ui | 71 -
testsuite/a11y/expander.txt | 67 -
testsuite/a11y/expander.ui | 18 -
testsuite/a11y/headerbar.txt | 57 -
testsuite/a11y/headerbar.ui | 19 -
testsuite/a11y/hello-world.txt | 32 -
testsuite/a11y/hello-world.ui | 13 -
testsuite/a11y/iconview.txt | 98 -
testsuite/a11y/iconview.ui | 31 -
testsuite/a11y/infobar.txt | 118 --
testsuite/a11y/infobar.ui | 18 -
testsuite/a11y/label-static.txt | 82 -
testsuite/a11y/label-static.ui | 15 -
testsuite/a11y/label.txt | 82 -
testsuite/a11y/label.ui | 12 -
testsuite/a11y/link.txt | 37 -
testsuite/a11y/link.ui | 14 -
testsuite/a11y/listbox.txt | 192 --
testsuite/a11y/listbox.ui | 40 -
testsuite/a11y/lockbutton.txt | 34 -
testsuite/a11y/lockbutton.ui | 11 -
testsuite/a11y/menubutton.txt | 26 -
testsuite/a11y/menubutton.ui | 19 -
testsuite/a11y/menubutton2.txt | 26 -
testsuite/a11y/menubutton2.ui | 18 -
testsuite/a11y/meson.build | 156 --
testsuite/a11y/messagedialog.txt | 192 --
testsuite/a11y/messagedialog.ui | 10 -
testsuite/a11y/misc.c | 57 -
testsuite/a11y/misc.test.in | 4 -
testsuite/a11y/mnemonic.txt | 110 --
testsuite/a11y/mnemonic.ui | 24 -
testsuite/a11y/notebook.txt | 75 -
testsuite/a11y/notebook.ui | 36 -
testsuite/a11y/paned.txt | 109 --
testsuite/a11y/paned.ui | 18 -
testsuite/a11y/pickers.txt | 52 -
testsuite/a11y/pickers.ui | 33 -
testsuite/a11y/placeholder-text.txt | 151 --
testsuite/a11y/placeholder-text.ui | 27 -
testsuite/a11y/progress.txt | 29 -
testsuite/a11y/progress.ui | 14 -
testsuite/a11y/range.txt | 52 -
testsuite/a11y/range.ui | 34 -
testsuite/a11y/scale-drawvalue.txt | 30 -
testsuite/a11y/scale-drawvalue.ui | 21 -
testsuite/a11y/spinner.txt | 30 -
testsuite/a11y/spinner.ui | 12 -
testsuite/a11y/stack.txt | 91 -
testsuite/a11y/stack.ui | 39 -
testsuite/a11y/state/focus1.in | 8 -
testsuite/a11y/state/focus1.out | 4 -
testsuite/a11y/state/focus1.ui | 22 -
testsuite/a11y/state/focus2.in | 9 -
testsuite/a11y/state/focus2.out | 7 -
testsuite/a11y/state/focus2.ui | 20 -
testsuite/a11y/state/state-record.c | 383 ----
testsuite/a11y/statusbar.txt | 26 -
testsuite/a11y/statusbar.ui | 11 -
testsuite/a11y/testfocus.c | 118 --
testsuite/a11y/tests.test.in | 4 -
testsuite/a11y/text.c | 1099 ------------
testsuite/a11y/text.test.in | 4 -
testsuite/a11y/text.txt | 55 -
testsuite/a11y/text.ui | 16 -
testsuite/a11y/tooltips.txt | 86 -
testsuite/a11y/tooltips.ui | 33 -
testsuite/a11y/tree-performance.c | 369 ----
testsuite/a11y/tree-relationships.c | 382 ----
testsuite/a11y/tree.test.in | 4 -
testsuite/a11y/tree.txt | 413 -----
testsuite/a11y/tree.ui | 45 -
testsuite/a11y/util.c | 62 -
testsuite/a11y/util.test.in | 4 -
testsuite/a11y/value.c | 126 --
testsuite/a11y/value.test.in | 4 -
testsuite/css/nodes/buttons.ui | 5 -
testsuite/gtk/accessible.c | 49 -
testsuite/gtk/builder.c | 37 +-
testsuite/gtk/focus-chain/widget-factory.ui | 21 -
testsuite/gtk/focus-chain/widget-factory2.ui | 21 -
testsuite/gtk/focus-chain/widget-factory3.ui | 21 -
testsuite/gtk/meson.build | 1 -
testsuite/gtk/notify.c | 6 +-
testsuite/meson.build | 1 -
testsuite/tools/simplify-data-3to4/grid.expected | 5 -
testsuite/tools/simplify-data-3to4/grid.ui | 5 -
343 files changed, 21 insertions(+), 38560 deletions(-)
---
diff --git a/README.md b/README.md
index 3f092f4d0c..50d6a3d9ee 100644
--- a/README.md
+++ b/README.md
@@ -56,7 +56,6 @@ building for:
- [Pango](https://download.gnome.org/sources/pango)
- [Epoxy](https://github.com/anholt/libepoxy)
- [Graphene](https://github.com/ebassi/graphene)
- - [ATK](https://download.gnome.org/sources/atk)
- [Xkb-common](https://github.com/xkbcommon/libxkbcommon)
If you are building the X11 backend, you will also need:
@@ -70,7 +69,6 @@ If you are building the X11 backend, you will also need:
- xcursor
- xdamage
- xcomposite
- - [atk-bridge-2.0](https://download.gnome.org/sources/at-spi2-atk)
If you are building the Wayland backend, you will also need:
diff --git a/demos/gtk-demo/demo.ui b/demos/gtk-demo/demo.ui
index 7cb39a33e7..c93d6d46b5 100644
--- a/demos/gtk-demo/demo.ui
+++ b/demos/gtk-demo/demo.ui
@@ -95,9 +95,6 @@
<property name="program-name" translatable="yes">Builder demo</property>
<property name="logo-icon-name" translatable="yes">gtk3-demo</property>
<property name="modal">True</property>
- <accessibility>
- <relation target="window1" type="subwindow-of"/>
- </accessibility>
</object>
<object class="GtkWindow" id="window1">
<property name="default-height">250</property>
@@ -113,11 +110,6 @@
</child>
<child>
<object class="GtkBox" id="toolbar1">
- <child internal-child="accessible">
- <object class="AtkObject" id="a11y-toolbar">
- <property name="AtkObject::accessible-name">The toolbar</property>
- </object>
- </child>
<child>
<object class="GtkButton">
<property name="label" translatable="yes">New</property>
@@ -174,14 +166,6 @@
<object class="GtkTreeView" id="treeview1">
<property name="model">liststore1</property>
<property name="tooltip-column">3</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="a11y-treeview">
- <property name="AtkObject::accessible-name">Name list</property>
- <property name="AtkObject::accessible-description">
- A list of person with name, surname and age columns
- </property>
- </object>
- </child>
<child>
<object class="GtkTreeViewColumn" id="column1">
<property name="title">Name</property>
diff --git a/demos/gtk-demo/demotaggedentry.c b/demos/gtk-demo/demotaggedentry.c
index 63794cdf5f..922127dee4 100644
--- a/demos/gtk-demo/demotaggedentry.c
+++ b/demos/gtk-demo/demotaggedentry.c
@@ -23,7 +23,6 @@
#include "demotaggedentry.h"
#include <gtk/gtk.h>
-#include <gtk/gtk-a11y.h>
struct _DemoTaggedEntry
{
@@ -119,7 +118,6 @@ demo_tagged_entry_class_init (DemoTaggedEntryClass *klass)
gtk_editable_install_properties (object_class, 1);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_ENTRY_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, "entry");
}
diff --git a/demos/gtk-demo/filtermodel.ui b/demos/gtk-demo/filtermodel.ui
index a4dc98b34a..1d0762d93d 100644
--- a/demos/gtk-demo/filtermodel.ui
+++ b/demos/gtk-demo/filtermodel.ui
@@ -45,9 +45,6 @@
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
- <accessibility>
- <relation type="label-for" target="treeview1"/>
- </accessibility>
<layout>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
@@ -83,9 +80,6 @@
</child>
</object>
</child>
- <accessibility>
- <relation type="labelled-by" target="label1"/>
- </accessibility>
<layout>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
@@ -133,9 +127,6 @@
</child>
</object>
</child>
- <accessibility>
- <relation type="labelled-by" target="label2"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
@@ -149,9 +140,6 @@
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
- <accessibility>
- <relation type="label-for" target="treeview2"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
@@ -165,9 +153,6 @@
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
- <accessibility>
- <relation type="label-for" target="treeview3"/>
- </accessibility>
<layout>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
@@ -197,9 +182,6 @@
</child>
</object>
</child>
- <accessibility>
- <relation type="labelled-by" target="label3"/>
- </accessibility>
<layout>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
diff --git a/demos/gtk-demo/listbox.ui b/demos/gtk-demo/listbox.ui
index 6b63609362..feb9307b59 100644
--- a/demos/gtk-demo/listbox.ui
+++ b/demos/gtk-demo/listbox.ui
@@ -84,9 +84,6 @@
<property name="yalign">0</property>
<property name="label" translatable="0">Message</property>
<property name="wrap">1</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
diff --git a/demos/gtk-demo/scale.ui b/demos/gtk-demo/scale.ui
index 9859d17408..be6d0de3a0 100644
--- a/demos/gtk-demo/scale.ui
+++ b/demos/gtk-demo/scale.ui
@@ -33,9 +33,6 @@
<object class="GtkLabel" id="label_plain">
<property name="label">Plain</property>
<property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="scale_plain"/>
- </accessibility>
<layout>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
@@ -48,9 +45,6 @@
<property name="draw-value">0</property>
<property name="adjustment">adjustment1</property>
<property name="hexpand">1</property>
- <accessibility>
- <relation type="labelled-by" target="label_plain"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
@@ -61,9 +55,6 @@
<object class="GtkLabel" id="label_marks">
<property name="label">Marks</property>
<property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="scale_marks"/>
- </accessibility>
<layout>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
@@ -83,9 +74,6 @@
<mark value="3" position="bottom"></mark>
<mark value="4" position="bottom"></mark>
</marks>
- <accessibility>
- <relation type="labelled-by" target="label_marks"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
@@ -96,9 +84,6 @@
<object class="GtkLabel" id="label_discrete">
<property name="label">Discrete</property>
<property name="xalign">0</property>
- <accessibility>
- <relation type="label-for" target="scale_discrete"/>
- </accessibility>
<layout>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
@@ -112,9 +97,6 @@
<property name="draw-value">0</property>
<property name="adjustment">adjustment3</property>
<property name="hexpand">1</property>
- <accessibility>
- <relation type="labelled-by" target="label_discrete"/>
- </accessibility>
<marks>
<mark value="0" position="bottom"></mark>
<mark value="1" position="bottom"></mark>
diff --git a/demos/icon-browser/window.ui b/demos/icon-browser/window.ui
index ab76bb5bac..651db7b3e9 100644
--- a/demos/icon-browser/window.ui
+++ b/demos/icon-browser/window.ui
@@ -245,9 +245,6 @@
<object class="GtkImage" id="image1">
<property name="halign">center</property>
<property name="valign">end</property>
- <accessibility>
- <relation type="labelled-by" target="label1"/>
- </accessibility>
<layout>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
@@ -258,9 +255,6 @@
<object class="GtkImage" id="image2">
<property name="halign">center</property>
<property name="valign">end</property>
- <accessibility>
- <relation type="labelled-by" target="label2"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
@@ -271,9 +265,6 @@
<object class="GtkImage" id="image3">
<property name="halign">center</property>
<property name="valign">end</property>
- <accessibility>
- <relation type="labelled-by" target="label3"/>
- </accessibility>
<layout>
<property name="left-attach">2</property>
<property name="top-attach">1</property>
@@ -284,9 +275,6 @@
<object class="GtkImage" id="image4">
<property name="halign">center</property>
<property name="valign">end</property>
- <accessibility>
- <relation type="labelled-by" target="label4"/>
- </accessibility>
<layout>
<property name="left-attach">3</property>
<property name="top-attach">1</property>
@@ -297,9 +285,6 @@
<object class="GtkImage" id="image5">
<property name="halign">center</property>
<property name="valign">end</property>
- <accessibility>
- <relation type="labelled-by" target="label5"/>
- </accessibility>
<layout>
<property name="left-attach">4</property>
<property name="top-attach">1</property>
@@ -310,9 +295,6 @@
<object class="GtkImage" id="image6">
<property name="halign">center</property>
<property name="valign">end</property>
- <accessibility>
- <relation type="labelled-by" target="label5"/>
- </accessibility>
<layout>
<property name="left-attach">5</property>
<property name="top-attach">1</property>
@@ -323,9 +305,6 @@
<object class="GtkImage" id="image7">
<property name="halign">center</property>
<property name="valign">end</property>
- <accessibility>
- <relation type="labelled-by" target="label5"/>
- </accessibility>
<layout>
<property name="left-attach">6</property>
<property name="top-attach">1</property>
@@ -336,9 +315,6 @@
<object class="GtkImage" id="image8">
<property name="halign">center</property>
<property name="valign">end</property>
- <accessibility>
- <relation type="labelled-by" target="label6"/>
- </accessibility>
<layout>
<property name="left-attach">7</property>
<property name="top-attach">1</property>
@@ -353,9 +329,6 @@
<style>
<class name="dim-label"/>
</style>
- <accessibility>
- <relation type="label-for" target="image1"/>
- </accessibility>
<layout>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
@@ -370,9 +343,6 @@
<style>
<class name="dim-label"/>
</style>
- <accessibility>
- <relation type="label-for" target="image2"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
@@ -387,9 +357,6 @@
<style>
<class name="dim-label"/>
</style>
- <accessibility>
- <relation type="label-for" target="image3"/>
- </accessibility>
<layout>
<property name="left-attach">2</property>
<property name="top-attach">2</property>
@@ -404,9 +371,6 @@
<style>
<class name="dim-label"/>
</style>
- <accessibility>
- <relation type="label-for" target="image4"/>
- </accessibility>
<layout>
<property name="left-attach">3</property>
<property name="top-attach">2</property>
@@ -421,9 +385,6 @@
<style>
<class name="dim-label"/>
</style>
- <accessibility>
- <relation type="label-for" target="image5"/>
- </accessibility>
<layout>
<property name="left-attach">4</property>
<property name="top-attach">2</property>
@@ -438,9 +399,6 @@
<style>
<class name="dim-label"/>
</style>
- <accessibility>
- <relation type="label-for" target="image6"/>
- </accessibility>
<layout>
<property name="left-attach">5</property>
<property name="top-attach">2</property>
@@ -455,9 +413,6 @@
<style>
<class name="dim-label"/>
</style>
- <accessibility>
- <relation type="label-for" target="image7"/>
- </accessibility>
<layout>
<property name="left-attach">6</property>
<property name="top-attach">2</property>
@@ -472,9 +427,6 @@
<style>
<class name="dim-label"/>
</style>
- <accessibility>
- <relation type="label-for" target="image8"/>
- </accessibility>
<layout>
<property name="left-attach">7</property>
<property name="top-attach">2</property>
diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c
index abc5fd12ba..6d682992ea 100644
--- a/demos/widget-factory/widget-factory.c
+++ b/demos/widget-factory/widget-factory.c
@@ -565,7 +565,6 @@ on_scale_button_value_changed (GtkScaleButton *button,
}
gtk_widget_set_tooltip_text (GTK_WIDGET (button), str);
- atk_object_set_description (gtk_widget_get_accessible (GTK_WIDGET (button)), str);
g_free (str);
}
diff --git a/demos/widget-factory/widget-factory.ui b/demos/widget-factory/widget-factory.ui
index 0083826df7..e8e1db8052 100644
--- a/demos/widget-factory/widget-factory.ui
+++ b/demos/widget-factory/widget-factory.ui
@@ -3029,9 +3029,6 @@ bad things might happen.</property>
<property name="margin-top">20</property>
<property name="margin-bottom">20</property>
<property name="label" translatable="yes">To free the princess, you have to slay the
dragon.</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
@@ -3231,9 +3228,6 @@ bad things might happen.</property>
<object class="GtkLabel" id="title_label">
<property name="label">Title:</property>
<property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="open_popover_entry"/>
- </accessibility>
</object>
</child>
<child>
@@ -3241,9 +3235,6 @@ bad things might happen.</property>
<property name="valign">start</property>
<property name="label">Description:</property>
<property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="open_popover_textview"/>
- </accessibility>
<layout>
<property name="top-attach">1</property>
</layout>
@@ -3259,9 +3250,6 @@ bad things might happen.</property>
<property name="max-content-width">100</property>
<child>
<object class="GtkTextView" id="open_popover_textview">
- <accessibility>
- <relation type="labelled-by" target="description_label"/>
- </accessibility>
</object>
</child>
<layout>
@@ -3274,9 +3262,6 @@ bad things might happen.</property>
<child>
<object class="GtkEntry" id="open_popover_entry">
<property name="activates-default">1</property>
- <accessibility>
- <relation type="labelled-by" target="title_label"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="column-span">2</property>
@@ -3357,9 +3342,6 @@ bad things might happen.</property>
<child>
<object class="GtkLabel">
<property name="label">No updates at this time</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
@@ -3368,9 +3350,6 @@ bad things might happen.</property>
<child>
<object class="GtkLabel">
<property name="label">You're in too deep!</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
diff --git a/docs/reference/gtk/building.md b/docs/reference/gtk/building.md
index 1f676faae8..7412e25473 100644
--- a/docs/reference/gtk/building.md
+++ b/docs/reference/gtk/building.md
@@ -127,7 +127,7 @@ compilation flags needed for that library along with version number
information.)
Some of the libraries that GTK depends on are maintained by the
-GTK team: GLib, GdkPixbuf, Pango, ATK and GObject Introspection.
+GTK team: GLib, GdkPixbuf, Pango, and GObject Introspection.
Other libraries are maintained separately.
- The GLib library provides core non-graphical functionality
@@ -139,10 +139,6 @@ Other libraries are maintained separately.
file formats. It is available [here](ttps://download.gnome.org/sources/gdk-pixbuf/).
- [Pango](http://www.pango.org) is a library for internationalized
text handling. It is available [here](https://download.gnome.org/sources/pango/).
-- ATK is the Accessibility Toolkit. It provides a set of generic
- interfaces allowing accessibility technologies such as
- screen readers to interact with a graphical user interface.
- It is available [here](https://download.gnome.org/sources/atk/).
- [GObject Introspection](https://wiki.gnome.org/Projects/GObjectIntrospection)
is a framework for making introspection data available to language
bindings. It is available [here](https://download.gnome.org/sources/gobject-introspection/).
@@ -192,7 +188,7 @@ you'll have all of these installed already, or they will be easily
accessible through your operating system package repositories.
Then build and install the GTK libraries in the order:
-GLib, Cairo, Pango, ATK, then GTK. For each library, follow the
+GLib, Cairo, Pango, then GTK. For each library, follow the
instructions they provide, and make sure to share common settings
between them and the GTK build; if you are using a separate prefix
for GTK, for instance, you will need to use the same prefix for
diff --git a/docs/reference/gtk/compiling.md b/docs/reference/gtk/compiling.md
index 55e154bd17..1cceedded1 100644
--- a/docs/reference/gtk/compiling.md
+++ b/docs/reference/gtk/compiling.md
@@ -9,9 +9,9 @@ is used (the actual output on your system may be different):
```
$ pkg-config --cflags gtk4
- -pthread -I/usr/include/gtk-4.0 -I/usr/lib64/gtk-4.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/libpng12
+ -pthread -I/usr/include/gtk-4.0 -I/usr/lib64/gtk-4.0/include -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/libpng12
$ pkg-config --libs gtk4
- -pthread -lgtk-4 -lgdk-4 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo
-lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
+ -pthread -lgtk-4 -lgdk-4 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0
-lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
```
The simplest way to compile a program is to use the "backticks"
feature of the shell. If you enclose a command in backticks
diff --git a/docs/reference/gtk/overview.xml b/docs/reference/gtk/overview.xml
index f49ce93eb8..0435836586 100644
--- a/docs/reference/gtk/overview.xml
+++ b/docs/reference/gtk/overview.xml
@@ -61,18 +61,6 @@ other widgets that display text.
</para></listitem>
</varlistentry>
-<varlistentry>
-<term>ATK</term>
-<listitem><para>
-ATK is the Accessibility Toolkit. It provides a set of generic
-interfaces allowing accessibility technologies to interact with a
-graphical user interface. For example, a screen reader uses ATK to
-discover the text in an interface and read it to blind users. GTK
-widgets have built-in support for accessibility using the ATK
-framework.
-</para></listitem>
-</varlistentry>
-
<varlistentry>
<term>GdkPixbuf</term>
<listitem><para>
diff --git a/gtk/gtk.h b/gtk/gtk.h
index 50c23caf26..c401443118 100644
--- a/gtk/gtk.h
+++ b/gtk/gtk.h
@@ -34,7 +34,6 @@
#include <gtk/gtkaboutdialog.h>
#include <gtk/gtkaccelgroup.h>
#include <gtk/gtkaccellabel.h>
-#include <gtk/gtkaccessible.h>
#include <gtk/gtkactionable.h>
#include <gtk/gtkactionbar.h>
#include <gtk/gtkadjustment.h>
diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c
index 7b83dbad5b..4c3eb166e5 100644
--- a/gtk/gtkaccellabel.c
+++ b/gtk/gtkaccellabel.c
@@ -128,8 +128,6 @@ gtk_accel_label_class_init (GtkAccelLabelClass *class)
gobject_class->set_property = gtk_accel_label_set_property;
gobject_class->get_property = gtk_accel_label_get_property;
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_ACCEL_LABEL);
-
props[PROP_LABEL] =
g_param_spec_string ("label",
P_("Label"),
diff --git a/gtk/gtkactionbar.c b/gtk/gtkactionbar.c
index 77a1981a3b..4a6bf4f12f 100644
--- a/gtk/gtkactionbar.c
+++ b/gtk/gtkactionbar.c
@@ -21,7 +21,6 @@
#include "gtkactionbar.h"
#include "gtkintl.h"
-#include "gtkaccessible.h"
#include "gtkbuildable.h"
#include "gtktypebuiltins.h"
#include "gtkbox.h"
@@ -159,7 +158,6 @@ gtk_action_bar_class_init (GtkActionBarClass *klass)
g_object_class_install_properties (object_class, LAST_PROP, props);
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_PANEL);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
gtk_widget_class_set_css_name (widget_class, I_("actionbar"));
}
diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c
index c5da702416..437d2ade35 100644
--- a/gtk/gtkassistant.c
+++ b/gtk/gtkassistant.c
@@ -84,9 +84,6 @@
#include "gtkstylecontext.h"
#include "gtktypebuiltins.h"
-#include "a11y/gtkwindowaccessible.h"
-
-
typedef struct _GtkAssistantPageClass GtkAssistantPageClass;
struct _GtkAssistantPage
@@ -206,8 +203,6 @@ static int gtk_assistant_add_page (GtkAssistant *assi
GtkAssistantPage *page_info,
gint position);
-GType _gtk_assistant_accessible_get_type (void);
-
enum
{
CHILD_PROP_0,
@@ -487,8 +482,6 @@ gtk_assistant_class_init (GtkAssistantClass *class)
widget_class->map = gtk_assistant_map;
widget_class->unmap = gtk_assistant_unmap;
- gtk_widget_class_set_accessible_type (widget_class, _gtk_assistant_accessible_get_type ());
-
window_class->close_request = gtk_assistant_close_request;
/**
@@ -2092,89 +2085,6 @@ gtk_assistant_commit (GtkAssistant *assistant)
update_buttons_state (assistant);
}
-/* accessible implementation */
-
-/* dummy typedefs */
-typedef GtkWindowAccessible GtkAssistantAccessible;
-typedef GtkWindowAccessibleClass GtkAssistantAccessibleClass;
-
-G_DEFINE_TYPE (GtkAssistantAccessible, _gtk_assistant_accessible, GTK_TYPE_WINDOW_ACCESSIBLE);
-
-static gint
-gtk_assistant_accessible_get_n_children (AtkObject *accessible)
-{
- GtkWidget *widget;
- GtkAssistant *assistant;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget == NULL)
- return 0;
-
- assistant = GTK_ASSISTANT (widget);
- return g_list_length (assistant->pages) + 2;
-}
-
-static AtkObject *
-gtk_assistant_accessible_ref_child (AtkObject *accessible,
- gint index)
-{
- GtkAssistant *assistant;
- GtkWidget *widget, *child;
- gint n_pages;
- AtkObject *obj;
- const gchar *title;
-
- widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
- if (widget == NULL)
- return NULL;
-
- assistant = GTK_ASSISTANT (widget);
- n_pages = g_list_length (assistant->pages);
-
- if (index < 0)
- return NULL;
- else if (index < n_pages)
- {
- GtkAssistantPage *page = g_list_nth_data (assistant->pages, index);
-
- child = page->page;
- title = gtk_assistant_get_page_title (assistant, child);
- }
- else if (index == n_pages)
- {
- child = assistant->action_area;
- title = NULL;
- }
- else if (index == n_pages + 1)
- {
- child = assistant->headerbar;
- title = NULL;
- }
- else
- return NULL;
-
- obj = gtk_widget_get_accessible (child);
-
- if (title)
- atk_object_set_name (obj, title);
-
- return g_object_ref (obj);
-}
-
-static void
-_gtk_assistant_accessible_class_init (GtkAssistantAccessibleClass *klass)
-{
- AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass);
-
- atk_class->get_n_children = gtk_assistant_accessible_get_n_children;
- atk_class->ref_child = gtk_assistant_accessible_ref_child;
-}
-
-static void
-_gtk_assistant_accessible_init (GtkAssistantAccessible *self)
-{
-}
-
/* buildable implementation */
static GtkBuildableIface *parent_buildable_iface;
diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c
index d4c296e7df..6efce71cd4 100644
--- a/gtk/gtkbox.c
+++ b/gtk/gtkbox.c
@@ -278,7 +278,6 @@ gtk_box_class_init (GtkBoxClass *class)
g_object_class_install_properties (object_class, LAST_PROP, props);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT);
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_FILLER);
gtk_widget_class_set_css_name (widget_class, I_("box"));
}
static void
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 8a0c084b52..d723eac0b6 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -71,8 +71,6 @@
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkbuttonaccessible.h"
-
#include <string.h>
/* Time out before giving up on getting a key release when animating
@@ -292,7 +290,6 @@ gtk_button_class_init (GtkButtonClass *klass)
widget_class->activate_signal = button_signals[ACTIVATE];
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_BUTTON_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("button"));
}
@@ -839,14 +836,6 @@ gtk_button_set_label (GtkButton *button,
gtk_label_set_label (GTK_LABEL (priv->child), label);
gtk_button_set_child_type (button, LABEL_CHILD);
- {
- GtkButtonAccessible *accessible =
- GTK_BUTTON_ACCESSIBLE (_gtk_widget_peek_accessible (GTK_WIDGET (button)));
-
- if (accessible != NULL)
- gtk_button_accessible_update_label (accessible);
- }
-
g_object_notify_by_pspec (G_OBJECT (button), props[PROP_LABEL]);
}
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c
index 40f022f991..6ddb77084e 100644
--- a/gtk/gtkcalendar.c
+++ b/gtk/gtkcalendar.c
@@ -517,7 +517,6 @@ gtk_calendar_class_init (GtkCalendarClass *class)
NULL,
G_TYPE_NONE, 0);
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_CALENDAR);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT);
gtk_widget_class_set_css_name (widget_class, I_("calendar"));
}
diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c
index 544880a45b..30a70df4de 100644
--- a/gtk/gtkcellrenderer.c
+++ b/gtk/gtkcellrenderer.c
@@ -27,9 +27,6 @@
#include "gtktreeprivate.h"
#include "gtktypebuiltins.h"
-#include "a11y/gtkrenderercellaccessible.h"
-
-
/**
* SECTION:gtkcellrenderer
* @Short_description: An object for rendering a single cell
@@ -138,11 +135,6 @@ struct _GtkCellRendererPrivate
GdkRGBA cell_background;
};
-struct _GtkCellRendererClassPrivate
-{
- GType accessible_type;
-};
-
enum {
PROP_0,
PROP_MODE,
@@ -425,16 +417,6 @@ gtk_cell_renderer_class_init (GtkCellRendererClass *class)
if (GtkCellRenderer_private_offset != 0)
g_type_class_adjust_private_offset (class, &GtkCellRenderer_private_offset);
-
- gtk_cell_renderer_class_set_accessible_type (class, GTK_TYPE_RENDERER_CELL_ACCESSIBLE);
-}
-
-static void
-gtk_cell_renderer_base_class_init (gpointer g_class)
-{
- GtkCellRendererClass *klass = g_class;
-
- klass->priv = G_TYPE_CLASS_GET_PRIVATE (g_class, GTK_TYPE_CELL_RENDERER, GtkCellRendererClassPrivate);
}
GType
@@ -447,7 +429,7 @@ gtk_cell_renderer_get_type (void)
const GTypeInfo cell_renderer_info =
{
sizeof (GtkCellRendererClass),
- gtk_cell_renderer_base_class_init,
+ NULL,
NULL,
(GClassInitFunc) gtk_cell_renderer_class_init,
NULL, /* class_finalize */
@@ -462,7 +444,6 @@ gtk_cell_renderer_get_type (void)
GtkCellRenderer_private_offset =
g_type_add_instance_private (cell_renderer_type, sizeof (GtkCellRendererPrivate));
- g_type_add_class_private (cell_renderer_type, sizeof (GtkCellRendererClassPrivate));
}
return cell_renderer_type;
@@ -1776,39 +1757,3 @@ gtk_cell_renderer_get_is_expanded (GtkCellRenderer *cell)
return priv->is_expanded;
}
-
-/**
- * gtk_cell_renderer_class_set_accessible_type:
- * @renderer_class: class to set the accessible type for
- * @type: The object type that implements the accessible for @widget_class.
- * The type must be a subtype of #GtkRendererCellAccessible
- *
- * Sets the type to be used for creating accessibles for cells rendered by
- * cell renderers of @renderer_class. Note that multiple accessibles will
- * be created.
- *
- * This function should only be called from class init functions of cell
- * renderers.
- **/
-void
-gtk_cell_renderer_class_set_accessible_type (GtkCellRendererClass *renderer_class,
- GType type)
-{
- GtkCellRendererClassPrivate *priv;
-
- g_return_if_fail (GTK_IS_CELL_RENDERER_CLASS (renderer_class));
- g_return_if_fail (g_type_is_a (type, GTK_TYPE_RENDERER_CELL_ACCESSIBLE));
-
- priv = renderer_class->priv;
-
- priv->accessible_type = type;
-}
-
-GType
-_gtk_cell_renderer_get_accessible_type (GtkCellRenderer *renderer)
-{
- g_return_val_if_fail (GTK_IS_CELL_RENDERER (renderer), GTK_TYPE_RENDERER_CELL_ACCESSIBLE);
-
- return GTK_CELL_RENDERER_GET_CLASS (renderer)->priv->accessible_type;
-}
-
diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h
index cfc68ff79d..0ab04d015d 100644
--- a/gtk/gtkcellrenderer.h
+++ b/gtk/gtkcellrenderer.h
@@ -173,9 +173,6 @@ struct _GtkCellRendererClass
const gchar *path);
/*< private >*/
-
- GtkCellRendererClassPrivate *priv;
-
gpointer padding[8];
};
@@ -317,13 +314,6 @@ GtkStateFlags gtk_cell_renderer_get_state (GtkCellRenderer *cell,
GtkWidget *widget,
GtkCellRendererState cell_state);
-GDK_AVAILABLE_IN_ALL
-void gtk_cell_renderer_class_set_accessible_type
- (GtkCellRendererClass *renderer_class,
- GType type);
-GType _gtk_cell_renderer_get_accessible_type
- (GtkCellRenderer * renderer);
-
G_END_DECLS
#endif /* __GTK_CELL_RENDERER_H__ */
diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c
index bb240bae91..27125e4238 100644
--- a/gtk/gtkcellrendererpixbuf.c
+++ b/gtk/gtkcellrendererpixbuf.c
@@ -27,8 +27,6 @@
#include "gtkstylecontextprivate.h"
#include "gtktypebuiltins.h"
-#include "a11y/gtkimagecellaccessible.h"
-
#include <cairo-gobject.h>
#include <stdlib.h>
@@ -227,10 +225,6 @@ gtk_cell_renderer_pixbuf_class_init (GtkCellRendererPixbufClass *class)
P_("The GIcon being displayed"),
G_TYPE_ICON,
GTK_PARAM_READWRITE));
-
-
-
- gtk_cell_renderer_class_set_accessible_type (cell_class, GTK_TYPE_IMAGE_CELL_ACCESSIBLE);
}
static void
diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c
index 1163616d72..6947a141a4 100644
--- a/gtk/gtkcellrenderertext.c
+++ b/gtk/gtkcellrenderertext.c
@@ -31,8 +31,6 @@
#include "gtkstylecontextprivate.h"
#include "gtktreeprivate.h"
-#include "a11y/gtktextcellaccessible.h"
-
#include <stdlib.h>
/**
@@ -642,8 +640,6 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
g_signal_set_va_marshaller (text_cell_renderer_signals [EDITED],
G_OBJECT_CLASS_TYPE (object_class),
_gtk_marshal_VOID__STRING_STRINGv);
-
- gtk_cell_renderer_class_set_accessible_type (cell_class, GTK_TYPE_TEXT_CELL_ACCESSIBLE);
}
static void
diff --git a/gtk/gtkcellrenderertoggle.c b/gtk/gtkcellrenderertoggle.c
index 19e84adc63..d0b9362f8e 100644
--- a/gtk/gtkcellrenderertoggle.c
+++ b/gtk/gtkcellrenderertoggle.c
@@ -29,8 +29,6 @@
#include "gtkwidgetprivate.h"
#include "gtktreeprivate.h"
-#include "a11y/gtkbooleancellaccessible.h"
-
#include <stdlib.h>
/**
@@ -216,8 +214,6 @@ gtk_cell_renderer_toggle_class_init (GtkCellRendererToggleClass *class)
NULL,
G_TYPE_NONE, 1,
G_TYPE_STRING);
-
- gtk_cell_renderer_class_set_accessible_type (cell_class, GTK_TYPE_BOOLEAN_CELL_ACCESSIBLE);
}
static void
diff --git a/gtk/gtkcenterbox.c b/gtk/gtkcenterbox.c
index e3536be6d9..a57c4b3b0e 100644
--- a/gtk/gtkcenterbox.c
+++ b/gtk/gtkcenterbox.c
@@ -209,7 +209,6 @@ gtk_center_box_class_init (GtkCenterBoxClass *klass)
GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_FILLER);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_CENTER_LAYOUT);
gtk_widget_class_set_css_name (widget_class, I_("box"));
}
diff --git a/gtk/gtkcheckbutton.c b/gtk/gtkcheckbutton.c
index dc762d48f1..19c49ebc12 100644
--- a/gtk/gtkcheckbutton.c
+++ b/gtk/gtkcheckbutton.c
@@ -200,7 +200,6 @@ gtk_check_button_class_init (GtkCheckButtonClass *class)
g_object_class_install_properties (object_class, NUM_PROPERTIES, props);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT);
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_CHECK_BOX);
gtk_widget_class_set_css_name (widget_class, I_("checkbutton"));
}
diff --git a/gtk/gtkcolorchooserwidget.c b/gtk/gtkcolorchooserwidget.c
index 938af7632e..8d5533498f 100644
--- a/gtk/gtkcolorchooserwidget.c
+++ b/gtk/gtkcolorchooserwidget.c
@@ -32,8 +32,6 @@
#include "gtkboxlayout.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkcompositeaccessible.h"
-
#include <math.h>
/**
@@ -265,31 +263,6 @@ update_from_editor (GtkColorEditor *editor,
/* UI construction {{{1 */
-static guint
-scale_round (gdouble value, gdouble scale)
-{
- value = floor (value * scale + 0.5);
- value = MAX (value, 0);
- value = MIN (value, scale);
- return (guint)value;
-}
-
-static gchar *
-accessible_color_name (GdkRGBA *color)
-{
- if (color->alpha < 1.0)
- return g_strdup_printf (_("Red %d%%, Green %d%%, Blue %d%%, Alpha %d%%"),
- scale_round (color->red, 100),
- scale_round (color->green, 100),
- scale_round (color->blue, 100),
- scale_round (color->alpha, 100));
- else
- return g_strdup_printf (_("Red %d%%, Green %d%%, Blue %d%%"),
- scale_round (color->red, 100),
- scale_round (color->green, 100),
- scale_round (color->blue, 100));
-}
-
static void
remove_palette (GtkColorChooserWidget *cc)
{
@@ -326,7 +299,6 @@ add_palette (GtkColorChooserWidget *cc,
{
GtkWidget *grid;
GtkWidget *p;
- AtkObject *atk_obj;
gint line, pos;
gint i;
gint left, right;
@@ -355,22 +327,6 @@ add_palette (GtkColorChooserWidget *cc,
for (i = 0; i < n_colors; i++)
{
p = gtk_color_swatch_new ();
- atk_obj = gtk_widget_get_accessible (p);
- if (names)
- {
- atk_object_set_name (atk_obj,
- g_dpgettext2 (GETTEXT_PACKAGE, "Color name", names[i]));
- }
- else
- {
- gchar *text, *name;
-
- name = accessible_color_name (&colors[i]);
- text = g_strdup_printf (_("Color: %s"), name);
- atk_object_set_name (atk_obj, text);
- g_free (text);
- g_free (name);
- }
gtk_color_swatch_set_rgba (GTK_COLOR_SWATCH (p), &colors[i]);
connect_swatch_signals (p, cc);
@@ -543,8 +499,6 @@ gtk_color_chooser_widget_init (GtkColorChooserWidget *cc)
GVariant *variant;
GVariantIter iter;
gboolean selected;
- AtkObject *atk_obj;
- gchar *text, *name;
cc->use_alpha = TRUE;
@@ -564,9 +518,6 @@ gtk_color_chooser_widget_init (GtkColorChooserWidget *cc)
cc->button = button = gtk_color_swatch_new ();
gtk_widget_set_name (button, "add-color-button");
- atk_obj = gtk_widget_get_accessible (button);
- atk_object_set_name (atk_obj, _("Custom color"));
- atk_object_set_description (atk_obj, _("Create a custom color"));
connect_button_signals (button, cc);
gtk_color_swatch_set_icon (GTK_COLOR_SWATCH (button), "list-add-symbolic");
gtk_color_swatch_set_selectable (GTK_COLOR_SWATCH (button), FALSE);
@@ -589,12 +540,6 @@ gtk_color_chooser_widget_init (GtkColorChooserWidget *cc)
gtk_color_swatch_set_rgba (GTK_COLOR_SWATCH (p), &rgba);
gtk_color_swatch_set_can_drop (GTK_COLOR_SWATCH (p), TRUE);
- atk_obj = gtk_widget_get_accessible (p);
- name = accessible_color_name (&rgba);
- text = g_strdup_printf (_("Custom color %d: %s"), i, name);
- atk_object_set_name (atk_obj, text);
- g_free (text);
- g_free (name);
connect_custom_signals (p, cc);
gtk_box_append (GTK_BOX (box), p);
@@ -753,8 +698,6 @@ gtk_color_chooser_widget_class_init (GtkColorChooserWidgetClass *class)
*/
gtk_widget_class_install_action (widget_class, "color.customize", "(dddd)",
gtk_color_chooser_widget_activate_color_customize);
-
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_COMPOSITE_ACCESSIBLE);
}
/* GtkColorChooser implementation {{{1 */
diff --git a/gtk/gtkcolorplane.c b/gtk/gtkcolorplane.c
index 8d18aed3f9..f39b6fbe48 100644
--- a/gtk/gtkcolorplane.c
+++ b/gtk/gtkcolorplane.c
@@ -19,7 +19,6 @@
#include "gtkcolorplaneprivate.h"
-#include "gtkaccessible.h"
#include "gtkadjustment.h"
#include "gtkcolorutils.h"
#include "gtkgesturedrag.h"
@@ -400,7 +399,6 @@ gtk_color_plane_init (GtkColorPlane *plane)
{
GtkEventController *controller;
GtkGesture *gesture;
- AtkObject *atk_obj;
GtkShortcutTrigger *trigger;
GtkShortcutAction *action;
GtkShortcut *shortcut;
@@ -409,13 +407,6 @@ gtk_color_plane_init (GtkColorPlane *plane)
gtk_widget_set_focusable (GTK_WIDGET (plane), TRUE);
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (plane));
- if (GTK_IS_ACCESSIBLE (atk_obj))
- {
- atk_object_set_name (atk_obj, _("Color Plane"));
- atk_object_set_role (atk_obj, ATK_ROLE_COLOR_CHOOSER);
- }
-
gesture = gtk_gesture_drag_new ();
g_signal_connect (gesture, "drag-begin",
G_CALLBACK (plane_drag_gesture_begin), plane);
diff --git a/gtk/gtkcolorscale.c b/gtk/gtkcolorscale.c
index 8f7354ab7d..f0e103e1cf 100644
--- a/gtk/gtkcolorscale.c
+++ b/gtk/gtkcolorscale.c
@@ -25,7 +25,6 @@
#include "gtkcolorutils.h"
#include "gtkorientable.h"
#include "gtkrangeprivate.h"
-#include "gtkaccessible.h"
#include "gtkprivate.h"
#include "gtkintl.h"
#include "gtksnapshot.h"
@@ -224,19 +223,8 @@ scale_set_type (GtkColorScale *scale,
GtkColorScaleType type)
{
GtkColorScalePrivate *priv = gtk_color_scale_get_instance_private (scale);
- AtkObject *atk_obj;
priv->type = type;
-
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (scale));
- if (GTK_IS_ACCESSIBLE (atk_obj))
- {
- if (type == GTK_COLOR_SCALE_HUE)
- atk_object_set_name (atk_obj, C_("Color channel", "Hue"));
- else if (type == GTK_COLOR_SCALE_ALPHA)
- atk_object_set_name (atk_obj, C_("Color channel", "Alpha"));
- atk_object_set_role (atk_obj, ATK_ROLE_COLOR_CHOOSER);
- }
}
static void
diff --git a/gtk/gtkcolorswatch.c b/gtk/gtkcolorswatch.c
index 462f8dd29c..bd70f10506 100644
--- a/gtk/gtkcolorswatch.c
+++ b/gtk/gtkcolorswatch.c
@@ -40,8 +40,6 @@
#include "gtkeventcontrollerkey.h"
#include "gtknative.h"
-#include "a11y/gtkcolorswatchaccessibleprivate.h"
-
/*
* GtkColorSwatch has two CSS nodes, the main one named colorswatch
* and a subnode named overlay. The main node gets the .light or .dark
@@ -507,7 +505,6 @@ gtk_color_swatch_class_init (GtkColorSwatchClass *class)
"menu.popup",
NULL);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_COLOR_SWATCH_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("colorswatch"));
}
diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c
index 5ab02aa0a3..3eec151410 100644
--- a/gtk/gtkcombobox.c
+++ b/gtk/gtkcombobox.c
@@ -39,8 +39,6 @@
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkcomboboxaccessible.h"
-
#include <gobject/gvaluecollector.h>
#include <string.h>
#include <stdarg.h>
@@ -798,7 +796,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
gtk_widget_class_bind_template_callback (widget_class, gtk_combo_box_menu_show);
gtk_widget_class_bind_template_callback (widget_class, gtk_combo_box_menu_hide);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_COMBO_BOX_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("combobox"));
}
@@ -2533,29 +2530,6 @@ gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box)
return priv->popup_fixed_width;
}
-
-/**
- * gtk_combo_box_get_popup_accessible:
- * @combo_box: a #GtkComboBox
- *
- * Gets the accessible object corresponding to the combo box’s popup.
- *
- * This function is mostly intended for use by accessibility technologies;
- * applications should have little use for it.
- *
- * Returns: (transfer none): the accessible object corresponding
- * to the combo box’s popup.
- */
-AtkObject*
-gtk_combo_box_get_popup_accessible (GtkComboBox *combo_box)
-{
- GtkComboBoxPrivate *priv = gtk_combo_box_get_instance_private (combo_box);
-
- g_return_val_if_fail (GTK_IS_COMBO_BOX (combo_box), NULL);
-
- return gtk_widget_get_accessible (priv->popup_widget);
-}
-
/**
* gtk_combo_box_get_row_separator_func: (skip)
* @combo_box: a #GtkComboBox
diff --git a/gtk/gtkcombobox.h b/gtk/gtkcombobox.h
index afcfbbd5ea..05596ac365 100644
--- a/gtk/gtkcombobox.h
+++ b/gtk/gtkcombobox.h
@@ -135,8 +135,6 @@ void gtk_combo_box_popup_for_device (GtkComboBox *combo_box,
GdkDevice *device);
GDK_AVAILABLE_IN_ALL
void gtk_combo_box_popdown (GtkComboBox *combo_box);
-GDK_AVAILABLE_IN_ALL
-AtkObject* gtk_combo_box_get_popup_accessible (GtkComboBox *combo_box);
GDK_AVAILABLE_IN_ALL
gint gtk_combo_box_get_id_column (GtkComboBox *combo_box);
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c
index 84b8e45503..f4bc4515a0 100644
--- a/gtk/gtkdialog.c
+++ b/gtk/gtkdialog.c
@@ -486,8 +486,6 @@ gtk_dialog_class_init (GtkDialogClass *class)
window_class->close_request = gtk_dialog_close_request;
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_DIALOG);
-
class->close = gtk_dialog_close;
/**
diff --git a/gtk/gtkdrawingarea.c b/gtk/gtkdrawingarea.c
index b501f3b07c..7306869910 100644
--- a/gtk/gtkdrawingarea.c
+++ b/gtk/gtkdrawingarea.c
@@ -329,8 +329,6 @@ gtk_drawing_area_class_init (GtkDrawingAreaClass *class)
g_signal_set_va_marshaller (signals[RESIZE],
G_TYPE_FROM_CLASS (class),
_gtk_marshal_VOID__INT_INTv);
-
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_DRAWING_AREA);
}
static void
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 77d4241121..ea8f8eb7ab 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -70,8 +70,6 @@
#include "gtkdragicon.h"
#include "gtkwidgetpaintable.h"
-#include "a11y/gtkentryaccessible.h"
-
#include <cairo-gobject.h>
#include <string.h>
@@ -984,7 +982,6 @@ gtk_entry_class_init (GtkEntryClass *class)
G_TYPE_NONE, 1,
GTK_TYPE_ENTRY_ICON_POSITION);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_ENTRY_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("entry"));
}
diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c
index 09a43778b2..7b1028968b 100644
--- a/gtk/gtkentrycompletion.c
+++ b/gtk/gtkentrycompletion.c
@@ -2061,36 +2061,6 @@ connect_completion_signals (GtkEntryCompletion *completion)
g_signal_connect_swapped (text, "activate", G_CALLBACK (accept_completion_callback), completion);
}
-static void
-set_accessible_relation (GtkWidget *window,
- GtkWidget *entry)
-{
- AtkObject *window_accessible;
- AtkObject *entry_accessible;
-
- window_accessible = gtk_widget_get_accessible (window);
- entry_accessible = gtk_widget_get_accessible (entry);
-
- atk_object_add_relationship (window_accessible,
- ATK_RELATION_POPUP_FOR,
- entry_accessible);
-}
-
-static void
-unset_accessible_relation (GtkWidget *window,
- GtkWidget *entry)
-{
- AtkObject *window_accessible;
- AtkObject *entry_accessible;
-
- window_accessible = gtk_widget_get_accessible (window);
- entry_accessible = gtk_widget_get_accessible (entry);
-
- atk_object_remove_relationship (window_accessible,
- ATK_RELATION_POPUP_FOR,
- entry_accessible);
-}
-
static void
disconnect_completion_signals (GtkEntryCompletion *completion)
{
@@ -2135,8 +2105,6 @@ _gtk_entry_completion_disconnect (GtkEntryCompletion *completion)
disconnect_completion_signals (completion);
- unset_accessible_relation (completion->popup_window,
- completion->entry);
gtk_widget_unparent (completion->popup_window);
completion->entry = NULL;
@@ -2148,8 +2116,6 @@ _gtk_entry_completion_connect (GtkEntryCompletion *completion,
{
completion->entry = GTK_WIDGET (entry);
- set_accessible_relation (completion->popup_window,
- completion->entry);
gtk_widget_set_parent (completion->popup_window, GTK_WIDGET (entry));
connect_completion_signals (completion);
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c
index 0ceff8679b..7dea9e6c97 100644
--- a/gtk/gtkexpander.c
+++ b/gtk/gtkexpander.c
@@ -126,8 +126,6 @@
#include "gtkstylecontextprivate.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkexpanderaccessibleprivate.h"
-
#include <string.h>
#define TIMEOUT_EXPAND 500
@@ -375,7 +373,6 @@ gtk_expander_class_init (GtkExpanderClass *klass)
NULL,
G_TYPE_NONE, 0);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_EXPANDER_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("expander-widget"));
}
@@ -880,14 +877,6 @@ gtk_expander_set_expanded (GtkExpander *expander,
gtk_expander_resize_toplevel (expander);
}
- {
- AtkObject *accessible = _gtk_widget_peek_accessible (GTK_WIDGET (expander));
-
- if (accessible != NULL)
- gtk_expander_accessible_update_state (GTK_EXPANDER_ACCESSIBLE (accessible),
- expander->expanded);
- }
-
g_object_notify (G_OBJECT (expander), "expanded");
}
@@ -941,13 +930,6 @@ gtk_expander_set_label (GtkExpander *expander,
gtk_expander_set_label_widget (expander, child);
}
- {
- AtkObject *accessible = _gtk_widget_peek_accessible (GTK_WIDGET (expander));
-
- if (accessible != NULL)
- gtk_expander_accessible_update_label (GTK_EXPANDER_ACCESSIBLE (accessible));
- }
-
g_object_notify (G_OBJECT (expander), "label");
}
diff --git a/gtk/gtkfilechooserdialog.c b/gtk/gtkfilechooserdialog.c
index f7a16057cc..22e20117d8 100644
--- a/gtk/gtkfilechooserdialog.c
+++ b/gtk/gtkfilechooserdialog.c
@@ -293,8 +293,6 @@ gtk_file_chooser_dialog_class_init (GtkFileChooserDialogClass *class)
widget_class->unmap = gtk_file_chooser_dialog_unmap;
widget_class->size_allocate = gtk_file_chooser_dialog_size_allocate;
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_FILE_CHOOSER);
-
_gtk_file_chooser_install_properties (gobject_class);
/* Bind class to template
diff --git a/gtk/gtkflowbox.c b/gtk/gtkflowbox.c
index 8ac3ff9f7e..7c61f4c3df 100644
--- a/gtk/gtkflowbox.c
+++ b/gtk/gtkflowbox.c
@@ -98,9 +98,6 @@
#include "gtkviewport.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkflowboxaccessibleprivate.h"
-#include "a11y/gtkflowboxchildaccessible.h"
-
/* Forward declarations and utilities {{{1 */
static void gtk_flow_box_update_cursor (GtkFlowBox *box,
@@ -537,7 +534,6 @@ gtk_flow_box_child_class_init (GtkFlowBoxChildClass *class)
widget_class->activate_signal = child_signals[CHILD_ACTIVATE];
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_LIST_ITEM);
gtk_widget_class_set_css_name (widget_class, I_("flowboxchild"));
}
@@ -961,7 +957,6 @@ gtk_flow_box_update_cursor (GtkFlowBox *box,
{
BOX_PRIV (box)->cursor_child = child;
gtk_widget_grab_focus (GTK_WIDGET (child));
- _gtk_flow_box_accessible_update_cursor (GTK_WIDGET (box), GTK_WIDGET (child));
}
static void
@@ -3379,7 +3374,6 @@ gtk_flow_box_move_cursor (GtkFlowBox *box,
static void
gtk_flow_box_selected_children_changed (GtkFlowBox *box)
{
- _gtk_flow_box_accessible_selection_changed (GTK_WIDGET (box));
}
/* GObject implementation {{{2 */
@@ -3877,7 +3871,6 @@ gtk_flow_box_class_init (GtkFlowBoxClass *class)
"unselect-all",
NULL);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_FLOW_BOX_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("flowbox"));
}
diff --git a/gtk/gtkfontchooserdialog.c b/gtk/gtkfontchooserdialog.c
index 9083806f89..96439350d8 100644
--- a/gtk/gtkfontchooserdialog.c
+++ b/gtk/gtkfontchooserdialog.c
@@ -21,8 +21,6 @@
#include <glib/gprintf.h>
#include <string.h>
-#include <atk/atk.h>
-
#include "gtkfontchooserdialog.h"
#include "gtkfontchooser.h"
#include "gtkfontchooserwidget.h"
@@ -30,7 +28,6 @@
#include "gtkfontchooserutils.h"
#include "gtkbox.h"
#include "gtkintl.h"
-#include "gtkaccessible.h"
#include "gtkbuildable.h"
#include "gtkprivate.h"
#include "gtkwidget.h"
diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c
index 42101f29d3..b33b6525e3 100644
--- a/gtk/gtkfontchooserwidget.c
+++ b/gtk/gtkfontchooserwidget.c
@@ -21,8 +21,6 @@
#include <glib/gprintf.h>
#include <string.h>
-#include <atk/atk.h>
-
#include "gtkfontchooserwidget.h"
#include "gtkfontchooserwidgetprivate.h"
diff --git a/gtk/gtkframe.c b/gtk/gtkframe.c
index 5042b1b346..509ac2c47b 100644
--- a/gtk/gtkframe.c
+++ b/gtk/gtkframe.c
@@ -36,8 +36,6 @@
#include "gtkcssstylepropertyprivate.h"
#include "gtklabel.h"
-#include "a11y/gtkframeaccessible.h"
-
/**
* SECTION:gtkframe
* @Short_description: A widget with a decorative frame and optional label
@@ -194,7 +192,6 @@ gtk_frame_class_init (GtkFrameClass *class)
g_object_class_install_properties (gobject_class, LAST_PROP, frame_props);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_FRAME_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("frame"));
}
diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c
index 107e0940ff..d913370a52 100644
--- a/gtk/gtkglarea.c
+++ b/gtk/gtkglarea.c
@@ -784,8 +784,6 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
widget_class->size_allocate = gtk_gl_area_size_allocate;
widget_class->snapshot = gtk_gl_area_snapshot;
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_DRAWING_AREA);
-
/**
* GtkGLArea:context:
*
diff --git a/gtk/gtkheaderbar.c b/gtk/gtkheaderbar.c
index fa00f9a00b..e3de99b8c7 100644
--- a/gtk/gtkheaderbar.c
+++ b/gtk/gtkheaderbar.c
@@ -617,7 +617,6 @@ gtk_header_bar_class_init (GtkHeaderBarClass *class)
g_object_class_install_properties (object_class, LAST_PROP, header_bar_props);
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_PANEL);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
gtk_widget_class_set_css_name (widget_class, I_("headerbar"));
}
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
index ea63186622..6591c48288 100644
--- a/gtk/gtkiconview.c
+++ b/gtk/gtkiconview.c
@@ -19,7 +19,6 @@
#include "gtkiconviewprivate.h"
-#include "gtkaccessible.h"
#include "gtkadjustmentprivate.h"
#include "gtkcellareabox.h"
#include "gtkcellareacontext.h"
@@ -48,8 +47,6 @@
#include "gtkdragicon.h"
#include "gtknative.h"
-#include "a11y/gtkiconviewaccessibleprivate.h"
-
#include <string.h>
/**
@@ -256,9 +253,6 @@ static void gtk_icon_view_ensure_cell_area (GtkIco
static GtkCellArea *gtk_icon_view_cell_layout_get_area (GtkCellLayout *layout);
-static void gtk_icon_view_item_selected_changed (GtkIconView *icon_view,
- GtkIconViewItem *item);
-
static void gtk_icon_view_add_editable (GtkCellArea *area,
GtkCellRenderer *renderer,
GtkCellEditable *editable,
@@ -885,7 +879,6 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
gtk_icon_view_add_move_binding (widget_class, GDK_KEY_KP_Left, 0,
GTK_MOVEMENT_VISUAL_POSITIONS, -1);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_ICON_VIEW_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("iconview"));
}
@@ -1917,25 +1910,6 @@ gtk_icon_view_remove (GtkIconView *icon_view,
}
}
-static void
-gtk_icon_view_item_selected_changed (GtkIconView *icon_view,
- GtkIconViewItem *item)
-{
- AtkObject *obj;
- AtkObject *item_obj;
-
- obj = gtk_widget_get_accessible (GTK_WIDGET (icon_view));
- if (obj != NULL)
- {
- item_obj = atk_object_ref_accessible_child (obj, item->index);
- if (item_obj != NULL)
- {
- atk_object_notify_state_change (item_obj, ATK_STATE_SELECTED, item->selected);
- g_object_unref (item_obj);
- }
- }
-}
-
static void
gtk_icon_view_add_editable (GtkCellArea *area,
GtkCellRenderer *renderer,
@@ -2472,7 +2446,6 @@ gtk_icon_view_unselect_all_internal (GtkIconView *icon_view)
item->selected = FALSE;
dirty = TRUE;
gtk_icon_view_queue_draw_item (icon_view, item);
- gtk_icon_view_item_selected_changed (icon_view, item);
}
}
@@ -2551,7 +2524,6 @@ gtk_icon_view_real_toggle_cursor_item (GtkIconView *icon_view)
icon_view->priv->cursor_item->selected = !icon_view->priv->cursor_item->selected;
g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0);
- gtk_icon_view_item_selected_changed (icon_view, icon_view->priv->cursor_item);
gtk_icon_view_queue_draw_item (icon_view, icon_view->priv->cursor_item);
break;
}
@@ -2686,14 +2658,8 @@ gtk_icon_view_adjustment_changed (GtkAdjustment *adjustment,
if (gtk_widget_get_realized (widget))
{
- GtkIconViewAccessible *accessible =
- GTK_ICON_VIEW_ACCESSIBLE (_gtk_widget_peek_accessible (GTK_WIDGET (icon_view)));
-
if (icon_view->priv->doing_rubberband)
gtk_icon_view_update_rubberband (icon_view);
-
- if (accessible != NULL)
- gtk_icon_view_accessible_adjustment_changed (accessible);
}
gtk_widget_queue_draw (GTK_WIDGET (icon_view));
@@ -2982,14 +2948,9 @@ _gtk_icon_view_set_cursor_item (GtkIconView *icon_view,
GtkIconViewItem *item,
GtkCellRenderer *cursor_cell)
{
- AtkObject *obj;
- AtkObject *item_obj;
- AtkObject *cursor_item_obj;
-
- /* When hitting this path from keynav, the focus cell is
- * already set, we dont need to notify the atk object
- * but we still need to queue the draw here (in the case
- * that the focus cell changes but not the cursor item).
+ /* When hitting this path from keynav, the focus cell is already set,
+ * but we still need to queue the draw here (in the case that the focus
+ * cell changes but not the cursor item).
*/
gtk_icon_view_queue_draw_item (icon_view, item);
@@ -2997,17 +2958,9 @@ _gtk_icon_view_set_cursor_item (GtkIconView *icon_view,
(cursor_cell == NULL || cursor_cell == gtk_cell_area_get_focus_cell (icon_view->priv->cell_area)))
return;
- obj = gtk_widget_get_accessible (GTK_WIDGET (icon_view));
if (icon_view->priv->cursor_item != NULL)
- {
- gtk_icon_view_queue_draw_item (icon_view, icon_view->priv->cursor_item);
- if (obj != NULL)
- {
- cursor_item_obj = atk_object_ref_accessible_child (obj, icon_view->priv->cursor_item->index);
- if (cursor_item_obj != NULL)
- atk_object_notify_state_change (cursor_item_obj, ATK_STATE_FOCUSED, FALSE);
- }
- }
+ gtk_icon_view_queue_draw_item (icon_view, icon_view->priv->cursor_item);
+
icon_view->priv->cursor_item = item;
if (cursor_cell)
@@ -3018,18 +2971,6 @@ _gtk_icon_view_set_cursor_item (GtkIconView *icon_view,
if (!gtk_cell_area_get_focus_cell (icon_view->priv->cell_area))
gtk_cell_area_focus (icon_view->priv->cell_area, GTK_DIR_TAB_FORWARD);
}
-
- /* Notify that accessible focus object has changed */
- item_obj = atk_object_ref_accessible_child (obj, item->index);
-
- if (item_obj != NULL)
- {
- G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
- atk_focus_tracker_notify (item_obj);
- G_GNUC_END_IGNORE_DEPRECATIONS;
- atk_object_notify_state_change (item_obj, ATK_STATE_FOCUSED, TRUE);
- g_object_unref (item_obj);
- }
}
@@ -3122,7 +3063,6 @@ _gtk_icon_view_select_item (GtkIconView *icon_view,
item->selected = TRUE;
- gtk_icon_view_item_selected_changed (icon_view, item);
g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0);
gtk_icon_view_queue_draw_item (icon_view, item);
@@ -3145,7 +3085,6 @@ _gtk_icon_view_unselect_item (GtkIconView *icon_view,
item->selected = FALSE;
- gtk_icon_view_item_selected_changed (icon_view, item);
g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0);
gtk_icon_view_queue_draw_item (icon_view, item);
@@ -3582,7 +3521,6 @@ gtk_icon_view_select_all_between (GtkIconView *icon_view,
{
dirty = TRUE;
item->selected = TRUE;
- gtk_icon_view_item_selected_changed (icon_view, item);
}
gtk_icon_view_queue_draw_item (icon_view, item);
}
@@ -4713,14 +4651,6 @@ gtk_icon_view_set_model (GtkIconView *icon_view,
gtk_icon_view_build_items (icon_view);
}
- {
- GtkIconViewAccessible *accessible =
- GTK_ICON_VIEW_ACCESSIBLE (_gtk_widget_peek_accessible (GTK_WIDGET (icon_view)));
-
- if (accessible != NULL)
- gtk_icon_view_accessible_update_model (accessible, icon_view->priv->model);
- }
-
g_object_notify (G_OBJECT (icon_view), "model");
if (dirty)
diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
index 3a0399e939..2b0eea86bf 100644
--- a/gtk/gtkimage.c
+++ b/gtk/gtkimage.c
@@ -36,8 +36,6 @@
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkimageaccessible.h"
-
#include <math.h>
#include <string.h>
#include <cairo-gobject.h>
@@ -262,7 +260,6 @@ gtk_image_class_init (GtkImageClass *class)
g_object_class_install_properties (gobject_class, NUM_PROPERTIES, image_props);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_IMAGE_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("image"));
}
diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c
index 775ba0b6da..ca23155837 100644
--- a/gtk/gtkinfobar.c
+++ b/gtk/gtkinfobar.c
@@ -32,7 +32,6 @@
#include <stdlib.h>
#include "gtkinfobar.h"
-#include "gtkaccessible.h"
#include "gtkbuildable.h"
#include "gtkbuilderprivate.h"
#include "gtkbox.h"
@@ -1072,7 +1071,6 @@ gtk_info_bar_set_message_type (GtkInfoBar *info_bar,
if (info_bar->message_type != message_type)
{
- AtkObject *atk_obj;
const char *type_class[] = {
GTK_STYLE_CLASS_INFO,
GTK_STYLE_CLASS_WARNING,
@@ -1088,43 +1086,6 @@ gtk_info_bar_set_message_type (GtkInfoBar *info_bar,
gtk_widget_queue_draw (GTK_WIDGET (info_bar));
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (info_bar));
- if (GTK_IS_ACCESSIBLE (atk_obj))
- {
- const char *name = NULL;
-
- atk_object_set_role (atk_obj, ATK_ROLE_INFO_BAR);
-
- switch (message_type)
- {
- case GTK_MESSAGE_INFO:
- name = _("Information");
- break;
-
- case GTK_MESSAGE_QUESTION:
- name = _("Question");
- break;
-
- case GTK_MESSAGE_WARNING:
- name = _("Warning");
- break;
-
- case GTK_MESSAGE_ERROR:
- name = _("Error");
- break;
-
- case GTK_MESSAGE_OTHER:
- break;
-
- default:
- g_warning ("Unknown GtkMessageType %u", message_type);
- break;
- }
-
- if (name)
- atk_object_set_name (atk_obj, name);
- }
-
if (type_class[info_bar->message_type])
gtk_widget_add_css_class (GTK_WIDGET (info_bar), type_class[info_bar->message_type]);
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index a42ff5a29d..e37728a64f 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -58,8 +58,6 @@
#include "gtkdragicon.h"
#include "gtkcsscolorvalueprivate.h"
-#include "a11y/gtklabelaccessibleprivate.h"
-
#include <math.h>
#include <string.h>
@@ -1074,8 +1072,6 @@ gtk_label_class_init (GtkLabelClass *class)
"activate-current-link",
NULL);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_LABEL_ACCESSIBLE);
-
gtk_widget_class_set_css_name (widget_class, I_("label"));
quark_mnemonics_visible_connected = g_quark_from_static_string ("gtk-label-mnemonics-visible-connected");
@@ -1690,12 +1686,9 @@ gtk_label_set_text_internal (GtkLabel *self,
return;
}
- _gtk_label_accessible_text_deleted (self);
g_free (self->text);
self->text = str;
- _gtk_label_accessible_text_inserted (self);
-
gtk_label_select_region_index (self, 0, 0);
}
@@ -2291,7 +2284,6 @@ gtk_label_set_markup_internal (GtkLabel *self,
gtk_label_ensure_select_info (self);
self->select_info->links = g_steal_pointer (&links);
self->select_info->n_links = n_links;
- _gtk_label_accessible_update_links (self);
gtk_label_ensure_has_tooltip (self);
gtk_widget_add_css_class (GTK_WIDGET (self), "link");
}
@@ -3744,7 +3736,6 @@ gtk_label_grab_focus (GtkWidget *widget)
{
self->select_info->selection_anchor = link->start;
self->select_info->selection_end = link->start;
- _gtk_label_accessible_focus_link_changed (self);
break;
}
}
@@ -3778,7 +3769,6 @@ gtk_label_focus (GtkWidget *widget,
{
info->selection_anchor = focus_link->start;
info->selection_end = focus_link->start;
- _gtk_label_accessible_focus_link_changed (self);
}
}
}
@@ -3813,7 +3803,6 @@ gtk_label_focus (GtkWidget *widget,
if (!range_is_in_ellipsis (self, link->start, link->end))
{
gtk_label_select_region_index (self, link->start, link->start);
- _gtk_label_accessible_focus_link_changed (self);
return TRUE;
}
}
@@ -3831,7 +3820,6 @@ gtk_label_focus (GtkWidget *widget,
if (!range_is_in_ellipsis (self, link->start, link->end))
{
gtk_label_select_region_index (self, link->start, link->start);
- _gtk_label_accessible_focus_link_changed (self);
return TRUE;
}
}
@@ -3897,7 +3885,6 @@ gtk_label_focus (GtkWidget *widget,
focus_link = &info->links[new_index];
info->selection_anchor = focus_link->start;
info->selection_end = focus_link->start;
- _gtk_label_accessible_focus_link_changed (self);
gtk_widget_queue_draw (widget);
return TRUE;
@@ -4509,8 +4496,6 @@ gtk_label_set_selectable (GtkLabel *self,
{
g_object_freeze_notify (G_OBJECT (self));
g_object_notify_by_pspec (G_OBJECT (self), label_props[PROP_SELECTABLE]);
- _gtk_label_accessible_selection_bound_changed (self);
- _gtk_label_accessible_cursor_position_changed (self);
g_object_thaw_notify (G_OBJECT (self));
gtk_widget_queue_draw (GTK_WIDGET (self));
}
@@ -4538,8 +4523,6 @@ gtk_label_select_region_index (GtkLabel *self,
gint end_index)
{
g_return_if_fail (GTK_IS_LABEL (self));
- gboolean anchor_changed;
- gboolean bound_changed;
if (self->select_info && self->select_info->selectable)
{
@@ -4605,17 +4588,9 @@ gtk_label_select_region_index (GtkLabel *self,
g_object_freeze_notify (G_OBJECT (self));
- anchor_changed = self->select_info->selection_anchor != anchor_index;
- bound_changed = self->select_info->selection_end != end_index;
-
self->select_info->selection_anchor = anchor_index;
self->select_info->selection_end = end_index;
- if (anchor_changed)
- _gtk_label_accessible_selection_bound_changed (self);
- if (bound_changed)
- _gtk_label_accessible_cursor_position_changed (self);
-
clipboard = gtk_widget_get_primary_clipboard (GTK_WIDGET (self));
if (anchor_index != end_index)
@@ -5505,8 +5480,6 @@ gtk_label_clear_links (GtkLabel *self)
self->select_info->n_links = 0;
self->select_info->active_link = NULL;
gtk_widget_remove_css_class (GTK_WIDGET (self), "link");
-
- _gtk_label_accessible_update_links (self);
}
static gboolean
diff --git a/gtk/gtklevelbar.c b/gtk/gtklevelbar.c
index 321c152128..da95bc9f11 100644
--- a/gtk/gtklevelbar.c
+++ b/gtk/gtklevelbar.c
@@ -133,8 +133,6 @@
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtklevelbaraccessible.h"
-
#include <math.h>
#include <stdlib.h>
@@ -1007,7 +1005,6 @@ gtk_level_bar_class_init (GtkLevelBarClass *klass)
g_object_class_install_properties (oclass, LAST_PROPERTY, properties);
- gtk_widget_class_set_accessible_type (wclass, GTK_TYPE_LEVEL_BAR_ACCESSIBLE);
gtk_widget_class_set_layout_manager_type (wclass, GTK_TYPE_BIN_LAYOUT);
gtk_widget_class_set_css_name (wclass, I_("levelbar"));
}
diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c
index 21084de8a7..c6c24b7ea5 100644
--- a/gtk/gtklinkbutton.c
+++ b/gtk/gtklinkbutton.c
@@ -68,8 +68,6 @@
#include "gtktooltip.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtklinkbuttonaccessible.h"
-
#include <string.h>
typedef struct _GtkLinkButtonClass GtkLinkButtonClass;
@@ -218,7 +216,6 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass)
_gtk_marshal_BOOLEAN__VOID,
G_TYPE_BOOLEAN, 0);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_LINK_BUTTON_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("button"));
/**
diff --git a/gtk/gtklistbox.c b/gtk/gtklistbox.c
index b770e85e4f..f3b719d93d 100644
--- a/gtk/gtklistbox.c
+++ b/gtk/gtklistbox.c
@@ -33,9 +33,6 @@
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtklistboxaccessibleprivate.h"
-#include "a11y/gtklistboxrowaccessible.h"
-
#include <float.h>
#include <math.h>
#include <string.h>
@@ -678,8 +675,6 @@ gtk_list_box_class_init (GtkListBoxClass *klass)
NULL);
gtk_widget_class_set_css_name (widget_class, I_("list"));
-
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_LIST_BOX_ACCESSIBLE);
}
static void
@@ -902,7 +897,6 @@ gtk_list_box_unselect_all (GtkListBox *box)
static void
gtk_list_box_selected_rows_changed (GtkListBox *box)
{
- _gtk_list_box_accessible_selection_changed (box);
}
/**
@@ -1524,7 +1518,6 @@ gtk_list_box_update_cursor (GtkListBox *box,
gtk_widget_grab_focus (GTK_WIDGET (row));
}
gtk_widget_queue_draw (GTK_WIDGET (row));
- _gtk_list_box_accessible_update_cursor (box, row);
}
static GtkListBox *
@@ -3463,7 +3456,6 @@ gtk_list_box_row_class_init (GtkListBoxRowClass *klass)
g_object_class_override_property (object_class, ROW_PROP_ACTION_TARGET, "action-target");
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_LIST_BOX_ROW_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("row"));
}
diff --git a/gtk/gtklockbutton.c b/gtk/gtklockbutton.c
index be9ea8d7d4..2c610aa766 100644
--- a/gtk/gtklockbutton.c
+++ b/gtk/gtklockbutton.c
@@ -28,8 +28,6 @@
#include "gtkstack.h"
#include "gtkstylecontext.h"
-#include "a11y/gtklockbuttonaccessibleprivate.h"
-
/**
* SECTION:gtklockbutton
* @title: GtkLockButton
@@ -198,12 +196,10 @@ gtk_lock_button_set_property (GObject *object,
case PROP_TEXT_LOCK:
gtk_label_set_text (GTK_LABEL (button->label_lock), g_value_get_string (value));
- _gtk_lock_button_accessible_name_changed (button);
break;
case PROP_TEXT_UNLOCK:
gtk_label_set_text (GTK_LABEL (button->label_unlock), g_value_get_string (value));
- _gtk_lock_button_accessible_name_changed (button);
break;
case PROP_TOOLTIP_LOCK:
@@ -326,7 +322,6 @@ gtk_lock_button_class_init (GtkLockButtonClass *klass)
gtk_widget_class_bind_template_child (widget_class, GtkLockButton, label_unlock);
gtk_widget_class_bind_template_child (widget_class, GtkLockButton, stack);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_LOCK_BUTTON_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("button"));
}
@@ -390,7 +385,6 @@ update_state (GtkLockButton *button)
gtk_image_set_from_gicon (GTK_IMAGE (button->image), icon);
gtk_stack_set_visible_child (GTK_STACK (button->stack),
allowed ? button->label_lock : button->label_unlock);
- _gtk_lock_button_accessible_name_changed (button);
gtk_widget_set_tooltip_markup (GTK_WIDGET (button), tooltip);
gtk_widget_set_sensitive (GTK_WIDGET (button), sensitive);
gtk_widget_set_visible (GTK_WIDGET (button), visible);
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index e1dd5bd6fc..7e24f5dc36 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -135,7 +135,6 @@
#include "gtkroot.h"
#include "gtknative.h"
-#include "a11y/gtkaccessibility.h"
#include "inspector/window.h"
static GtkWindowGroup *gtk_main_get_window_group (GtkWidget *widget);
@@ -639,7 +638,6 @@ static void
default_display_notify_cb (GdkDisplayManager *dm)
{
debug_flags[0].display = gdk_display_get_default ();
- _gtk_accessibility_init ();
}
static void
diff --git a/gtk/gtkmenubutton.c b/gtk/gtkmenubutton.c
index b4e842f0b5..bb6062e694 100644
--- a/gtk/gtkmenubutton.c
+++ b/gtk/gtkmenubutton.c
@@ -110,7 +110,6 @@
#include "config.h"
-#include "gtkaccessible.h"
#include "gtkactionable.h"
#include "gtkimage.h"
#include "gtkintl.h"
@@ -128,8 +127,6 @@
#include "gtkbuttonprivate.h"
#include "gtknative.h"
-#include "a11y/gtkmenubuttonaccessible.h"
-
typedef struct _GtkMenuButtonClass GtkMenuButtonClass;
typedef struct _GtkMenuButtonPrivate GtkMenuButtonPrivate;
@@ -440,7 +437,6 @@ gtk_menu_button_class_init (GtkMenuButtonClass *klass)
g_object_class_install_properties (gobject_class, LAST_PROP, menu_button_props);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_MENU_BUTTON_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("menubutton"));
}
diff --git a/gtk/gtkmessagedialog.c b/gtk/gtkmessagedialog.c
index b3c9278146..44a4919e72 100644
--- a/gtk/gtkmessagedialog.c
+++ b/gtk/gtkmessagedialog.c
@@ -27,7 +27,6 @@
#include "gtkmessagedialog.h"
-#include "gtkaccessible.h"
#include "gtkbox.h"
#include "gtkbuildable.h"
#include "gtkdialogprivate.h"
@@ -150,8 +149,6 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
widget_class = GTK_WIDGET_CLASS (class);
gobject_class = G_OBJECT_CLASS (class);
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_ALERT);
-
gobject_class->constructed = gtk_message_dialog_constructed;
gobject_class->set_property = gtk_message_dialog_set_property;
gobject_class->get_property = gtk_message_dialog_get_property;
@@ -287,48 +284,12 @@ setup_type (GtkMessageDialog *dialog,
GtkMessageType type)
{
GtkMessageDialogPrivate *priv = gtk_message_dialog_get_instance_private (dialog);
- const gchar *name = NULL;
- AtkObject *atk_obj;
if (priv->message_type == type)
return;
priv->message_type = type;
- switch (type)
- {
- case GTK_MESSAGE_INFO:
- name = _("Information");
- break;
-
- case GTK_MESSAGE_QUESTION:
- name = _("Question");
- break;
-
- case GTK_MESSAGE_WARNING:
- name = _("Warning");
- break;
-
- case GTK_MESSAGE_ERROR:
- name = _("Error");
- break;
-
- case GTK_MESSAGE_OTHER:
- break;
-
- default:
- g_warning ("Unknown GtkMessageType %u", type);
- break;
- }
-
- atk_obj = gtk_widget_get_accessible (GTK_WIDGET (dialog));
- if (GTK_IS_ACCESSIBLE (atk_obj))
- {
- atk_object_set_role (atk_obj, ATK_ROLE_ALERT);
- if (name)
- atk_object_set_name (atk_obj, name);
- }
-
g_object_notify (G_OBJECT (dialog), "message-type");
}
diff --git a/gtk/gtkmodelbutton.c b/gtk/gtkmodelbutton.c
index d6147d6327..7fd764da33 100644
--- a/gtk/gtkmodelbutton.c
+++ b/gtk/gtkmodelbutton.c
@@ -421,15 +421,6 @@ gtk_model_button_update_state (GtkModelButton *self)
indicator_state = get_start_indicator_state (self);
if (self->iconic)
gtk_widget_set_state_flags (GTK_WIDGET (self), indicator_state, TRUE);
-
- if (self->role == GTK_BUTTON_ROLE_CHECK ||
- self->role == GTK_BUTTON_ROLE_RADIO)
- {
- AtkObject *object = _gtk_widget_peek_accessible (GTK_WIDGET (self));
- if (object)
- atk_object_notify_state_change (object, ATK_STATE_CHECKED,
- (indicator_state & GTK_STATE_FLAG_CHECKED));
- }
}
static void
@@ -456,21 +447,16 @@ gtk_model_button_direction_changed (GtkWidget *widget,
static void
update_node_name (GtkModelButton *self)
{
- AtkObject *accessible;
- AtkRole a11y_role;
- const gchar *start_name;
- const gchar *end_name;
+ const char *start_name;
+ const char *end_name;
- accessible = gtk_widget_get_accessible (GTK_WIDGET (self));
switch (self->role)
{
case GTK_BUTTON_ROLE_TITLE:
- a11y_role = ATK_ROLE_PUSH_BUTTON;
start_name = "arrow";
end_name = NULL;
break;
case GTK_BUTTON_ROLE_NORMAL:
- a11y_role = ATK_ROLE_PUSH_BUTTON;
start_name = NULL;
if (self->menu_name || self->popover)
end_name = "arrow";
@@ -479,13 +465,11 @@ update_node_name (GtkModelButton *self)
break;
case GTK_BUTTON_ROLE_CHECK:
- a11y_role = ATK_ROLE_CHECK_BOX;
start_name = "check";
end_name = NULL;
break;
case GTK_BUTTON_ROLE_RADIO:
- a11y_role = ATK_ROLE_RADIO_BUTTON;
start_name = "radio";
end_name = NULL;
break;
@@ -500,8 +484,6 @@ update_node_name (GtkModelButton *self)
end_name = NULL;
}
- atk_object_set_role (accessible, a11y_role);
-
if (start_name && !self->start_indicator)
{
self->start_indicator = gtk_builtin_icon_new (start_name);
@@ -1067,18 +1049,6 @@ gtk_model_button_focus (GtkWidget *widget,
return FALSE;
}
-static AtkObject *
-gtk_model_button_get_accessible (GtkWidget *widget)
-{
- AtkObject *object;
-
- object = GTK_WIDGET_CLASS (gtk_model_button_parent_class)->get_accessible (widget);
-
- gtk_model_button_update_state (GTK_MODEL_BUTTON (widget));
-
- return object;
-}
-
static void
gtk_model_button_class_init (GtkModelButtonClass *class)
{
@@ -1093,7 +1063,6 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
widget_class->state_flags_changed = gtk_model_button_state_flags_changed;
widget_class->direction_changed = gtk_model_button_direction_changed;
widget_class->focus = gtk_model_button_focus;
- widget_class->get_accessible = gtk_model_button_get_accessible;
class->clicked = gtk_model_button_clicked;
@@ -1231,7 +1200,6 @@ gtk_model_button_class_init (GtkModelButtonClass *class)
widget_class->activate_signal = signals[SIGNAL_CLICKED];
- gtk_widget_class_set_accessible_role (GTK_WIDGET_CLASS (class), ATK_ROLE_PUSH_BUTTON);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT);
gtk_widget_class_set_css_name (GTK_WIDGET_CLASS (class), I_("modelbutton"));
}
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index 2b7e54f332..1bd9c92e8c 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -55,8 +55,6 @@
#include "gtkwidgetpaintable.h"
#include "gtknative.h"
-#include "a11y/gtknotebookaccessibleprivate.h"
-
#include <stdio.h>
#include <string.h>
#include <math.h>
@@ -1364,7 +1362,6 @@ gtk_notebook_class_init (GtkNotebookClass *class)
add_tab_bindings (widget_class, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);
add_tab_bindings (widget_class, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_NOTEBOOK_ACCESSIBLE);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT);
gtk_widget_class_set_css_name (widget_class, I_("notebook"));
}
@@ -5292,7 +5289,6 @@ gtk_notebook_real_switch_page (GtkNotebook *notebook,
{
GList *list = gtk_notebook_find_child (notebook, GTK_WIDGET (child));
GtkNotebookPage *page = GTK_NOTEBOOK_PAGE_FROM_LIST (list);
- AtkObject *accessible;
gboolean child_has_focus;
if (notebook->cur_page == page || !gtk_widget_get_visible (GTK_WIDGET (child)))
@@ -5338,11 +5334,6 @@ gtk_notebook_real_switch_page (GtkNotebook *notebook,
update_arrow_state (notebook);
- accessible = _gtk_widget_peek_accessible (GTK_WIDGET (notebook));
- if (accessible != NULL)
- gtk_notebook_accessible_update_page (GTK_NOTEBOOK_ACCESSIBLE (accessible),
- gtk_notebook_get_current_page (notebook));
-
gtk_widget_queue_resize (GTK_WIDGET (notebook));
gtk_widget_queue_resize (notebook->tabs_widget);
g_object_notify_by_pspec (G_OBJECT (notebook), properties[PROP_PAGE]);
diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c
index b76a09d564..da67e9b5a0 100644
--- a/gtk/gtkpaned.c
+++ b/gtk/gtkpaned.c
@@ -44,8 +44,6 @@
#include "gtkcssboxesprivate.h"
#include "gtkbuildable.h"
-#include "a11y/gtkpanedaccessible.h"
-
#include <math.h>
/**
@@ -775,7 +773,6 @@ gtk_paned_class_init (GtkPanedClass *class)
add_move_binding (widget_class, GDK_KEY_End, 0, GTK_SCROLL_END);
add_move_binding (widget_class, GDK_KEY_KP_End, 0, GTK_SCROLL_END);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_PANED_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("paned"));
}
diff --git a/gtk/gtkpango.c b/gtk/gtkpango.c
index 28341813a7..58c43c8cf2 100644
--- a/gtk/gtkpango.c
+++ b/gtk/gtkpango.c
@@ -28,1023 +28,6 @@
#include "gtkintl.h"
#include "gtkbuilderprivate.h"
-static AtkAttributeSet *
-add_attribute (AtkAttributeSet *attributes,
- AtkTextAttribute attr,
- const gchar *value)
-{
- AtkAttribute *at;
-
- at = g_new (AtkAttribute, 1);
- at->name = g_strdup (atk_text_attribute_get_name (attr));
- at->value = g_strdup (value);
-
- return g_slist_prepend (attributes, at);
-}
-
-/*
- * _gtk_pango_get_default_attributes:
- * @attributes: a #AtkAttributeSet to add the attributes to
- * @layout: the #PangoLayout from which to get attributes
- *
- * Adds the default text attributes from @layout to @attributes,
- * after translating them from Pango attributes to ATK attributes.
- *
- * This is a convenience function that can be used to implement
- * support for the #AtkText interface in widgets using Pango
- * layouts.
- *
- * Returns: the modified @attributes
- */
-AtkAttributeSet*
-_gtk_pango_get_default_attributes (AtkAttributeSet *attributes,
- PangoLayout *layout)
-{
- PangoContext *context;
- gint i;
- PangoWrapMode mode;
-
- context = pango_layout_get_context (layout);
- if (context)
- {
- PangoLanguage *language;
- PangoFontDescription *font;
-
- language = pango_context_get_language (context);
- if (language)
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_LANGUAGE,
- pango_language_to_string (language));
-
- font = pango_context_get_font_description (context);
- if (font)
- {
- gchar buf[60];
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_STYLE,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_STYLE,
- pango_font_description_get_style (font)));
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_VARIANT,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_VARIANT,
- pango_font_description_get_variant (font)));
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_STRETCH,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_STRETCH,
- pango_font_description_get_stretch (font)));
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_FAMILY_NAME,
- pango_font_description_get_family (font));
- g_snprintf (buf, 60, "%d", pango_font_description_get_weight (font));
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_WEIGHT, buf);
- g_snprintf (buf, 60, "%i", pango_font_description_get_size (font) / PANGO_SCALE);
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_SIZE, buf);
- }
- }
- if (pango_layout_get_justify (layout))
- {
- i = 3;
- }
- else
- {
- PangoAlignment align;
-
- align = pango_layout_get_alignment (layout);
- if (align == PANGO_ALIGN_LEFT)
- i = 0;
- else if (align == PANGO_ALIGN_CENTER)
- i = 2;
- else /* PANGO_ALIGN_RIGHT */
- i = 1;
- }
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_JUSTIFICATION,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, i));
- mode = pango_layout_get_wrap (layout);
- if (mode == PANGO_WRAP_WORD)
- i = 2;
- else /* PANGO_WRAP_CHAR */
- i = 1;
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_WRAP_MODE,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_WRAP_MODE, i));
-
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_STRIKETHROUGH,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_STRIKETHROUGH, 0));
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_UNDERLINE,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_UNDERLINE, 0));
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_RISE, "0");
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_SCALE, "1");
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_BG_FULL_HEIGHT, "0");
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP, "0");
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_PIXELS_BELOW_LINES, "0");
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES, "0");
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_EDITABLE,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_EDITABLE, 0));
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_INVISIBLE,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_INVISIBLE, 0));
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_INDENT, "0");
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_RIGHT_MARGIN, "0");
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_LEFT_MARGIN, "0");
-
- return attributes;
-}
-
-/*
- * _gtk_pango_get_run_attributes:
- * @attributes: a #AtkAttributeSet to add attributes to
- * @layout: the #PangoLayout to get the attributes from
- * @offset: the offset at which the attributes are wanted
- * @start_offset: return location for the starting offset
- * of the current run
- * @end_offset: return location for the ending offset of the
- * current run
- *
- * Finds the “run” around index (i.e. the maximal range of characters
- * where the set of applicable attributes remains constant) and
- * returns the starting and ending offsets for it.
- *
- * The attributes for the run are added to @attributes, after
- * translating them from Pango attributes to ATK attributes.
- *
- * This is a convenience function that can be used to implement
- * support for the #AtkText interface in widgets using Pango
- * layouts.
- *
- * Returns: the modified #AtkAttributeSet
- */
-AtkAttributeSet *
-_gtk_pango_get_run_attributes (AtkAttributeSet *attributes,
- PangoLayout *layout,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- PangoAttrIterator *iter;
- PangoAttrList *attr;
- PangoAttrString *pango_string;
- PangoAttrInt *pango_int;
- PangoAttrColor *pango_color;
- PangoAttrLanguage *pango_lang;
- PangoAttrFloat *pango_float;
- gint index, start_index, end_index;
- gboolean is_next;
- glong len;
- const gchar *text;
- gchar *value;
-
- text = pango_layout_get_text (layout);
- len = g_utf8_strlen (text, -1);
-
- /* Grab the attributes of the PangoLayout, if any */
- attr = pango_layout_get_attributes (layout);
-
- if (attr == NULL)
- {
- *start_offset = 0;
- *end_offset = len;
- return attributes;
- }
-
- iter = pango_attr_list_get_iterator (attr);
- /* Get invariant range offsets */
- /* If offset out of range, set offset in range */
- if (offset > len)
- offset = len;
- else if (offset < 0)
- offset = 0;
-
- index = g_utf8_offset_to_pointer (text, offset) - text;
- pango_attr_iterator_range (iter, &start_index, &end_index);
- is_next = TRUE;
- while (is_next)
- {
- if (index >= start_index && index < end_index)
- {
- *start_offset = g_utf8_pointer_to_offset (text, text + start_index);
- if (end_index == G_MAXINT) /* Last iterator */
- end_index = len;
-
- *end_offset = g_utf8_pointer_to_offset (text, text + end_index);
- break;
- }
- is_next = pango_attr_iterator_next (iter);
- pango_attr_iterator_range (iter, &start_index, &end_index);
- }
-
- /* Get attributes */
- pango_string = (PangoAttrString*) pango_attr_iterator_get (iter, PANGO_ATTR_FAMILY);
- if (pango_string != NULL)
- {
- value = g_strdup_printf ("%s", pango_string->value);
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_FAMILY_NAME, value);
- g_free (value);
- }
- pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_STYLE);
- if (pango_int != NULL)
- {
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_STYLE,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_STYLE, pango_int->value));
- }
- pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_WEIGHT);
- if (pango_int != NULL)
- {
- value = g_strdup_printf ("%i", pango_int->value);
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_WEIGHT, value);
- g_free (value);
- }
- pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_VARIANT);
- if (pango_int != NULL)
- {
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_VARIANT,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_VARIANT, pango_int->value));
- }
- pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_STRETCH);
- if (pango_int != NULL)
- {
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_STRETCH,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_STRETCH, pango_int->value));
- }
- pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_SIZE);
- if (pango_int != NULL)
- {
- value = g_strdup_printf ("%i", pango_int->value / PANGO_SCALE);
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_SIZE, value);
- g_free (value);
- }
- pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_UNDERLINE);
- if (pango_int != NULL)
- {
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_UNDERLINE,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_UNDERLINE, pango_int->value));
- }
- pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_STRIKETHROUGH);
- if (pango_int != NULL)
- {
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_STRIKETHROUGH,
- atk_text_attribute_get_value (ATK_TEXT_ATTR_STRIKETHROUGH, pango_int->value));
- }
- pango_int = (PangoAttrInt*) pango_attr_iterator_get (iter, PANGO_ATTR_RISE);
- if (pango_int != NULL)
- {
- value = g_strdup_printf ("%i", pango_int->value);
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_RISE, value);
- g_free (value);
- }
- pango_lang = (PangoAttrLanguage*) pango_attr_iterator_get (iter, PANGO_ATTR_LANGUAGE);
- if (pango_lang != NULL)
- {
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_LANGUAGE,
- pango_language_to_string (pango_lang->value));
- }
- pango_float = (PangoAttrFloat*) pango_attr_iterator_get (iter, PANGO_ATTR_SCALE);
- if (pango_float != NULL)
- {
- value = g_strdup_printf ("%g", pango_float->value);
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_SCALE, value);
- g_free (value);
- }
- pango_color = (PangoAttrColor*) pango_attr_iterator_get (iter, PANGO_ATTR_FOREGROUND);
- if (pango_color != NULL)
- {
- value = g_strdup_printf ("%u,%u,%u",
- pango_color->color.red,
- pango_color->color.green,
- pango_color->color.blue);
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_FG_COLOR, value);
- g_free (value);
- }
- pango_color = (PangoAttrColor*) pango_attr_iterator_get (iter, PANGO_ATTR_BACKGROUND);
- if (pango_color != NULL)
- {
- value = g_strdup_printf ("%u,%u,%u",
- pango_color->color.red,
- pango_color->color.green,
- pango_color->color.blue);
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_BG_COLOR, value);
- g_free (value);
- }
- pango_attr_iterator_destroy (iter);
-
- return attributes;
-}
-
-/*
- * _gtk_pango_move_chars:
- * @layout: a #PangoLayout
- * @offset: a character offset in @layout
- * @count: the number of characters to move from @offset
- *
- * Returns the position that is @count characters from the
- * given @offset. @count may be positive or negative.
- *
- * For the purpose of this function, characters are defined
- * by what Pango considers cursor positions.
- *
- * Returns: the new position
- */
-static gint
-_gtk_pango_move_chars (PangoLayout *layout,
- gint offset,
- gint count)
-{
- const PangoLogAttr *attrs;
- gint n_attrs;
-
- attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
-
- while (count > 0 && offset < n_attrs - 1)
- {
- do
- offset++;
- while (offset < n_attrs - 1 && !attrs[offset].is_cursor_position);
-
- count--;
- }
- while (count < 0 && offset > 0)
- {
- do
- offset--;
- while (offset > 0 && !attrs[offset].is_cursor_position);
-
- count++;
- }
-
- return offset;
-}
-
-/*
- * _gtk_pango_move_words:
- * @layout: a #PangoLayout
- * @offset: a character offset in @layout
- * @count: the number of words to move from @offset
- *
- * Returns the position that is @count words from the
- * given @offset. @count may be positive or negative.
- *
- * If @count is positive, the returned position will
- * be a word end, otherwise it will be a word start.
- * See the Pango documentation for details on how
- * word starts and ends are defined.
- *
- * Returns: the new position
- */
-static gint
-_gtk_pango_move_words (PangoLayout *layout,
- gint offset,
- gint count)
-{
- const PangoLogAttr *attrs;
- gint n_attrs;
-
- attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
-
- while (count > 0 && offset < n_attrs - 1)
- {
- do
- offset++;
- while (offset < n_attrs - 1 && !attrs[offset].is_word_end);
-
- count--;
- }
- while (count < 0 && offset > 0)
- {
- do
- offset--;
- while (offset > 0 && !attrs[offset].is_word_start);
-
- count++;
- }
-
- return offset;
-}
-
-/*
- * _gtk_pango_move_sentences:
- * @layout: a #PangoLayout
- * @offset: a character offset in @layout
- * @count: the number of sentences to move from @offset
- *
- * Returns the position that is @count sentences from the
- * given @offset. @count may be positive or negative.
- *
- * If @count is positive, the returned position will
- * be a sentence end, otherwise it will be a sentence start.
- * See the Pango documentation for details on how
- * sentence starts and ends are defined.
- *
- * Returns: the new position
- */
-static gint
-_gtk_pango_move_sentences (PangoLayout *layout,
- gint offset,
- gint count)
-{
- const PangoLogAttr *attrs;
- gint n_attrs;
-
- attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
-
- while (count > 0 && offset < n_attrs - 1)
- {
- do
- offset++;
- while (offset < n_attrs - 1 && !attrs[offset].is_sentence_end);
-
- count--;
- }
- while (count < 0 && offset > 0)
- {
- do
- offset--;
- while (offset > 0 && !attrs[offset].is_sentence_start);
-
- count++;
- }
-
- return offset;
-}
-
-/*
- * _gtk_pango_is_inside_word:
- * @layout: a #PangoLayout
- * @offset: a character offset in @layout
- *
- * Returns whether the given position is inside
- * a word.
- *
- * Returns: %TRUE if @offset is inside a word
- */
-static gboolean
-_gtk_pango_is_inside_word (PangoLayout *layout,
- gint offset)
-{
- const PangoLogAttr *attrs;
- gint n_attrs;
-
- attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
-
- while (offset >= 0 &&
- !(attrs[offset].is_word_start || attrs[offset].is_word_end))
- offset--;
-
- if (offset >= 0)
- return attrs[offset].is_word_start;
-
- return FALSE;
-}
-
-/*
- * _gtk_pango_is_inside_sentence:
- * @layout: a #PangoLayout
- * @offset: a character offset in @layout
- *
- * Returns whether the given position is inside
- * a sentence.
- *
- * Returns: %TRUE if @offset is inside a sentence
- */
-static gboolean
-_gtk_pango_is_inside_sentence (PangoLayout *layout,
- gint offset)
-{
- const PangoLogAttr *attrs;
- gint n_attrs;
-
- attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
-
- while (offset >= 0 &&
- !(attrs[offset].is_sentence_start || attrs[offset].is_sentence_end))
- offset--;
-
- if (offset >= 0)
- return attrs[offset].is_sentence_start;
-
- return FALSE;
-}
-
-static void
-pango_layout_get_line_before (PangoLayout *layout,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- PangoLayoutIter *iter;
- PangoLayoutLine *line, *prev_line = NULL, *prev_prev_line = NULL;
- gint index, start_index, end_index;
- const gchar *text;
- gboolean found = FALSE;
-
- text = pango_layout_get_text (layout);
- index = g_utf8_offset_to_pointer (text, offset) - text;
- iter = pango_layout_get_iter (layout);
- do
- {
- line = pango_layout_iter_get_line (iter);
- start_index = line->start_index;
- end_index = start_index + line->length;
-
- if (index >= start_index && index <= end_index)
- {
- /* Found line for offset */
- if (prev_line)
- {
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_LINE_START:
- end_index = start_index;
- start_index = prev_line->start_index;
- break;
- case ATK_TEXT_BOUNDARY_LINE_END:
- if (prev_prev_line)
- start_index = prev_prev_line->start_index + prev_prev_line->length;
- else
- start_index = 0;
- end_index = prev_line->start_index + prev_line->length;
- break;
- case ATK_TEXT_BOUNDARY_CHAR:
- case ATK_TEXT_BOUNDARY_WORD_START:
- case ATK_TEXT_BOUNDARY_WORD_END:
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- default:
- g_assert_not_reached();
- break;
- }
- }
- else
- start_index = end_index = 0;
-
- found = TRUE;
- break;
- }
-
- prev_prev_line = prev_line;
- prev_line = line;
- }
- while (pango_layout_iter_next_line (iter));
-
- if (!found)
- {
- start_index = prev_line->start_index + prev_line->length;
- end_index = start_index;
- }
- pango_layout_iter_free (iter);
-
- *start_offset = g_utf8_pointer_to_offset (text, text + start_index);
- *end_offset = g_utf8_pointer_to_offset (text, text + end_index);
-}
-
-static void
-pango_layout_get_line_at (PangoLayout *layout,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- PangoLayoutIter *iter;
- PangoLayoutLine *line, *prev_line = NULL;
- gint index, start_index, end_index;
- const gchar *text;
- gboolean found = FALSE;
-
- text = pango_layout_get_text (layout);
- index = g_utf8_offset_to_pointer (text, offset) - text;
- iter = pango_layout_get_iter (layout);
- do
- {
- line = pango_layout_iter_get_line (iter);
- start_index = line->start_index;
- end_index = start_index + line->length;
-
- if (index >= start_index && index <= end_index)
- {
- /* Found line for offset */
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_LINE_START:
- if (pango_layout_iter_next_line (iter))
- end_index = pango_layout_iter_get_line (iter)->start_index;
- break;
- case ATK_TEXT_BOUNDARY_LINE_END:
- if (prev_line)
- start_index = prev_line->start_index + prev_line->length;
- break;
- case ATK_TEXT_BOUNDARY_CHAR:
- case ATK_TEXT_BOUNDARY_WORD_START:
- case ATK_TEXT_BOUNDARY_WORD_END:
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- default:
- g_assert_not_reached();
- break;
- }
-
- found = TRUE;
- break;
- }
-
- prev_line = line;
- }
- while (pango_layout_iter_next_line (iter));
-
- if (!found)
- {
- start_index = prev_line->start_index + prev_line->length;
- end_index = start_index;
- }
- pango_layout_iter_free (iter);
-
- *start_offset = g_utf8_pointer_to_offset (text, text + start_index);
- *end_offset = g_utf8_pointer_to_offset (text, text + end_index);
-}
-
-static void
-pango_layout_get_line_after (PangoLayout *layout,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- PangoLayoutIter *iter;
- PangoLayoutLine *line, *prev_line = NULL;
- gint index, start_index, end_index;
- const gchar *text;
- gboolean found = FALSE;
-
- text = pango_layout_get_text (layout);
- index = g_utf8_offset_to_pointer (text, offset) - text;
- iter = pango_layout_get_iter (layout);
- do
- {
- line = pango_layout_iter_get_line (iter);
- start_index = line->start_index;
- end_index = start_index + line->length;
-
- if (index >= start_index && index <= end_index)
- {
- /* Found line for offset */
- if (pango_layout_iter_next_line (iter))
- {
- line = pango_layout_iter_get_line (iter);
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_LINE_START:
- start_index = line->start_index;
- if (pango_layout_iter_next_line (iter))
- end_index = pango_layout_iter_get_line (iter)->start_index;
- else
- end_index = start_index + line->length;
- break;
- case ATK_TEXT_BOUNDARY_LINE_END:
- start_index = end_index;
- end_index = line->start_index + line->length;
- break;
- case ATK_TEXT_BOUNDARY_CHAR:
- case ATK_TEXT_BOUNDARY_WORD_START:
- case ATK_TEXT_BOUNDARY_WORD_END:
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- default:
- g_assert_not_reached();
- break;
- }
- }
- else
- start_index = end_index;
-
- found = TRUE;
- break;
- }
-
- prev_line = line;
- }
- while (pango_layout_iter_next_line (iter));
-
- if (!found)
- {
- start_index = prev_line->start_index + prev_line->length;
- end_index = start_index;
- }
- pango_layout_iter_free (iter);
-
- *start_offset = g_utf8_pointer_to_offset (text, text + start_index);
- *end_offset = g_utf8_pointer_to_offset (text, text + end_index);
-}
-
-/*
- * _gtk_pango_get_text_before:
- * @layout: a #PangoLayout
- * @boundary_type: a #AtkTextBoundary
- * @offset: a character offset in @layout
- * @start_offset: return location for the start of the returned text
- * @end_offset: return location for the end of the return text
- *
- * Gets a slice of the text from @layout before @offset.
- *
- * The @boundary_type determines the size of the returned slice of
- * text. For the exact semantics of this function, see
- * atk_text_get_text_before_offset().
- *
- * Returns: a newly allocated string containing a slice of text
- * from layout. Free with g_free().
- */
-gchar *
-_gtk_pango_get_text_before (PangoLayout *layout,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- const gchar *text;
- gint start, end;
- const PangoLogAttr *attrs;
- gint n_attrs;
-
- text = pango_layout_get_text (layout);
-
- if (text[0] == 0)
- {
- *start_offset = 0;
- *end_offset = 0;
- return g_strdup ("");
- }
-
- attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
-
- start = offset;
- end = start;
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- start = _gtk_pango_move_chars (layout, start, -1);
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_START:
- if (!attrs[start].is_word_start)
- start = _gtk_pango_move_words (layout, start, -1);
- end = start;
- start = _gtk_pango_move_words (layout, start, -1);
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_END:
- if (_gtk_pango_is_inside_word (layout, start) &&
- !attrs[start].is_word_start)
- start = _gtk_pango_move_words (layout, start, -1);
- while (!attrs[start].is_word_end && start > 0)
- start = _gtk_pango_move_chars (layout, start, -1);
- end = start;
- start = _gtk_pango_move_words (layout, start, -1);
- while (!attrs[start].is_word_end && start > 0)
- start = _gtk_pango_move_chars (layout, start, -1);
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- if (!attrs[start].is_sentence_start)
- start = _gtk_pango_move_sentences (layout, start, -1);
- end = start;
- start = _gtk_pango_move_sentences (layout, start, -1);
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- if (_gtk_pango_is_inside_sentence (layout, start) &&
- !attrs[start].is_sentence_start)
- start = _gtk_pango_move_sentences (layout, start, -1);
- while (!attrs[start].is_sentence_end && start > 0)
- start = _gtk_pango_move_chars (layout, start, -1);
- end = start;
- start = _gtk_pango_move_sentences (layout, start, -1);
- while (!attrs[start].is_sentence_end && start > 0)
- start = _gtk_pango_move_chars (layout, start, -1);
- break;
-
- case ATK_TEXT_BOUNDARY_LINE_START:
- case ATK_TEXT_BOUNDARY_LINE_END:
- pango_layout_get_line_before (layout, boundary_type, offset, &start, &end);
- break;
-
- default:
- g_assert_not_reached ();
- break;
- }
-
- *start_offset = start;
- *end_offset = end;
-
- g_assert (start <= end);
-
- return g_utf8_substring (text, start, end);
-}
-
-/*
- * _gtk_pango_get_text_after:
- * @layout: a #PangoLayout
- * @boundary_type: a #AtkTextBoundary
- * @offset: a character offset in @layout
- * @start_offset: return location for the start of the returned text
- * @end_offset: return location for the end of the return text
- *
- * Gets a slice of the text from @layout after @offset.
- *
- * The @boundary_type determines the size of the returned slice of
- * text. For the exact semantics of this function, see
- * atk_text_get_text_after_offset().
- *
- * Returns: a newly allocated string containing a slice of text
- * from layout. Free with g_free().
- */
-gchar *
-_gtk_pango_get_text_after (PangoLayout *layout,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- const gchar *text;
- gint start, end;
- const PangoLogAttr *attrs;
- gint n_attrs;
-
- text = pango_layout_get_text (layout);
-
- if (text[0] == 0)
- {
- *start_offset = 0;
- *end_offset = 0;
- return g_strdup ("");
- }
-
- attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
-
- start = offset;
- end = start;
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- start = _gtk_pango_move_chars (layout, start, 1);
- end = start;
- end = _gtk_pango_move_chars (layout, end, 1);
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_START:
- if (_gtk_pango_is_inside_word (layout, end))
- end = _gtk_pango_move_words (layout, end, 1);
- while (!attrs[end].is_word_start && end < n_attrs - 1)
- end = _gtk_pango_move_chars (layout, end, 1);
- start = end;
- if (end < n_attrs - 1)
- {
- end = _gtk_pango_move_words (layout, end, 1);
- while (!attrs[end].is_word_start && end < n_attrs - 1)
- end = _gtk_pango_move_chars (layout, end, 1);
- }
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_END:
- end = _gtk_pango_move_words (layout, end, 1);
- start = end;
- if (end < n_attrs - 1)
- end = _gtk_pango_move_words (layout, end, 1);
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- if (_gtk_pango_is_inside_sentence (layout, end))
- end = _gtk_pango_move_sentences (layout, end, 1);
- while (!attrs[end].is_sentence_start && end < n_attrs - 1)
- end = _gtk_pango_move_chars (layout, end, 1);
- start = end;
- if (end < n_attrs - 1)
- {
- end = _gtk_pango_move_sentences (layout, end, 1);
- while (!attrs[end].is_sentence_start && end < n_attrs - 1)
- end = _gtk_pango_move_chars (layout, end, 1);
- }
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- end = _gtk_pango_move_sentences (layout, end, 1);
- start = end;
- if (end < n_attrs - 1)
- end = _gtk_pango_move_sentences (layout, end, 1);
- break;
-
- case ATK_TEXT_BOUNDARY_LINE_START:
- case ATK_TEXT_BOUNDARY_LINE_END:
- pango_layout_get_line_after (layout, boundary_type, offset, &start, &end);
- break;
-
- default:
- g_assert_not_reached ();
- break;
- }
-
- *start_offset = start;
- *end_offset = end;
-
- g_assert (start <= end);
-
- return g_utf8_substring (text, start, end);
-}
-
-/*
- * _gtk_pango_get_text_at:
- * @layout: a #PangoLayout
- * @boundary_type: a #AtkTextBoundary
- * @offset: a character offset in @layout
- * @start_offset: return location for the start of the returned text
- * @end_offset: return location for the end of the return text
- *
- * Gets a slice of the text from @layout at @offset.
- *
- * The @boundary_type determines the size of the returned slice of
- * text. For the exact semantics of this function, see
- * atk_text_get_text_after_offset().
- *
- * Returns: a newly allocated string containing a slice of text
- * from layout. Free with g_free().
- */
-gchar *
-_gtk_pango_get_text_at (PangoLayout *layout,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset)
-{
- const gchar *text;
- gint start, end;
- const PangoLogAttr *attrs;
- gint n_attrs;
-
- text = pango_layout_get_text (layout);
-
- if (text[0] == 0)
- {
- *start_offset = 0;
- *end_offset = 0;
- return g_strdup ("");
- }
-
- attrs = pango_layout_get_log_attrs_readonly (layout, &n_attrs);
-
- start = offset;
- end = start;
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- end = _gtk_pango_move_chars (layout, end, 1);
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_START:
- if (!attrs[start].is_word_start)
- start = _gtk_pango_move_words (layout, start, -1);
- if (_gtk_pango_is_inside_word (layout, end))
- end = _gtk_pango_move_words (layout, end, 1);
- while (!attrs[end].is_word_start && end < n_attrs - 1)
- end = _gtk_pango_move_chars (layout, end, 1);
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_END:
- if (_gtk_pango_is_inside_word (layout, start) &&
- !attrs[start].is_word_start)
- start = _gtk_pango_move_words (layout, start, -1);
- while (!attrs[start].is_word_end && start > 0)
- start = _gtk_pango_move_chars (layout, start, -1);
- end = _gtk_pango_move_words (layout, end, 1);
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- if (!attrs[start].is_sentence_start)
- start = _gtk_pango_move_sentences (layout, start, -1);
- if (_gtk_pango_is_inside_sentence (layout, end))
- end = _gtk_pango_move_sentences (layout, end, 1);
- while (!attrs[end].is_sentence_start && end < n_attrs - 1)
- end = _gtk_pango_move_chars (layout, end, 1);
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- if (_gtk_pango_is_inside_sentence (layout, start) &&
- !attrs[start].is_sentence_start)
- start = _gtk_pango_move_sentences (layout, start, -1);
- while (!attrs[start].is_sentence_end && start > 0)
- start = _gtk_pango_move_chars (layout, start, -1);
- end = _gtk_pango_move_sentences (layout, end, 1);
- break;
-
- case ATK_TEXT_BOUNDARY_LINE_START:
- case ATK_TEXT_BOUNDARY_LINE_END:
- pango_layout_get_line_at (layout, boundary_type, offset, &start, &end);
- break;
-
- default:
- g_assert_not_reached ();
- break;
- }
-
- *start_offset = start;
- *end_offset = end;
-
- g_assert (start <= end);
-
- return g_utf8_substring (text, start, end);
-}
-
static gboolean
attr_list_merge_filter (PangoAttribute *attribute,
gpointer list)
diff --git a/gtk/gtkpango.h b/gtk/gtkpango.h
index 4c3e97cba7..69dde793e0 100644
--- a/gtk/gtkpango.h
+++ b/gtk/gtkpango.h
@@ -25,38 +25,11 @@
#ifndef __GTK_PANGO_H__
#define __GTK_PANGO_H__
-
#include <pango/pangocairo.h>
-#include <atk/atk.h>
#include "gtkbuildable.h"
G_BEGIN_DECLS
-AtkAttributeSet *_gtk_pango_get_default_attributes (AtkAttributeSet *attributes,
- PangoLayout *layout);
-
-AtkAttributeSet *_gtk_pango_get_run_attributes (AtkAttributeSet *attributes,
- PangoLayout *layout,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-
-gchar *_gtk_pango_get_text_before (PangoLayout *layout,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-gchar *_gtk_pango_get_text_at (PangoLayout *layout,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-gchar *_gtk_pango_get_text_after (PangoLayout *layout,
- AtkTextBoundary boundary_type,
- gint offset,
- gint *start_offset,
- gint *end_offset);
-
PangoAttrList *_gtk_pango_attr_list_merge (PangoAttrList *into,
PangoAttrList *from);
diff --git a/gtk/gtkpasswordentry.c b/gtk/gtkpasswordentry.c
index 30e0950490..93d560e49e 100644
--- a/gtk/gtkpasswordentry.c
+++ b/gtk/gtkpasswordentry.c
@@ -22,7 +22,6 @@
#include "gtkpasswordentryprivate.h"
-#include "gtkaccessible.h"
#include "gtktextprivate.h"
#include "gtkeditable.h"
#include "gtkgestureclick.h"
@@ -35,8 +34,6 @@
#include "gtkstylecontext.h"
#include "gtkeventcontrollerkey.h"
-#include "a11y/gtkpasswordentryaccessibleprivate.h"
-
/**
* SECTION:gtkpasswordentry
* @Short_description: An entry for secrets
@@ -130,11 +127,6 @@ gtk_password_entry_toggle_peek (GtkPasswordEntry *entry)
visibility = gtk_text_get_visibility (GTK_TEXT (priv->entry));
gtk_text_set_visibility (GTK_TEXT (priv->entry), !visibility);
-
- /* Update the accessible object to reflect the change of visibility */
- GtkAccessible *accessible = GTK_ACCESSIBLE (_gtk_widget_peek_accessible (GTK_WIDGET (entry)));
- if (accessible != NULL)
- gtk_password_entry_accessible_update_visibility (GTK_PASSWORD_ENTRY_ACCESSIBLE (accessible));
}
static void
@@ -431,7 +423,6 @@ gtk_password_entry_class_init (GtkPasswordEntryClass *klass)
g_object_class_install_properties (object_class, NUM_PROPERTIES, props);
gtk_editable_install_properties (object_class, NUM_PROPERTIES);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_PASSWORD_ENTRY_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("entry"));
}
diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c
index cdaf541ef5..12d606cae2 100644
--- a/gtk/gtkpathbar.c
+++ b/gtk/gtkpathbar.c
@@ -1037,7 +1037,6 @@ make_directory_button (GtkPathBar *path_bar,
gboolean current_dir,
gboolean file_is_hidden)
{
- AtkObject *atk_obj;
GtkWidget *child = NULL;
ButtonData *button_data;
GdkContentProvider *content;
@@ -1048,7 +1047,6 @@ make_directory_button (GtkPathBar *path_bar,
button_data = g_new0 (ButtonData, 1);
button_data->type = find_button_type (path_bar, file);
button_data->button = gtk_toggle_button_new ();
- atk_obj = gtk_widget_get_accessible (button_data->button);
gtk_widget_set_focus_on_click (button_data->button, FALSE);
switch (button_data->type)
@@ -1057,7 +1055,6 @@ make_directory_button (GtkPathBar *path_bar,
button_data->image = gtk_image_new ();
child = button_data->image;
button_data->label = NULL;
- atk_object_set_name (atk_obj, _("File System Root"));
break;
case HOME_BUTTON:
case DESKTOP_BUTTON:
diff --git a/gtk/gtkpicture.c b/gtk/gtkpicture.c
index 31d814e381..bd4adf00a8 100644
--- a/gtk/gtkpicture.c
+++ b/gtk/gtkpicture.c
@@ -30,8 +30,6 @@
#include "gtksnapshot.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkpictureaccessibleprivate.h"
-
/**
* SECTION:gtkpicture
* @Short_description: A widget displaying a #GdkPaintable
@@ -366,7 +364,6 @@ gtk_picture_class_init (GtkPictureClass *class)
g_object_class_install_properties (gobject_class, NUM_PROPERTIES, properties);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_PICTURE_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("picture"));
}
diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c
index 8490024f4b..f02702d34d 100644
--- a/gtk/gtkprogressbar.c
+++ b/gtk/gtkprogressbar.c
@@ -39,8 +39,6 @@
#include "gtkstylecontextprivate.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkprogressbaraccessibleprivate.h"
-
#include <string.h>
/**
@@ -250,7 +248,6 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
g_object_class_install_properties (gobject_class, NUM_PROPERTIES, progress_props);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_PROGRESS_BAR_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("progressbar"));
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT);
}
@@ -732,14 +729,6 @@ gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
gtk_widget_queue_allocate (pbar->trough_widget);
update_fraction_classes (pbar);
- {
- AtkObject *accessible =
- _gtk_widget_peek_accessible (GTK_WIDGET (pbar));
-
- if (accessible != NULL)
- gtk_progress_bar_accessible_update_value (GTK_PROGRESS_BAR_ACCESSIBLE (accessible));
- }
-
g_object_notify_by_pspec (G_OBJECT (pbar), progress_props[PROP_FRACTION]);
}
diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c
index 4d67d0ddca..1c02298b04 100644
--- a/gtk/gtkradiobutton.c
+++ b/gtk/gtkradiobutton.c
@@ -32,7 +32,6 @@
#include "gtkmarshalers.h"
#include "gtkprivate.h"
#include "gtkintl.h"
-#include "a11y/gtkradiobuttonaccessible.h"
#include "gtkstylecontextprivate.h"
/**
@@ -229,7 +228,6 @@ gtk_radio_button_class_init (GtkRadioButtonClass *class)
NULL,
G_TYPE_NONE, 0);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_RADIO_BUTTON_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("radiobutton"));
}
diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c
index e76ca4e688..c47f90df95 100644
--- a/gtk/gtkrange.c
+++ b/gtk/gtkrange.c
@@ -43,8 +43,6 @@
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkrangeaccessible.h"
-
#include <stdio.h>
#include <math.h>
@@ -429,7 +427,6 @@ gtk_range_class_init (GtkRangeClass *class)
g_object_class_install_properties (gobject_class, LAST_PROP, properties);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_RANGE_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("range"));
}
@@ -663,14 +660,6 @@ gtk_range_set_adjustment (GtkRange *range,
gtk_range_adjustment_changed (adjustment, range);
gtk_range_adjustment_value_changed (adjustment, range);
- {
- GtkRangeAccessible *accessible =
- GTK_RANGE_ACCESSIBLE (_gtk_widget_peek_accessible (GTK_WIDGET (range)));
-
- if (accessible != NULL)
- gtk_range_accessible_update_adjustment (accessible);
- }
-
g_object_notify_by_pspec (G_OBJECT (range), properties[PROP_ADJUSTMENT]);
}
}
diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c
index 6e739f1b46..cbc7226fa3 100644
--- a/gtk/gtkscale.c
+++ b/gtk/gtkscale.c
@@ -43,8 +43,6 @@
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkscaleaccessible.h"
-
#include <math.h>
#include <stdlib.h>
@@ -817,7 +815,6 @@ gtk_scale_class_init (GtkScaleClass *class)
add_slider_binding (binding_set, GDK_KEY_KP_End, 0,
GTK_SCROLL_END);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SCALE_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("scale"));
}
diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c
index 930b026406..f4629296e7 100644
--- a/gtk/gtkscalebutton.c
+++ b/gtk/gtkscalebutton.c
@@ -56,8 +56,6 @@
#include "gtkwindowprivate.h"
#include "gtknative.h"
-#include "a11y/gtkscalebuttonaccessible.h"
-
#include <math.h>
#include <stdlib.h>
#include <string.h>
@@ -343,7 +341,6 @@ gtk_scale_button_class_init (GtkScaleButtonClass *klass)
gtk_widget_class_bind_template_callback (widget_class, cb_scale_value_changed);
gtk_widget_class_bind_template_callback (widget_class, cb_popup_mapped);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SCALE_BUTTON_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("scalebutton"));
}
diff --git a/gtk/gtkscrollbar.c b/gtk/gtkscrollbar.c
index 7e9bdaae80..da489dc4f1 100644
--- a/gtk/gtkscrollbar.c
+++ b/gtk/gtkscrollbar.c
@@ -35,8 +35,6 @@
#include "gtkwidgetprivate.h"
#include "gtkboxlayout.h"
-#include "a11y/gtkscrollbaraccessible.h"
-
/**
* SECTION:gtkscrollbar
@@ -205,7 +203,6 @@ gtk_scrollbar_class_init (GtkScrollbarClass *class)
g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation");
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SCROLLBAR_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("scrollbar"));
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT);
}
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index bb74c4f17b..33cc1f1a7e 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -53,8 +53,6 @@
#include "gtkviewport.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkscrolledwindowaccessible.h"
-
#include <math.h>
/**
@@ -872,7 +870,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
add_tab_bindings (widget_class, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD);
add_tab_bindings (widget_class, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SCROLLED_WINDOW_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("scrolledwindow"));
}
diff --git a/gtk/gtksearchentry.c b/gtk/gtksearchentry.c
index 4be02d57a7..ab94d0718c 100644
--- a/gtk/gtksearchentry.c
+++ b/gtk/gtksearchentry.c
@@ -29,7 +29,6 @@
#include "gtksearchentryprivate.h"
-#include "gtkaccessible.h"
#include "gtkeditable.h"
#include "gtkboxlayout.h"
#include "gtkgestureclick.h"
@@ -41,7 +40,6 @@
#include "gtkstylecontext.h"
#include "gtkeventcontrollerkey.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtksearchentryaccessible.h"
/**
@@ -398,7 +396,6 @@ gtk_search_entry_class_init (GtkSearchEntryClass *klass)
"stop-search",
NULL);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SEARCH_ENTRY_ACCESSIBLE);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT);
gtk_widget_class_set_css_name (widget_class, I_("entry"));
}
diff --git a/gtk/gtkseparator.c b/gtk/gtkseparator.c
index 4c2f23adb0..6a515dbf89 100644
--- a/gtk/gtkseparator.c
+++ b/gtk/gtkseparator.c
@@ -136,7 +136,6 @@ gtk_separator_class_init (GtkSeparatorClass *class)
g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation");
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_SEPARATOR);
gtk_widget_class_set_css_name (widget_class, I_("separator"));
}
diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c
index 3da876839c..4142946179 100644
--- a/gtk/gtkspinbutton.c
+++ b/gtk/gtkspinbutton.c
@@ -55,8 +55,6 @@
#include "gtkboxlayout.h"
#include "gtktextprivate.h"
-#include "a11y/gtkspinbuttonaccessible.h"
-
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
@@ -549,7 +547,6 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class)
add_spin_binding (widget_class, GDK_KEY_Page_Up, GDK_CONTROL_MASK, GTK_SCROLL_END);
add_spin_binding (widget_class, GDK_KEY_Page_Down, GDK_CONTROL_MASK, GTK_SCROLL_START);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SPIN_BUTTON_ACCESSIBLE);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT);
gtk_widget_class_set_css_name (widget_class, I_("spinbutton"));
}
diff --git a/gtk/gtkspinner.c b/gtk/gtkspinner.c
index cb83e568f0..dfa87c4bd2 100644
--- a/gtk/gtkspinner.c
+++ b/gtk/gtkspinner.c
@@ -37,7 +37,6 @@
#include "gtkstylecontext.h"
#include "gtkstylecontextprivate.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkspinneraccessible.h"
#include "gtkcssnumbervalueprivate.h"
#include "gtkrendericonprivate.h"
@@ -242,7 +241,6 @@ gtk_spinner_class_init (GtkSpinnerClass *klass)
FALSE,
GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SPINNER_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("spinner"));
}
diff --git a/gtk/gtkstack.c b/gtk/gtkstack.c
index 8194f67302..71822dd451 100644
--- a/gtk/gtkstack.c
+++ b/gtk/gtkstack.c
@@ -31,8 +31,6 @@
#include "gtkwidgetprivate.h"
#include "gtksingleselection.h"
#include "gtklistlistmodelprivate.h"
-#include "a11y/gtkstackaccessible.h"
-#include "a11y/gtkstackaccessibleprivate.h"
#include <math.h>
#include <string.h>
@@ -750,8 +748,6 @@ gtk_stack_class_init (GtkStackClass *klass)
g_object_class_install_properties (object_class, LAST_PROP, stack_props);
-
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_STACK_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("stack"));
}
@@ -1172,10 +1168,6 @@ set_visible_child (GtkStack *stack,
}
}
- gtk_stack_accessible_update_visible_child (stack,
- priv->visible_child ? priv->visible_child->widget : NULL,
- child_info ? child_info->widget : NULL);
-
priv->visible_child = child_info;
if (child_info)
diff --git a/gtk/gtkstackswitcher.c b/gtk/gtkstackswitcher.c
index 29f962b063..df66ce9769 100644
--- a/gtk/gtkstackswitcher.c
+++ b/gtk/gtkstackswitcher.c
@@ -33,8 +33,6 @@
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkcompositeaccessible.h"
-
/**
* SECTION:gtkstackswitcher
* @Short_description: A controller for GtkStack
@@ -502,7 +500,6 @@ gtk_stack_switcher_class_init (GtkStackSwitcherClass *class)
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BOX_LAYOUT);
gtk_widget_class_set_css_name (widget_class, I_("stackswitcher"));
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_COMPOSITE_ACCESSIBLE);
}
/**
diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c
index c2c973f7e1..2f165db970 100644
--- a/gtk/gtkstatusbar.c
+++ b/gtk/gtkstatusbar.c
@@ -36,7 +36,6 @@
#include "gtkorientable.h"
#include "gtktypebuiltins.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkstatusbaraccessible.h"
/**
* SECTION:gtkstatusbar
@@ -203,7 +202,6 @@ gtk_statusbar_class_init (GtkStatusbarClass *class)
gtk_widget_class_bind_template_child_internal (widget_class, GtkStatusbar, message_area);
gtk_widget_class_bind_template_child (widget_class, GtkStatusbar, label);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_STATUSBAR_ACCESSIBLE);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
gtk_widget_class_set_css_name (widget_class, I_("statusbar"));
}
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index 0a11c83007..8986a9335a 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -1321,58 +1321,6 @@ gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot,
}
}
-static AtkAttributeSet *
-add_attribute (AtkAttributeSet *attributes,
- AtkTextAttribute attr,
- const gchar *value)
-{
- AtkAttribute *at;
-
- at = g_new (AtkAttribute, 1);
- at->name = g_strdup (atk_text_attribute_get_name (attr));
- at->value = g_strdup (value);
-
- return g_slist_prepend (attributes, at);
-}
-
-/*
- * _gtk_style_context_get_attributes:
- * @attributes: a #AtkAttributeSet to add attributes to
- * @context: the #GtkStyleContext to get attributes from
- * @flags: the state to use with @context
- *
- * Adds the foreground and background color from @context to
- * @attributes, after translating them to ATK attributes.
- *
- * This is a convenience function that can be used in
- * implementing the #AtkText interface in widgets.
- *
- * Returns: the modified #AtkAttributeSet
- */
-AtkAttributeSet *
-_gtk_style_context_get_attributes (AtkAttributeSet *attributes,
- GtkStyleContext *context)
-{
- const GdkRGBA *color;
- gchar *value;
-
- color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context,
GTK_CSS_PROPERTY_BACKGROUND_COLOR));
- value = g_strdup_printf ("%u,%u,%u",
- (guint) ceil (color->red * 65536 - color->red),
- (guint) ceil (color->green * 65536 - color->green),
- (guint) ceil (color->blue * 65536 - color->blue));
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_BG_COLOR, value);
-
- color = gtk_css_color_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
- value = g_strdup_printf ("%u,%u,%u",
- (guint) ceil (color->red * 65536 - color->red),
- (guint) ceil (color->green * 65536 - color->green),
- (guint) ceil (color->blue * 65536 - color->blue));
- attributes = add_attribute (attributes, ATK_TEXT_ATTR_FG_COLOR, value);
-
- return attributes;
-}
-
/**
* GtkStyleContextPrintFlags:
* @GTK_STYLE_CONTEXT_PRINT_NONE: Default value.
diff --git a/gtk/gtkstylecontextprivate.h b/gtk/gtkstylecontextprivate.h
index b902bb5b99..09fde7ce11 100644
--- a/gtk/gtkstylecontextprivate.h
+++ b/gtk/gtkstylecontextprivate.h
@@ -26,8 +26,6 @@
#include "gtkbitmaskprivate.h"
#include "gtkcssvalueprivate.h"
-#include <atk/atk.h>
-
G_BEGIN_DECLS
GtkStyleContext *gtk_style_context_new_for_node (GtkCssNode *node);
@@ -46,10 +44,6 @@ void _gtk_style_context_get_cursor_color (GtkStyleContext
GdkRGBA *primary_color,
GdkRGBA *secondary_color);
-/* Accessibility support */
-AtkAttributeSet *_gtk_style_context_get_attributes (AtkAttributeSet *attributes,
- GtkStyleContext *context);
-
G_END_DECLS
#endif /* __GTK_STYLE_CONTEXT_PRIVATE_H__ */
diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c
index e720ac3030..7563c5b099 100644
--- a/gtk/gtkswitch.c
+++ b/gtk/gtkswitch.c
@@ -69,8 +69,6 @@
#include "gtkstylecontextprivate.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtkswitchaccessible.h"
-
typedef struct _GtkSwitchClass GtkSwitchClass;
/**
@@ -606,9 +604,6 @@ gtk_switch_class_init (GtkSwitchClass *klass)
g_object_class_override_property (gobject_class, PROP_ACTION_NAME, "action-name");
g_object_class_override_property (gobject_class, PROP_ACTION_TARGET, "action-target");
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_SWITCH_ACCESSIBLE);
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_TOGGLE_BUTTON);
-
gtk_widget_class_set_css_name (widget_class, I_("switch"));
}
@@ -691,7 +686,6 @@ gtk_switch_set_active (GtkSwitch *self,
if (self->is_active != is_active)
{
- AtkObject *accessible;
gboolean handled;
self->is_active = is_active;
@@ -705,9 +699,6 @@ gtk_switch_set_active (GtkSwitch *self,
g_object_notify_by_pspec (G_OBJECT (self), switch_props[PROP_ACTIVE]);
- accessible = gtk_widget_get_accessible (GTK_WIDGET (self));
- atk_object_notify_state_change (accessible, ATK_STATE_CHECKED, self->is_active);
-
gtk_widget_queue_allocate (GTK_WIDGET (self));
}
}
diff --git a/gtk/gtktext.c b/gtk/gtktext.c
index 3dda4162cd..9843132c00 100644
--- a/gtk/gtktext.c
+++ b/gtk/gtktext.c
@@ -66,8 +66,6 @@
#include "gtknative.h"
#include "gtkactionmuxerprivate.h"
-#include "a11y/gtktextaccessible.h"
-
#include <cairo-gobject.h>
#include <string.h>
@@ -1480,8 +1478,6 @@ gtk_text_class_init (GtkTextClass *class)
GDK_KEY_z, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
"text.redo", NULL);
-
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TEXT_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("text"));
}
diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c
index f50d27903a..8a289edd18 100644
--- a/gtk/gtktextbuffer.c
+++ b/gtk/gtktextbuffer.c
@@ -4376,316 +4376,6 @@ _gtk_text_buffer_spew (GtkTextBuffer *buffer)
_gtk_text_btree_spew (get_btree (buffer));
}
-void
-_gtk_text_buffer_get_text_before (GtkTextBuffer *buffer,
- AtkTextBoundary boundary_type,
- GtkTextIter *position,
- GtkTextIter *start,
- GtkTextIter *end)
-{
- gint line_number;
-
- *start = *position;
- *end = *start;
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- gtk_text_iter_backward_char (start);
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_START:
- if (!gtk_text_iter_starts_word (start))
- gtk_text_iter_backward_word_start (start);
- *end = *start;
- gtk_text_iter_backward_word_start (start);
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_END:
- if (gtk_text_iter_inside_word (start) &&
- !gtk_text_iter_starts_word (start))
- gtk_text_iter_backward_word_start (start);
- while (!gtk_text_iter_ends_word (start))
- {
- if (!gtk_text_iter_backward_char (start))
- break;
- }
- *end = *start;
- gtk_text_iter_backward_word_start (start);
- while (!gtk_text_iter_ends_word (start))
- {
- if (!gtk_text_iter_backward_char (start))
- break;
- }
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- if (!gtk_text_iter_starts_sentence (start))
- gtk_text_iter_backward_sentence_start (start);
- *end = *start;
- gtk_text_iter_backward_sentence_start (start);
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- if (gtk_text_iter_inside_sentence (start) &&
- !gtk_text_iter_starts_sentence (start))
- gtk_text_iter_backward_sentence_start (start);
- while (!gtk_text_iter_ends_sentence (start))
- {
- if (!gtk_text_iter_backward_char (start))
- break;
- }
- *end = *start;
- gtk_text_iter_backward_sentence_start (start);
- while (!gtk_text_iter_ends_sentence (start))
- {
- if (!gtk_text_iter_backward_char (start))
- break;
- }
- break;
-
- case ATK_TEXT_BOUNDARY_LINE_START:
- line_number = gtk_text_iter_get_line (start);
- if (line_number == 0)
- {
- gtk_text_buffer_get_iter_at_offset (buffer, start, 0);
- }
- else
- {
- gtk_text_iter_backward_line (start);
- gtk_text_iter_forward_line (start);
- }
- *end = *start;
- gtk_text_iter_backward_line (start);
- break;
-
- case ATK_TEXT_BOUNDARY_LINE_END:
- line_number = gtk_text_iter_get_line (start);
- if (line_number == 0)
- {
- gtk_text_buffer_get_iter_at_offset (buffer, start, 0);
- *end = *start;
- }
- else
- {
- gtk_text_iter_backward_line (start);
- *end = *start;
- while (!gtk_text_iter_ends_line (start))
- {
- if (!gtk_text_iter_backward_char (start))
- break;
- }
- gtk_text_iter_forward_to_line_end (end);
- }
- break;
-
- default:
- g_assert_not_reached ();
- break;
- }
-}
-
-void
-_gtk_text_buffer_get_text_at (GtkTextBuffer *buffer,
- AtkTextBoundary boundary_type,
- GtkTextIter *position,
- GtkTextIter *start,
- GtkTextIter *end)
-{
- gint line_number;
-
- *start = *position;
- *end = *start;
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- gtk_text_iter_forward_char (end);
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_START:
- if (!gtk_text_iter_starts_word (start))
- gtk_text_iter_backward_word_start (start);
- if (gtk_text_iter_inside_word (end))
- gtk_text_iter_forward_word_end (end);
- while (!gtk_text_iter_starts_word (end))
- {
- if (!gtk_text_iter_forward_char (end))
- break;
- }
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_END:
- if (gtk_text_iter_inside_word (start) &&
- !gtk_text_iter_starts_word (start))
- gtk_text_iter_backward_word_start (start);
- while (!gtk_text_iter_ends_word (start))
- {
- if (!gtk_text_iter_backward_char (start))
- break;
- }
- gtk_text_iter_forward_word_end (end);
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- if (!gtk_text_iter_starts_sentence (start))
- gtk_text_iter_backward_sentence_start (start);
- if (gtk_text_iter_inside_sentence (end))
- gtk_text_iter_forward_sentence_end (end);
- while (!gtk_text_iter_starts_sentence (end))
- {
- if (!gtk_text_iter_forward_char (end))
- break;
- }
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- if (gtk_text_iter_inside_sentence (start) &&
- !gtk_text_iter_starts_sentence (start))
- gtk_text_iter_backward_sentence_start (start);
- while (!gtk_text_iter_ends_sentence (start))
- {
- if (!gtk_text_iter_backward_char (start))
- break;
- }
- gtk_text_iter_forward_sentence_end (end);
- break;
-
- case ATK_TEXT_BOUNDARY_LINE_START:
- line_number = gtk_text_iter_get_line (start);
- if (line_number == 0)
- {
- gtk_text_buffer_get_iter_at_offset (buffer, start, 0);
- }
- else
- {
- gtk_text_iter_backward_line (start);
- gtk_text_iter_forward_line (start);
- }
- gtk_text_iter_forward_line (end);
- break;
-
- case ATK_TEXT_BOUNDARY_LINE_END:
- line_number = gtk_text_iter_get_line (start);
- if (line_number == 0)
- {
- gtk_text_buffer_get_iter_at_offset (buffer, start, 0);
- }
- else
- {
- gtk_text_iter_backward_line (start);
- gtk_text_iter_forward_line (start);
- }
- while (!gtk_text_iter_ends_line (start))
- {
- if (!gtk_text_iter_backward_char (start))
- break;
- }
- gtk_text_iter_forward_to_line_end (end);
- break;
-
- default:
- g_assert_not_reached ();
- break;
- }
-}
-
-void
-_gtk_text_buffer_get_text_after (GtkTextBuffer *buffer,
- AtkTextBoundary boundary_type,
- GtkTextIter *position,
- GtkTextIter *start,
- GtkTextIter *end)
-{
- *start = *position;
- *end = *start;
-
- switch (boundary_type)
- {
- case ATK_TEXT_BOUNDARY_CHAR:
- gtk_text_iter_forward_char (start);
- gtk_text_iter_forward_chars (end, 2);
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_START:
- if (gtk_text_iter_inside_word (end))
- gtk_text_iter_forward_word_end (end);
- while (!gtk_text_iter_starts_word (end))
- {
- if (!gtk_text_iter_forward_char (end))
- break;
- }
- *start = *end;
- if (!gtk_text_iter_is_end (end))
- {
- gtk_text_iter_forward_word_end (end);
- while (!gtk_text_iter_starts_word (end))
- {
- if (!gtk_text_iter_forward_char (end))
- break;
- }
- }
- break;
-
- case ATK_TEXT_BOUNDARY_WORD_END:
- gtk_text_iter_forward_word_end (end);
- *start = *end;
- if (!gtk_text_iter_is_end (end))
- gtk_text_iter_forward_word_end (end);
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_START:
- if (gtk_text_iter_inside_sentence (end))
- gtk_text_iter_forward_sentence_end (end);
- while (!gtk_text_iter_starts_sentence (end))
- {
- if (!gtk_text_iter_forward_char (end))
- break;
- }
- *start = *end;
- if (!gtk_text_iter_is_end (end))
- {
- gtk_text_iter_forward_sentence_end (end);
- while (!gtk_text_iter_starts_sentence (end))
- {
- if (!gtk_text_iter_forward_char (end))
- break;
- }
- }
- break;
-
- case ATK_TEXT_BOUNDARY_SENTENCE_END:
- gtk_text_iter_forward_sentence_end (end);
- *start = *end;
- if (!gtk_text_iter_is_end (end))
- gtk_text_iter_forward_sentence_end (end);
- break;
-
- case ATK_TEXT_BOUNDARY_LINE_START:
- gtk_text_iter_forward_line (end);
- *start = *end;
- gtk_text_iter_forward_line (end);
- break;
-
- case ATK_TEXT_BOUNDARY_LINE_END:
- gtk_text_iter_forward_line (start);
- *end = *start;
- if (!gtk_text_iter_is_end (start))
- {
- while (!gtk_text_iter_ends_line (start))
- {
- if (!gtk_text_iter_backward_char (start))
- break;
- }
- gtk_text_iter_forward_to_line_end (end);
- }
- break;
- default:
- g_assert_not_reached ();
- break;
- }
-}
-
static GtkTextTag *
get_tag_for_attributes (PangoAttrIterator *iter)
{
diff --git a/gtk/gtktextbufferprivate.h b/gtk/gtktextbufferprivate.h
index 8d8363c31a..131d09c43b 100644
--- a/gtk/gtktextbufferprivate.h
+++ b/gtk/gtktextbufferprivate.h
@@ -34,22 +34,6 @@ const PangoLogAttr* _gtk_text_buffer_get_line_log_attrs (GtkTextBuffer *buff
void _gtk_text_buffer_notify_will_remove_tag (GtkTextBuffer *buffer,
GtkTextTag *tag);
-void _gtk_text_buffer_get_text_before (GtkTextBuffer *buffer,
- AtkTextBoundary boundary_type,
- GtkTextIter *position,
- GtkTextIter *start,
- GtkTextIter *end);
-void _gtk_text_buffer_get_text_at (GtkTextBuffer *buffer,
- AtkTextBoundary boundary_type,
- GtkTextIter *position,
- GtkTextIter *start,
- GtkTextIter *end);
-void _gtk_text_buffer_get_text_after (GtkTextBuffer *buffer,
- AtkTextBoundary boundary_type,
- GtkTextIter *position,
- GtkTextIter *start,
- GtkTextIter *end);
-
G_END_DECLS
#endif
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index f2993b4c28..eb0e755b06 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -56,8 +56,6 @@
#include "gtknative.h"
#include "gtkwidgetprivate.h"
-#include "a11y/gtktextviewaccessibleprivate.h"
-
/**
* SECTION:gtktextview
* @Short_description: Widget that displays a GtkTextBuffer
@@ -1802,7 +1800,6 @@ gtk_text_view_class_init (GtkTextViewClass *klass)
"move-focus",
"(i)", GTK_DIR_TAB_BACKWARD);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TEXT_VIEW_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("textview"));
quark_text_selection_data = g_quark_from_static_string ("gtk-text-view-text-selection-data");
@@ -2143,7 +2140,6 @@ gtk_text_view_set_buffer (GtkTextView *text_view,
gtk_widget_action_set_enabled (GTK_WIDGET (text_view), "text.redo", can_redo);
}
- _gtk_text_view_accessible_set_buffer (text_view, old_buffer);
if (old_buffer)
g_object_unref (old_buffer);
diff --git a/gtk/gtktogglebutton.c b/gtk/gtktogglebutton.c
index 34b2879e63..ee7f71f6b8 100644
--- a/gtk/gtktogglebutton.c
+++ b/gtk/gtktogglebutton.c
@@ -34,9 +34,6 @@
#include "gtkprivate.h"
#include "gtkstylecontext.h"
-#include "a11y/gtktogglebuttonaccessible.h"
-
-
/**
* SECTION:gtktogglebutton
* @Short_description: Create buttons which retain their state
@@ -181,7 +178,6 @@ gtk_toggle_button_class_init (GtkToggleButtonClass *class)
NULL,
G_TYPE_NONE, 0);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TOGGLE_BUTTON_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("button"));
}
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c
index e29461ff7a..6e1e949ce6 100644
--- a/gtk/gtktooltip.c
+++ b/gtk/gtktooltip.c
@@ -34,7 +34,6 @@
#include "gtktooltipwindowprivate.h"
#include "gtkwindowprivate.h"
#include "gtkwidgetprivate.h"
-#include "gtkaccessible.h"
#include "gtknative.h"
/**
diff --git a/gtk/gtktooltipwindow.c b/gtk/gtktooltipwindow.c
index c30ebf1616..877738117c 100644
--- a/gtk/gtktooltipwindow.c
+++ b/gtk/gtktooltipwindow.c
@@ -29,7 +29,6 @@
#include "gtkprivate.h"
#include "gtkintl.h"
-#include "gtkaccessible.h"
#include "gtkbox.h"
#include "gtkimage.h"
#include "gtklabel.h"
@@ -382,7 +381,6 @@ gtk_tooltip_window_class_init (GtkTooltipWindowClass *klass)
widget_class->hide = gtk_tooltip_window_hide;
gtk_widget_class_set_css_name (widget_class, I_("tooltip"));
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_TOOL_TIP);
gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/ui/gtktooltipwindow.ui");
gtk_widget_class_bind_template_child (widget_class, GtkTooltipWindow, box);
diff --git a/gtk/gtktreeselection.c b/gtk/gtktreeselection.c
index 89739be696..07c695b9f1 100644
--- a/gtk/gtktreeselection.c
+++ b/gtk/gtktreeselection.c
@@ -24,7 +24,6 @@
#include "gtkintl.h"
#include "gtkprivate.h"
#include "gtktypebuiltins.h"
-#include "a11y/gtktreeviewaccessibleprivate.h"
/**
@@ -1560,12 +1559,10 @@ gtk_tree_selection_real_select_node (GtkTreeSelection *selection,
if (!GTK_TREE_RBNODE_FLAG_SET (node, GTK_TREE_RBNODE_IS_SELECTED))
{
GTK_TREE_RBNODE_SET_FLAG (node, GTK_TREE_RBNODE_IS_SELECTED);
- _gtk_tree_view_accessible_add_state (selection->tree_view, tree, node, GTK_CELL_RENDERER_SELECTED);
}
else
{
GTK_TREE_RBNODE_UNSET_FLAG (node, GTK_TREE_RBNODE_IS_SELECTED);
- _gtk_tree_view_accessible_remove_state (selection->tree_view, tree, node,
GTK_CELL_RENDERER_SELECTED);
}
gtk_widget_queue_draw (GTK_WIDGET (selection->tree_view));
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index d7b121dd92..5641710691 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -65,8 +65,6 @@
#include "gtknative.h"
#include "gtkpopover.h"
-#include "a11y/gtktreeviewaccessibleprivate.h"
-
#include "gdk/gdkeventsprivate.h"
#include "gdk/gdktextureprivate.h"
@@ -1657,7 +1655,6 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
gtk_widget_class_add_binding_signal (widget_class, GDK_KEY_F, GDK_CONTROL_MASK,
"start-interactive-search", NULL);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TREE_VIEW_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("treeview"));
}
@@ -7995,8 +7992,6 @@ gtk_tree_view_row_changed (GtkTreeModel *model,
if (tree == NULL)
goto done;
- _gtk_tree_view_accessible_changed (tree_view, tree, node);
-
if (tree_view->fixed_height_mode
&& tree_view->fixed_height >= 0)
{
@@ -8121,8 +8116,6 @@ gtk_tree_view_row_inserted (GtkTreeModel *model,
tmpnode = gtk_tree_rbtree_insert_after (tree, tmpnode, height, FALSE);
}
- _gtk_tree_view_accessible_add (tree_view, tree, tmpnode);
-
done:
if (height > 0)
{
@@ -8182,12 +8175,10 @@ gtk_tree_view_row_has_child_toggled (GtkTreeModel *model,
if (has_child)
{
GTK_TREE_RBNODE_SET_FLAG (node, GTK_TREE_RBNODE_IS_PARENT);
- _gtk_tree_view_accessible_add_state (tree_view, tree, node, GTK_CELL_RENDERER_EXPANDABLE);
}
else
{
GTK_TREE_RBNODE_UNSET_FLAG (node, GTK_TREE_RBNODE_IS_PARENT);
- _gtk_tree_view_accessible_remove_state (tree_view, tree, node, GTK_CELL_RENDERER_EXPANDABLE);
}
if (has_child && tree_view->is_list)
@@ -8319,15 +8310,10 @@ gtk_tree_view_row_deleted (GtkTreeModel *model,
if (tree_view->tree == tree)
tree_view->tree = NULL;
- _gtk_tree_view_accessible_remove_state (tree_view,
- tree->parent_tree, tree->parent_node,
- GTK_CELL_RENDERER_EXPANDED);
- _gtk_tree_view_accessible_remove (tree_view, tree, NULL);
gtk_tree_rbtree_remove (tree);
}
else
{
- _gtk_tree_view_accessible_remove (tree_view, tree, node);
gtk_tree_rbtree_remove_node (tree, node);
}
@@ -8401,8 +8387,6 @@ gtk_tree_view_rows_reordered (GtkTreeModel *model,
gtk_tree_rbtree_reorder (tree, new_order, len);
- _gtk_tree_view_accessible_reorder (tree_view);
-
gtk_widget_queue_draw (GTK_WIDGET (tree_view));
gtk_tree_view_dy_to_top_row (tree_view);
@@ -9113,10 +9097,6 @@ _gtk_tree_view_set_focus_column (GtkTreeView *tree_view,
return;
tree_view->focus_column = column;
-
- _gtk_tree_view_accessible_update_focus_column (tree_view,
- old_column,
- column);
}
/* x and y are the mouse position
@@ -10259,7 +10239,6 @@ gtk_tree_view_set_model (GtkTreeView *tree_view,
{
tree_view->tree = gtk_tree_rbtree_new ();
gtk_tree_view_build_tree (tree_view, tree_view->tree, &iter, 1, FALSE);
- _gtk_tree_view_accessible_add (tree_view, tree_view->tree, NULL);
}
gtk_tree_path_free (path);
@@ -10269,14 +10248,6 @@ gtk_tree_view_set_model (GtkTreeView *tree_view,
gtk_tree_view_real_set_cursor (tree_view, NULL, CURSOR_INVALID);
- {
- GtkTreeViewAccessible *accessible =
- GTK_TREE_VIEW_ACCESSIBLE (_gtk_widget_peek_accessible (GTK_WIDGET (tree_view)));
-
- if (accessible != NULL)
- gtk_tree_view_accessible_update_model (accessible, tree_view->model);
- }
-
g_object_notify_by_pspec (G_OBJECT (tree_view), tree_view_props[PROP_MODEL]);
if (tree_view->selection)
@@ -10589,8 +10560,6 @@ gint
gtk_tree_view_remove_column (GtkTreeView *tree_view,
GtkTreeViewColumn *column)
{
- guint position;
-
g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), -1);
g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), -1);
g_return_val_if_fail (gtk_tree_view_column_get_tree_view (column) == GTK_WIDGET (tree_view), -1);
@@ -10613,8 +10582,6 @@ gtk_tree_view_remove_column (GtkTreeView *tree_view,
G_CALLBACK (column_sizing_notify),
tree_view);
- position = g_list_index (tree_view->columns, column);
-
_gtk_tree_view_column_unset_tree_view (column);
tree_view->columns = g_list_remove (tree_view->columns, column);
@@ -10636,8 +10603,6 @@ gtk_tree_view_remove_column (GtkTreeView *tree_view,
gtk_widget_queue_resize (GTK_WIDGET (tree_view));
}
- _gtk_tree_view_accessible_remove_column (tree_view, column, position);
-
g_object_unref (column);
g_signal_emit (tree_view, tree_view_signals[COLUMNS_CHANGED], 0);
@@ -10701,8 +10666,6 @@ gtk_tree_view_insert_column (GtkTreeView *tree_view,
gtk_widget_queue_resize (GTK_WIDGET (tree_view));
}
- _gtk_tree_view_accessible_add_column (tree_view, column, position);
-
g_signal_emit (tree_view, tree_view_signals[COLUMNS_CHANGED], 0);
return tree_view->n_columns;
@@ -10914,8 +10877,6 @@ gtk_tree_view_move_column_after (GtkTreeView *tree_view,
gtk_widget_queue_resize (GTK_WIDGET (tree_view));
- _gtk_tree_view_accessible_reorder_column (tree_view, column);
-
g_signal_emit (tree_view, tree_view_signals[COLUMNS_CHANGED], 0);
}
@@ -11382,11 +11343,6 @@ gtk_tree_view_real_expand_row (GtkTreeView *tree_view,
gtk_tree_path_get_depth (path) + 1,
open_all);
- _gtk_tree_view_accessible_add (tree_view, node->children, NULL);
- _gtk_tree_view_accessible_add_state (tree_view,
- tree, node,
- GTK_CELL_RENDERER_EXPANDED);
-
install_presize_handler (tree_view);
g_signal_emit (tree_view, tree_view_signals[ROW_EXPANDED], 0, &iter, path);
@@ -11517,11 +11473,6 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view,
/* Stop a pending double click */
gtk_event_controller_reset (GTK_EVENT_CONTROLLER (tree_view->click_gesture));
- _gtk_tree_view_accessible_remove (tree_view, node->children, NULL);
- _gtk_tree_view_accessible_remove_state (tree_view,
- tree, node,
- GTK_CELL_RENDERER_EXPANDED);
-
gtk_tree_rbtree_remove (node->children);
if (cursor_changed)
@@ -11739,10 +11690,6 @@ gtk_tree_view_real_set_cursor (GtkTreeView *tree_view,
{
if (!(flags & CURSOR_INVALID) && tree_view->cursor_node)
{
- _gtk_tree_view_accessible_remove_state (tree_view,
- tree_view->cursor_tree,
- tree_view->cursor_node,
- GTK_CELL_RENDERER_FOCUSED);
gtk_widget_queue_draw (GTK_WIDGET (tree_view));
}
@@ -11800,11 +11747,6 @@ gtk_tree_view_real_set_cursor (GtkTreeView *tree_view,
tree_view->cursor_node);
gtk_widget_queue_draw (GTK_WIDGET (tree_view));
}
-
- _gtk_tree_view_accessible_add_state (tree_view,
- tree_view->cursor_tree,
- tree_view->cursor_node,
- GTK_CELL_RENDERER_FOCUSED);
}
if (!gtk_widget_in_destruction (GTK_WIDGET (tree_view)))
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c
index 2cd41084b1..743cb23789 100644
--- a/gtk/gtktreeviewcolumn.c
+++ b/gtk/gtktreeviewcolumn.c
@@ -39,8 +39,6 @@
#include "gtkeventcontrollerfocus.h"
#include "gtkeventcontrollerkey.h"
-#include "a11y/gtktreeviewaccessibleprivate.h"
-
#include <string.h>
@@ -1815,12 +1813,6 @@ gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column,
if (priv->visible)
_gtk_tree_view_column_cell_set_dirty (tree_column, TRUE);
- if (priv->tree_view)
- {
- _gtk_tree_view_accessible_toggle_visibility (GTK_TREE_VIEW (priv->tree_view),
- tree_column);
- }
-
gtk_tree_view_column_update_button (tree_column);
g_object_notify_by_pspec (G_OBJECT (tree_column), tree_column_props[PROP_VISIBLE]);
}
diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c
index 7e4aefc573..39f64823f8 100644
--- a/gtk/gtkviewport.c
+++ b/gtk/gtkviewport.c
@@ -367,8 +367,6 @@ gtk_viewport_class_init (GtkViewportClass *class)
widget_class->compute_expand = gtk_viewport_compute_expand;
widget_class->get_request_mode = gtk_viewport_get_request_mode;
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_VIEWPORT);
-
/* GtkScrollable implementation */
g_object_class_override_property (gobject_class, PROP_HADJUSTMENT, "hadjustment");
g_object_class_override_property (gobject_class, PROP_VADJUSTMENT, "vadjustment");
diff --git a/gtk/gtkvolumebutton.c b/gtk/gtkvolumebutton.c
index 85a79f554f..e01353bb60 100644
--- a/gtk/gtkvolumebutton.c
+++ b/gtk/gtkvolumebutton.c
@@ -189,10 +189,6 @@ gtk_volume_button_init (GtkVolumeButton *button)
GtkWidget *widget = GTK_WIDGET (button);
gtk_widget_init_template (widget);
-
- /* The atk action description is not supported by GtkBuilder */
- atk_action_set_description (ATK_ACTION (gtk_widget_get_accessible (GTK_WIDGET (widget))),
- 1, _("Adjusts the volume"));
}
/**
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 9c1b2570ae..e3da5273b9 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -27,7 +27,6 @@
#include "gtkwidgetprivate.h"
#include "gtkaccelgroupprivate.h"
-#include "gtkaccessible.h"
#include "gtkapplicationprivate.h"
#include "gtkbuildable.h"
#include "gtkbuilderprivate.h"
@@ -73,7 +72,6 @@
#include "gtkwindowgroup.h"
#include "gtkwindowprivate.h"
-#include "a11y/gtkwidgetaccessibleprivate.h"
#include "inspector/window.h"
#include "gdk/gdkeventsprivate.h"
@@ -261,29 +259,6 @@
* </object>
* ]|
*
- * In addition to accelerators, GtkWidget also support a custom <accessible>
- * element, which supports actions and relations. Properties on the accessible
- * implementation of an object can be set by accessing the internal child
- * “accessible” of a #GtkWidget.
- *
- * An example of a UI definition fragment specifying an accessible:
- * |[
- * <object class="GtkLabel" id="label1"/>
- * <property name="label">I am a Label for a Button</property>
- * </object>
- * <object class="GtkButton" id="button1">
- * <accessibility>
- * <action action_name="click" translatable="yes">Click the button.</action>
- * <relation target="label1" type="labelled-by"/>
- * </accessibility>
- * <child internal-child="accessible">
- * <object class="AtkObject" id="a11y-button1">
- * <property name="accessible-name">Clickable Button</property>
- * </object>
- * </child>
- * </object>
- * ]|
- *
* If the parent widget uses a #GtkLayoutManager, #GtkWidget supports a
* custom <layout> element, used to define layout properties:
*
@@ -622,9 +597,6 @@ static void gtk_widget_real_measure (GtkWidget
int *natural_baseline);
static void gtk_widget_real_state_flags_changed (GtkWidget *widget,
GtkStateFlags old_state);
-static AtkObject* gtk_widget_real_get_accessible (GtkWidget *widget);
-static void gtk_widget_accessible_interface_init (AtkImplementorIface *iface);
-static AtkObject* gtk_widget_ref_accessible (AtkImplementor *implementor);
static void gtk_widget_buildable_interface_init (GtkBuildableIface *iface);
static void gtk_widget_buildable_set_name (GtkBuildable *buildable,
@@ -707,13 +679,6 @@ gtk_widget_get_type (void)
NULL, /* value_table */
};
- const GInterfaceInfo accessibility_info =
- {
- (GInterfaceInitFunc) gtk_widget_accessible_interface_init,
- (GInterfaceFinalizeFunc) NULL,
- NULL /* interface data */
- };
-
const GInterfaceInfo buildable_info =
{
(GInterfaceInitFunc) gtk_widget_buildable_interface_init,
@@ -736,8 +701,6 @@ gtk_widget_get_type (void)
GtkWidget_private_offset =
g_type_add_instance_private (widget_type, sizeof (GtkWidgetPrivate));
- g_type_add_interface_static (widget_type, ATK_TYPE_IMPLEMENTOR,
- &accessibility_info) ;
g_type_add_interface_static (widget_type, GTK_TYPE_BUILDABLE,
&buildable_info) ;
g_type_add_interface_static (widget_type, GTK_TYPE_CONSTRAINT_TARGET,
@@ -934,12 +897,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
klass->query_tooltip = gtk_widget_real_query_tooltip;
klass->css_changed = gtk_widget_real_css_changed;
klass->system_setting_changed = gtk_widget_real_system_setting_changed;
-
- /* Accessibility support */
- klass->priv->accessible_type = GTK_TYPE_WIDGET_ACCESSIBLE;
- klass->priv->accessible_role = ATK_ROLE_INVALID;
- klass->get_accessible = gtk_widget_real_get_accessible;
-
klass->contains = gtk_widget_real_contains;
widget_props[PROP_NAME] =
@@ -2608,9 +2565,6 @@ gtk_widget_show (GtkWidget *widget)
g_signal_emit (widget, widget_signals[SHOW], 0);
g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_VISIBLE]);
- if (priv->accessible != NULL)
- gtk_widget_accessible_notify_visible (GTK_WIDGET_ACCESSIBLE (priv->accessible));
-
gtk_widget_pop_verify_invariants (widget);
g_object_unref (widget);
}
@@ -2671,9 +2625,6 @@ gtk_widget_hide (GtkWidget *widget)
g_signal_emit (widget, widget_signals[HIDE], 0);
g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_VISIBLE]);
- if (priv->accessible != NULL)
- gtk_widget_accessible_notify_visible (GTK_WIDGET_ACCESSIBLE (priv->accessible));
-
parent = gtk_widget_get_parent (widget);
if (parent)
gtk_widget_queue_resize (parent);
@@ -2733,16 +2684,11 @@ gtk_widget_map (GtkWidget *widget)
if (!_gtk_widget_get_mapped (widget))
{
- GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
-
gtk_widget_push_verify_invariants (widget);
if (!_gtk_widget_get_realized (widget))
gtk_widget_realize (widget);
- if (priv->accessible != NULL)
- gtk_widget_accessible_notify_showing (GTK_WIDGET_ACCESSIBLE (priv->accessible));
-
g_signal_emit (widget, widget_signals[MAP], 0);
update_cursor_on_state_change (widget);
@@ -2767,8 +2713,6 @@ gtk_widget_unmap (GtkWidget *widget)
if (_gtk_widget_get_mapped (widget))
{
- GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
-
g_object_ref (widget);
gtk_widget_push_verify_invariants (widget);
@@ -2777,9 +2721,6 @@ gtk_widget_unmap (GtkWidget *widget)
g_signal_emit (widget, widget_signals[UNMAP], 0);
- if (priv->accessible != NULL)
- gtk_widget_accessible_notify_showing (GTK_WIDGET_ACCESSIBLE (priv->accessible));
-
update_cursor_on_state_change (widget);
gtk_widget_pop_verify_invariants (widget);
@@ -3943,9 +3884,6 @@ gtk_widget_allocate (GtkWidget *widget,
gtk_widget_update_paintables (widget);
- if (priv->accessible != NULL)
- gtk_widget_accessible_update_bounds (GTK_WIDGET_ACCESSIBLE (priv->accessible));
-
skip_allocate:
if (size_changed || baseline_changed)
gtk_widget_queue_draw (widget);
@@ -5622,9 +5560,6 @@ gtk_widget_set_sensitive (GtkWidget *widget,
update_cursor_on_state_change (widget);
}
- if (priv->accessible != NULL)
- gtk_widget_accessible_notify_sensitive (GTK_WIDGET_ACCESSIBLE (priv->accessible));
-
g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_SENSITIVE]);
}
@@ -7110,9 +7045,7 @@ finalize_assertion_weak_ref (gpointer data,
static void
gtk_widget_real_destroy (GtkWidget *object)
{
- /* gtk_object_destroy() will already hold a refcount on object */
GtkWidget *widget = GTK_WIDGET (object);
- GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
if (g_object_get_qdata (G_OBJECT (widget), quark_auto_children))
{
@@ -7219,13 +7152,6 @@ gtk_widget_real_destroy (GtkWidget *object)
}
}
- if (priv->accessible)
- {
- gtk_accessible_set_widget (GTK_ACCESSIBLE (priv->accessible), NULL);
- g_object_unref (priv->accessible);
- priv->accessible = NULL;
- }
-
/* Callers of add_mnemonic_label() should disconnect on ::destroy */
g_object_set_qdata (G_OBJECT (widget), quark_mnemonic_labels, NULL);
@@ -7255,7 +7181,6 @@ gtk_widget_finalize (GObject *object)
g_free (priv->tooltip_markup);
g_free (priv->tooltip_text);
- g_clear_object (&priv->accessible);
g_clear_pointer (&priv->transform, gsk_transform_unref);
g_clear_pointer (&priv->allocated_transform, gsk_transform_unref);
@@ -7702,170 +7627,6 @@ G_DEFINE_BOXED_TYPE (GtkRequisition, gtk_requisition,
gtk_requisition_copy,
gtk_requisition_free)
-/**
- * gtk_widget_class_set_accessible_type:
- * @widget_class: class to set the accessible type for
- * @type: The object type that implements the accessible for @widget_class
- *
- * Sets the type to be used for creating accessibles for widgets of
- * @widget_class. The given @type must be a subtype of the type used for
- * accessibles of the parent class.
- *
- * This function should only be called from class init functions of widgets.
- **/
-void
-gtk_widget_class_set_accessible_type (GtkWidgetClass *widget_class,
- GType type)
-{
- GtkWidgetClassPrivate *priv;
-
- g_return_if_fail (GTK_IS_WIDGET_CLASS (widget_class));
- g_return_if_fail (g_type_is_a (type, widget_class->priv->accessible_type));
-
- priv = widget_class->priv;
-
- priv->accessible_type = type;
- /* reset this - honoring the type's role is better. */
- priv->accessible_role = ATK_ROLE_INVALID;
-}
-
-/**
- * gtk_widget_class_set_accessible_role:
- * @widget_class: class to set the accessible role for
- * @role: The role to use for accessibles created for @widget_class
- *
- * Sets the default #AtkRole to be set on accessibles created for
- * widgets of @widget_class. Accessibles may decide to not honor this
- * setting if their role reporting is more refined. Calls to
- * gtk_widget_class_set_accessible_type() will reset this value.
- *
- * In cases where you want more fine-grained control over the role of
- * accessibles created for @widget_class, you should provide your own
- * accessible type and use gtk_widget_class_set_accessible_type()
- * instead.
- *
- * If @role is #ATK_ROLE_INVALID, the default role will not be changed
- * and the accessible’s default role will be used instead.
- *
- * This function should only be called from class init functions of widgets.
- **/
-void
-gtk_widget_class_set_accessible_role (GtkWidgetClass *widget_class,
- AtkRole role)
-{
- GtkWidgetClassPrivate *priv;
-
- g_return_if_fail (GTK_IS_WIDGET_CLASS (widget_class));
-
- priv = widget_class->priv;
-
- priv->accessible_role = role;
-}
-
-/**
- * _gtk_widget_peek_accessible:
- * @widget: a #GtkWidget
- *
- * Gets the accessible for @widget, if it has been created yet.
- * Otherwise, this function returns %NULL. If the @widget’s implementation
- * does not use the default way to create accessibles, %NULL will always be
- * returned.
- *
- * Returns: (nullable): the accessible for @widget or %NULL if none has been
- * created yet.
- **/
-AtkObject *
-_gtk_widget_peek_accessible (GtkWidget *widget)
-{
- GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
-
- return priv->accessible;
-}
-
-/**
- * gtk_widget_get_accessible:
- * @widget: a #GtkWidget
- *
- * Returns the accessible object that describes the widget to an
- * assistive technology.
- *
- * If accessibility support is not available, this #AtkObject
- * instance may be a no-op. Likewise, if no class-specific #AtkObject
- * implementation is available for the widget instance in question,
- * it will inherit an #AtkObject implementation from the first ancestor
- * class for which such an implementation is defined.
- *
- * The documentation of the
- * [ATK](http://developer.gnome.org/atk/stable/)
- * library contains more information about accessible objects and their uses.
- *
- * Returns: (transfer none): the #AtkObject associated with @widget
- */
-AtkObject*
-gtk_widget_get_accessible (GtkWidget *widget)
-{
- g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
-
- return GTK_WIDGET_GET_CLASS (widget)->get_accessible (widget);
-}
-
-static AtkObject*
-gtk_widget_real_get_accessible (GtkWidget *widget)
-{
- AtkObject* accessible;
-
- accessible = widget->priv->accessible;
-
- if (!accessible)
- {
- GtkWidgetClass *widget_class;
- GtkWidgetClassPrivate *priv;
-
- widget_class = GTK_WIDGET_GET_CLASS (widget);
- priv = widget_class->priv;
-
- accessible = g_object_new (priv->accessible_type,
- "widget", widget,
- NULL);
- if (priv->accessible_role != ATK_ROLE_INVALID)
- atk_object_set_role (accessible, priv->accessible_role);
-
- widget->priv->accessible = accessible;
-
- atk_object_initialize (accessible, widget);
-
- /* Set the role again, since we don't want a role set
- * in some parent initialize() function to override
- * our own.
- */
- if (priv->accessible_role != ATK_ROLE_INVALID)
- atk_object_set_role (accessible, priv->accessible_role);
- }
-
- return accessible;
-}
-
-/*
- * Initialize an AtkImplementorIface instance’s virtual pointers as
- * appropriate to this implementor’s class (GtkWidget).
- */
-static void
-gtk_widget_accessible_interface_init (AtkImplementorIface *iface)
-{
- iface->ref_accessible = gtk_widget_ref_accessible;
-}
-
-static AtkObject*
-gtk_widget_ref_accessible (AtkImplementor *implementor)
-{
- AtkObject *accessible;
-
- accessible = gtk_widget_get_accessible (GTK_WIDGET (implementor));
- if (accessible)
- g_object_ref (accessible);
- return accessible;
-}
-
/*
* Expand flag management
*/
@@ -8288,7 +8049,6 @@ gtk_widget_set_vexpand_set (GtkWidget *widget,
/*
* GtkBuildable implementation
*/
-static GQuark quark_builder_atk_relations = 0;
static GQuark quark_builder_set_name = 0;
static void
@@ -8319,7 +8079,6 @@ gtk_widget_buildable_add_child (GtkBuildable *buildable,
static void
gtk_widget_buildable_interface_init (GtkBuildableIface *iface)
{
- quark_builder_atk_relations = g_quark_from_static_string ("gtk-builder-atk-relations");
quark_builder_set_name = g_quark_from_static_string ("gtk-builder-set-name");
iface->set_name = gtk_widget_buildable_set_name;
@@ -8355,9 +8114,6 @@ gtk_widget_buildable_get_internal_child (GtkBuildable *buildable,
GSList *l;
GType internal_child_type = 0;
- if (strcmp (childname, "accessible") == 0)
- return G_OBJECT (gtk_widget_get_accessible (GTK_WIDGET (buildable)));
-
/* Find a widget type which has declared an automated child as internal by
* the name 'childname', if any.
*/
@@ -8389,242 +8145,12 @@ gtk_widget_buildable_get_internal_child (GtkBuildable *buildable,
return NULL;
}
-typedef struct
-{
- gchar *action_name;
- GString *description;
- gchar *context;
- gboolean translatable;
-} AtkActionData;
-
-typedef struct
-{
- gchar *target;
- AtkRelationType type;
- gint line;
- gint col;
-} AtkRelationData;
-
-static void
-free_action (AtkActionData *data, gpointer user_data)
-{
- g_free (data->action_name);
- g_string_free (data->description, TRUE);
- g_free (data->context);
- g_slice_free (AtkActionData, data);
-}
-
-static void
-free_relation (AtkRelationData *data, gpointer user_data)
-{
- g_free (data->target);
- g_slice_free (AtkRelationData, data);
-}
-
static void
gtk_widget_buildable_parser_finished (GtkBuildable *buildable,
GtkBuilder *builder)
{
- GSList *atk_relations;
-
- atk_relations = g_object_get_qdata (G_OBJECT (buildable),
- quark_builder_atk_relations);
- if (atk_relations)
- {
- AtkObject *accessible;
- AtkRelationSet *relation_set;
- GSList *l;
- GObject *target;
- AtkObject *target_accessible;
-
- accessible = gtk_widget_get_accessible (GTK_WIDGET (buildable));
- relation_set = atk_object_ref_relation_set (accessible);
-
- for (l = atk_relations; l; l = l->next)
- {
- AtkRelationData *relation = (AtkRelationData*)l->data;
-
- target = _gtk_builder_lookup_object (builder, relation->target, relation->line, relation->col);
- if (!target)
- continue;
- target_accessible = gtk_widget_get_accessible (GTK_WIDGET (target));
- g_assert (target_accessible != NULL);
-
- atk_relation_set_add_relation_by_type (relation_set, relation->type, target_accessible);
- }
- g_object_unref (relation_set);
-
- g_slist_free_full (atk_relations, (GDestroyNotify) free_relation);
- g_object_steal_qdata (G_OBJECT (buildable), quark_builder_atk_relations);
- }
}
-typedef struct
-{
- GtkBuilder *builder;
- GSList *actions;
- GSList *relations;
- AtkRole role;
-} AccessibilitySubParserData;
-
-static void
-accessibility_start_element (GtkBuildableParseContext *context,
- const gchar *element_name,
- const gchar **names,
- const gchar **values,
- gpointer user_data,
- GError **error)
-{
- AccessibilitySubParserData *data = (AccessibilitySubParserData*)user_data;
-
- if (strcmp (element_name, "relation") == 0)
- {
- gchar *target = NULL;
- gchar *type = NULL;
- AtkRelationData *relation;
- AtkRelationType relation_type;
-
- if (!_gtk_builder_check_parent (data->builder, context, "accessibility", error))
- return;
-
- if (!g_markup_collect_attributes (element_name, names, values, error,
- G_MARKUP_COLLECT_STRING, "target", &target,
- G_MARKUP_COLLECT_STRING, "type", &type,
- G_MARKUP_COLLECT_INVALID))
- {
- _gtk_builder_prefix_error (data->builder, context, error);
- return;
- }
-
- relation_type = atk_relation_type_for_name (type);
- if (relation_type == ATK_RELATION_NULL)
- {
- g_set_error (error,
- GTK_BUILDER_ERROR,
- GTK_BUILDER_ERROR_INVALID_VALUE,
- "No such relation type: '%s'", type);
- _gtk_builder_prefix_error (data->builder, context, error);
- return;
- }
-
- relation = g_slice_new (AtkRelationData);
- relation->target = g_strdup (target);
- relation->type = relation_type;
-
- data->relations = g_slist_prepend (data->relations, relation);
- }
- else if (strcmp (element_name, "action") == 0)
- {
- const gchar *action_name;
- const gchar *description = NULL;
- const gchar *msg_context = NULL;
- gboolean translatable = FALSE;
- AtkActionData *action;
-
- if (!_gtk_builder_check_parent (data->builder, context, "accessibility", error))
- return;
-
- if (!g_markup_collect_attributes (element_name, names, values, error,
- G_MARKUP_COLLECT_STRING, "action_name", &action_name,
- G_MARKUP_COLLECT_STRING|G_MARKUP_COLLECT_OPTIONAL, "description",
&description,
- G_MARKUP_COLLECT_STRING|G_MARKUP_COLLECT_OPTIONAL, "comments", NULL,
- G_MARKUP_COLLECT_STRING|G_MARKUP_COLLECT_OPTIONAL, "context",
&msg_context,
- G_MARKUP_COLLECT_BOOLEAN|G_MARKUP_COLLECT_OPTIONAL, "translatable",
&translatable,
- G_MARKUP_COLLECT_INVALID))
- {
- _gtk_builder_prefix_error (data->builder, context, error);
- return;
- }
-
- action = g_slice_new (AtkActionData);
- action->action_name = g_strdup (action_name);
- action->description = g_string_new (description);
- action->context = g_strdup (msg_context);
- action->translatable = translatable;
-
- data->actions = g_slist_prepend (data->actions, action);
- }
- else if (strcmp (element_name, "role") == 0)
- {
- const gchar *type;
- AtkRole role;
-
- if (!_gtk_builder_check_parent (data->builder, context, "accessibility", error))
- return;
-
- if (data->role != ATK_ROLE_INVALID)
- {
- g_set_error (error,
- GTK_BUILDER_ERROR,
- GTK_BUILDER_ERROR_INVALID_VALUE,
- "Duplicate accessibility role definition");
- _gtk_builder_prefix_error (data->builder, context, error);
- return;
- }
-
- if (!g_markup_collect_attributes (element_name, names, values, error,
- G_MARKUP_COLLECT_STRING, "type", &type,
- G_MARKUP_COLLECT_INVALID))
- {
- _gtk_builder_prefix_error (data->builder, context, error);
- return;
- }
-
- role = atk_role_for_name (type);
- if (role == ATK_ROLE_INVALID)
- {
- g_set_error (error,
- GTK_BUILDER_ERROR,
- GTK_BUILDER_ERROR_INVALID_VALUE,
- "No such role type: '%s'", type);
- _gtk_builder_prefix_error (data->builder, context, error);
- return;
- }
-
- data->role = role;
- }
- else if (strcmp (element_name, "accessibility") == 0)
- {
- if (!_gtk_builder_check_parent (data->builder, context, "object", error))
- return;
-
- if (!g_markup_collect_attributes (element_name, names, values, error,
- G_MARKUP_COLLECT_INVALID, NULL, NULL,
- G_MARKUP_COLLECT_INVALID))
- _gtk_builder_prefix_error (data->builder, context, error);
- }
- else
- {
- _gtk_builder_error_unhandled_tag (data->builder, context,
- "GtkWidget", element_name,
- error);
- }
-}
-
-static void
-accessibility_text (GtkBuildableParseContext *context,
- const gchar *text,
- gsize text_len,
- gpointer user_data,
- GError **error)
-{
- AccessibilitySubParserData *data = (AccessibilitySubParserData*)user_data;
-
- if (strcmp (gtk_buildable_parse_context_get_element (context), "action") == 0)
- {
- AtkActionData *action = data->actions->data;
-
- g_string_append_len (action->description, text, text_len);
- }
-}
-
-static const GtkBuildableParser accessibility_parser =
- {
- accessibility_start_element,
- NULL,
- accessibility_text,
- };
-
typedef struct
{
GtkBuilder *builder;
@@ -8828,19 +8354,6 @@ gtk_widget_buildable_custom_tag_start (GtkBuildable *buildable,
GtkBuildableParser *parser,
gpointer *parser_data)
{
- if (strcmp (tagname, "accessibility") == 0)
- {
- AccessibilitySubParserData *data;
-
- data = g_slice_new0 (AccessibilitySubParserData);
- data->builder = builder;
-
- *parser = accessibility_parser;
- *parser_data = data;
-
- return TRUE;
- }
-
if (strcmp (tagname, "style") == 0)
{
StyleParserData *data;
@@ -8953,69 +8466,7 @@ gtk_widget_buildable_custom_finished (GtkBuildable *buildable,
const gchar *tagname,
gpointer user_data)
{
- if (strcmp (tagname, "accessibility") == 0)
- {
- AccessibilitySubParserData *a11y_data;
-
- a11y_data = (AccessibilitySubParserData*)user_data;
-
- if (a11y_data->actions)
- {
- AtkObject *accessible;
- AtkAction *action;
- gint i, n_actions;
- GSList *l;
-
- accessible = gtk_widget_get_accessible (GTK_WIDGET (buildable));
-
- if (ATK_IS_ACTION (accessible))
- {
- action = ATK_ACTION (accessible);
- n_actions = atk_action_get_n_actions (action);
-
- for (l = a11y_data->actions; l; l = l->next)
- {
- AtkActionData *action_data = (AtkActionData*)l->data;
-
- for (i = 0; i < n_actions; i++)
- if (strcmp (atk_action_get_name (action, i),
- action_data->action_name) == 0)
- break;
-
- if (i < n_actions)
- {
- const gchar *description;
-
- if (action_data->translatable && action_data->description->len)
- description = _gtk_builder_parser_translate (gtk_builder_get_translation_domain
(builder),
- action_data->context,
- action_data->description->str);
- else
- description = action_data->description->str;
-
- atk_action_set_description (action, i, description);
- }
- }
- }
- else
- g_warning ("accessibility action on a widget that does not implement AtkAction");
-
- g_slist_free_full (a11y_data->actions, (GDestroyNotify) free_action);
- }
-
- if (a11y_data->relations)
- g_object_set_qdata (G_OBJECT (buildable), quark_builder_atk_relations,
- a11y_data->relations);
-
- if (a11y_data->role != ATK_ROLE_INVALID)
- {
- AtkObject *accessible = gtk_widget_get_accessible (GTK_WIDGET (buildable));
- atk_object_set_role (accessible, a11y_data->role);
- }
-
- g_slice_free (AccessibilitySubParserData, a11y_data);
- }
- else if (strcmp (tagname, "style") == 0)
+ if (strcmp (tagname, "style") == 0)
{
StyleParserData *style_data = (StyleParserData *)user_data;
GSList *l;
@@ -9657,9 +9108,6 @@ gtk_widget_set_has_tooltip (GtkWidget *widget,
{
priv->has_tooltip = has_tooltip;
- if (priv->accessible != NULL)
- gtk_widget_accessible_notify_tooltip (GTK_WIDGET_ACCESSIBLE (priv->accessible));
-
g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_HAS_TOOLTIP]);
}
}
@@ -10209,9 +9657,6 @@ gtk_widget_set_has_focus (GtkWidget *widget,
priv->has_focus = has_focus;
- if (priv->accessible != NULL)
- gtk_widget_accessible_notify_focus (GTK_WIDGET_ACCESSIBLE (priv->accessible));
-
g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_HAS_FOCUS]);
}
@@ -12646,8 +12091,6 @@ void
gtk_widget_update_orientation (GtkWidget *widget,
GtkOrientation orientation)
{
- GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
-
g_return_if_fail (GTK_IS_WIDGET (widget));
if (orientation == GTK_ORIENTATION_HORIZONTAL)
@@ -12660,7 +12103,4 @@ gtk_widget_update_orientation (GtkWidget *widget,
gtk_widget_add_css_class (widget, GTK_STYLE_CLASS_VERTICAL);
gtk_widget_remove_css_class (widget, GTK_STYLE_CLASS_HORIZONTAL);
}
-
- if (priv->accessible != NULL)
- gtk_widget_accessible_notify_orientation (GTK_WIDGET_ACCESSIBLE (priv->accessible));
}
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index cf812b9b26..384619f2d2 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -36,7 +36,6 @@
#include <gtk/gtkshortcut.h>
#include <gtk/gtkshortcutaction.h>
#include <gtk/gtktypes.h>
-#include <atk/atk.h>
G_BEGIN_DECLS
@@ -183,8 +182,6 @@ struct _GtkWidget
* @set_focus_child: Sets the focused child of a widget. Must chain up
* @move_focus: Signal emitted when a change of focus is requested
* @keynav_failed: Signal emitted if keyboard navigation fails.
- * @get_accessible: Returns the accessible object that describes the
- * widget to an assistive technology.
* @query_tooltip: Signal emitted when “has-tooltip” is %TRUE and the
* hover timeout has expired with the cursor hovering “above”
* widget; or emitted when widget got focus in keyboard mode.
@@ -251,10 +248,6 @@ struct _GtkWidgetClass
gboolean (* keynav_failed) (GtkWidget *widget,
GtkDirectionType direction);
- /* accessibility support
- */
- AtkObject * (* get_accessible) (GtkWidget *widget);
-
gboolean (* query_tooltip) (GtkWidget *widget,
gint x,
gint y,
@@ -587,17 +580,6 @@ GDK_AVAILABLE_IN_ALL
gboolean gtk_widget_compute_expand (GtkWidget *widget,
GtkOrientation orientation);
-/* Accessibility support */
-GDK_AVAILABLE_IN_ALL
-void gtk_widget_class_set_accessible_type (GtkWidgetClass *widget_class,
- GType type);
-GDK_AVAILABLE_IN_ALL
-void gtk_widget_class_set_accessible_role (GtkWidgetClass *widget_class,
- AtkRole role);
-GDK_AVAILABLE_IN_ALL
-AtkObject* gtk_widget_get_accessible (GtkWidget *widget);
-
-
/* Margin and alignment */
GDK_AVAILABLE_IN_ALL
GtkAlign gtk_widget_get_halign (GtkWidget *widget);
diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h
index 1fa09c48fb..9cbe4fdc2e 100644
--- a/gtk/gtkwidgetprivate.h
+++ b/gtk/gtkwidgetprivate.h
@@ -174,8 +174,6 @@ struct _GtkWidgetPrivate
GPtrArray *controllers;
- AtkObject *accessible;
-
/* Widget tree */
GtkWidget *parent;
GtkWidget *prev_sibling;
@@ -208,8 +206,6 @@ struct _GtkWidgetClassPrivate
{
GtkWidgetTemplate *template;
GListStore *shortcuts;
- GType accessible_type;
- AtkRole accessible_role;
GQuark css_name;
GType layout_manager_type;
GtkWidgetAction *actions;
@@ -236,8 +232,6 @@ void _gtk_widget_remove_sizegroup (GtkWidget *widget,
gpointer group);
GSList *_gtk_widget_get_sizegroups (GtkWidget *widget);
-AtkObject * _gtk_widget_peek_accessible (GtkWidget *widget);
-
void _gtk_widget_set_has_default (GtkWidget *widget,
gboolean has_default);
void _gtk_widget_set_has_grab (GtkWidget *widget,
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index c2591b90c1..9e663e010b 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -65,7 +65,6 @@
#include "gtkcssboxesimplprivate.h"
#include "gtktooltipprivate.h"
-#include "a11y/gtkwindowaccessibleprivate.h"
#include "inspector/window.h"
#include "gdk/gdktextureprivate.h"
@@ -1114,8 +1113,6 @@ gtk_window_class_init (GtkWindowClass *klass)
add_tab_bindings (widget_class, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
add_tab_bindings (widget_class, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
- gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_WINDOW_ACCESSIBLE);
- gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_FRAME);
gtk_widget_class_set_css_name (widget_class, I_("window"));
}
@@ -6393,7 +6390,6 @@ _gtk_window_set_is_active (GtkWindow *window,
priv->is_active = is_active;
g_object_notify_by_pspec (G_OBJECT (window), window_props[PROP_IS_ACTIVE]);
- _gtk_window_accessible_set_is_active (window, is_active);
}
/**
diff --git a/gtk/gtkwindowcontrols.c b/gtk/gtkwindowcontrols.c
index 78236cb43e..47978330ef 100644
--- a/gtk/gtkwindowcontrols.c
+++ b/gtk/gtkwindowcontrols.c
@@ -20,7 +20,6 @@
#include "gtkwindowcontrols.h"
-#include "gtkaccessible.h"
#include "gtkactionable.h"
#include "gtkboxlayout.h"
#include "gtkbutton.h"
@@ -277,7 +276,6 @@ update_window_buttons (GtkWindowControls *self)
{
GtkWidget *button = NULL;
GtkWidget *image = NULL;
- AtkObject *accessible;
if (strcmp (tokens[i], "icon") == 0 &&
is_sovereign_window)
@@ -305,10 +303,6 @@ update_window_buttons (GtkWindowControls *self)
gtk_widget_set_can_focus (button, FALSE);
gtk_actionable_set_action_name (GTK_ACTIONABLE (button),
"window.minimize");
-
- accessible = gtk_widget_get_accessible (button);
- if (GTK_IS_ACCESSIBLE (accessible))
- atk_object_set_name (accessible, _("Minimize"));
}
else if (strcmp (tokens[i], "maximize") == 0 &&
resizable &&
@@ -326,10 +320,6 @@ update_window_buttons (GtkWindowControls *self)
gtk_widget_set_can_focus (button, FALSE);
gtk_actionable_set_action_name (GTK_ACTIONABLE (button),
"window.toggle-maximized");
-
- accessible = gtk_widget_get_accessible (button);
- if (GTK_IS_ACCESSIBLE (accessible))
- atk_object_set_name (accessible, maximized ? _("Restore") : _("Maximize"));
}
else if (strcmp (tokens[i], "close") == 0 &&
deletable)
@@ -343,10 +333,6 @@ update_window_buttons (GtkWindowControls *self)
gtk_widget_set_can_focus (button, FALSE);
gtk_actionable_set_action_name (GTK_ACTIONABLE (button),
"window.close");
-
- accessible = gtk_widget_get_accessible (button);
- if (GTK_IS_ACCESSIBLE (accessible))
- atk_object_set_name (accessible, _("Close"));
}
if (button)
diff --git a/gtk/inspector/misc-info.c b/gtk/inspector/misc-info.c
index d00163eb8d..c744a6a09e 100644
--- a/gtk/inspector/misc-info.c
+++ b/gtk/inspector/misc-info.c
@@ -69,12 +69,6 @@ struct _GtkInspectorMiscInfoPrivate {
GtkWidget *framerate;
GtkWidget *framecount_row;
GtkWidget *framecount;
- GtkWidget *accessible_role_row;
- GtkWidget *accessible_role;
- GtkWidget *accessible_name_row;
- GtkWidget *accessible_name;
- GtkWidget *accessible_description_row;
- GtkWidget *accessible_description;
GtkWidget *mapped_row;
GtkWidget *mapped;
GtkWidget *realized_row;
@@ -321,8 +315,6 @@ update_info (gpointer data)
if (GTK_IS_WIDGET (sl->priv->object))
{
GtkWidget *child;
- AtkObject *accessible;
- AtkRole role;
GList *list, *l;
while ((child = gtk_widget_get_first_child (sl->priv->mnemonic_label)))
@@ -344,16 +336,6 @@ update_info (gpointer data)
g_list_free (list);
gtk_widget_set_visible (sl->priv->tick_callback, gtk_widget_has_tick_callback (GTK_WIDGET
(sl->priv->object)));
-
- accessible = ATK_OBJECT (gtk_widget_get_accessible (GTK_WIDGET (sl->priv->object)));
- role = atk_object_get_role (accessible);
- gtk_label_set_text (GTK_LABEL (sl->priv->accessible_role), atk_role_get_name (role));
- gtk_label_set_text (GTK_LABEL (sl->priv->accessible_name), atk_object_get_name (accessible));
- gtk_label_set_text (GTK_LABEL (sl->priv->accessible_description), atk_object_get_description
(accessible));
- gtk_widget_set_visible (sl->priv->mapped, gtk_widget_get_mapped (GTK_WIDGET (sl->priv->object)));
- gtk_widget_set_visible (sl->priv->realized, gtk_widget_get_realized (GTK_WIDGET (sl->priv->object)));
- gtk_widget_set_visible (sl->priv->is_toplevel, GTK_IS_ROOT (sl->priv->object));
- gtk_widget_set_visible (sl->priv->child_visible, gtk_widget_get_child_visible (GTK_WIDGET
(sl->priv->object)));
}
update_surface (sl);
@@ -433,9 +415,6 @@ gtk_inspector_misc_info_set_object (GtkInspectorMiscInfo *sl,
gtk_widget_show (sl->priv->baseline_row);
gtk_widget_show (sl->priv->mnemonic_label_row);
gtk_widget_show (sl->priv->tick_callback_row);
- gtk_widget_show (sl->priv->accessible_role_row);
- gtk_widget_show (sl->priv->accessible_name_row);
- gtk_widget_show (sl->priv->accessible_description_row);
gtk_widget_show (sl->priv->mapped_row);
gtk_widget_show (sl->priv->realized_row);
gtk_widget_show (sl->priv->is_toplevel_row);
@@ -455,9 +434,6 @@ gtk_inspector_misc_info_set_object (GtkInspectorMiscInfo *sl,
gtk_widget_hide (sl->priv->allocated_size_row);
gtk_widget_hide (sl->priv->baseline_row);
gtk_widget_hide (sl->priv->tick_callback_row);
- gtk_widget_hide (sl->priv->accessible_role_row);
- gtk_widget_hide (sl->priv->accessible_name_row);
- gtk_widget_hide (sl->priv->accessible_description_row);
gtk_widget_hide (sl->priv->mapped_row);
gtk_widget_hide (sl->priv->realized_row);
gtk_widget_hide (sl->priv->is_toplevel_row);
@@ -576,12 +552,6 @@ gtk_inspector_misc_info_class_init (GtkInspectorMiscInfoClass *klass)
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, framecount);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, framerate_row);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, framerate);
- gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, accessible_role_row);
- gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, accessible_role);
- gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, accessible_name_row);
- gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, accessible_name);
- gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo,
accessible_description_row);
- gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, accessible_description);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, mapped_row);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, mapped);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorMiscInfo, realized_row);
@@ -599,4 +569,3 @@ gtk_inspector_misc_info_class_init (GtkInspectorMiscInfoClass *klass)
}
// vim: set et sw=2 ts=2:
-
diff --git a/gtk/inspector/misc-info.ui b/gtk/inspector/misc-info.ui
index e19d381eb3..ca7fbc9639 100644
--- a/gtk/inspector/misc-info.ui
+++ b/gtk/inspector/misc-info.ui
@@ -487,97 +487,6 @@
</child>
</object>
</child>
- <child>
- <object class="GtkListBoxRow" id="accessible_role_row">
- <property name="activatable">0</property>
- <child>
- <object class="GtkBox">
- <property name="margin-start">10</property>
- <property name="margin-end">10</property>
- <property name="margin-top">10</property>
- <property name="margin-bottom">10</property>
- <property name="spacing">40</property>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Accessible Role</property>
- <property name="halign">start</property>
- <property name="valign">baseline</property>
- <property name="xalign">0</property>
- <property name="hexpand">1</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="accessible_role">
- <property name="halign">end</property>
- <property name="valign">baseline</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkListBoxRow" id="accessible_name_row">
- <property name="activatable">0</property>
- <child>
- <object class="GtkBox">
- <property name="margin-start">10</property>
- <property name="margin-end">10</property>
- <property name="margin-top">10</property>
- <property name="margin-bottom">10</property>
- <property name="spacing">40</property>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Accessible Name</property>
- <property name="halign">start</property>
- <property name="valign">baseline</property>
- <property name="xalign">0</property>
- <property name="hexpand">1</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="accessible_name">
- <property name="halign">end</property>
- <property name="valign">baseline</property>
- <property name="ellipsize">end</property>
- <property name="max-width-chars">50</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkListBoxRow" id="accessible_description_row">
- <property name="activatable">0</property>
- <child>
- <object class="GtkBox">
- <property name="margin-start">10</property>
- <property name="margin-end">10</property>
- <property name="margin-top">10</property>
- <property name="margin-bottom">10</property>
- <property name="spacing">40</property>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Accessible Description</property>
- <property name="halign">start</property>
- <property name="valign">baseline</property>
- <property name="xalign">0</property>
- <property name="hexpand">1</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="accessible_description">
- <property name="halign">end</property>
- <property name="valign">baseline</property>
- <property name="ellipsize">end</property>
- <property name="max-width-chars">50</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
<child>
<object class="GtkListBoxRow" id="mapped_row">
<property name="activatable">0</property>
diff --git a/gtk/meson.build b/gtk/meson.build
index bb08e506a8..e427d2b41f 100644
--- a/gtk/meson.build
+++ b/gtk/meson.build
@@ -1,5 +1,4 @@
subdir('deprecated')
-subdir('a11y')
subdir('inspector')
gtk_cargs = [
@@ -148,7 +147,6 @@ gtk_public_sources = files([
'gtkaboutdialog.c',
'gtkaccelgroup.c',
'gtkaccellabel.c',
- 'gtkaccessible.c',
'gtkactionable.c',
'gtkactionbar.c',
'gtkadjustment.c',
@@ -435,7 +433,6 @@ gtk_public_headers = files([
'gtkaboutdialog.h',
'gtkaccelgroup.h',
'gtkaccellabel.h',
- 'gtkaccessible.h',
'gtkactionable.h',
'gtkactionbar.h',
'gtkadjustment.h',
@@ -684,7 +681,6 @@ gtk_public_headers = files([
'gtkwindowcontrols.h',
'gtkwindowgroup.h',
'gtkwindowhandle.h',
- 'gtk-a11y.h',
'gtk-autocleanups.h',
'gtk.h',
])
@@ -880,7 +876,7 @@ gtkmarshalers = gnome.genmarshal('gtkmarshalers',
gtkmarshal_h = gtkmarshalers[1]
gtktypebuiltins = gnome.mkenums('gtktypebuiltins',
- sources: gtk_public_headers + gtk_deprecated_headers + a11y_headers,
+ sources: gtk_public_headers + gtk_deprecated_headers,
c_template: 'gtktypebuiltins.c.template',
h_template: 'gtktypebuiltins.h.template',
install_dir: join_paths(gtk_includedir, 'gtk-4.0/gtk'),
@@ -940,7 +936,6 @@ gtk_sources += [
gtk_dbus_src,
gtk_deprecated_sources,
inspector_sources,
- a11y_sources,
gtkresources,
gtkmarshalers,
gtkprivatetypebuiltins,
@@ -959,7 +954,6 @@ gtk_deps = [
cairo_dep,
fontconfig_dep,
pixbuf_dep,
- atk_dep,
epoxy_dep,
libm,
graphene_dep,
@@ -1010,8 +1004,6 @@ if win32_enabled
win32res = import('windows').compile_resources(gtkwin32rc, include_directories : win32rcinc)
gtk_sources += win32res
-else
- gtk_deps += [ atkbridge_dep, ]
endif
# So we don't add these twice
@@ -1155,8 +1147,6 @@ if build_gir
gtk_css_public_sources,
gtk_deprecated_headers,
gtk_deprecated_sources,
- a11y_headers,
- a11y_sources,
gtktypebuiltins_h,
gtkversion,
]
@@ -1176,13 +1166,12 @@ if build_gir
identifier_prefix: 'Gtk',
symbol_prefix: 'gtk',
export_packages: 'gtk4',
- includes: [ gdk_gir[0], gsk_gir[0], 'Atk-1.0', ],
+ includes: [ gdk_gir[0], gsk_gir[0], ],
header: 'gtk/gtk.h',
install: true,
dependencies: gsk_gir_dep,
extra_args: gir_args + [
'-DGTK_COMPILATION',
- '--c-include=gtk/gtk-a11y.h',
])
gtk_dep_sources += gtk_gir
endif
diff --git a/gtk/ui/gtkcoloreditor.ui b/gtk/ui/gtkcoloreditor.ui
index a66a29adb6..9c8b4da03a 100644
--- a/gtk/ui/gtkcoloreditor.ui
+++ b/gtk/ui/gtkcoloreditor.ui
@@ -66,11 +66,6 @@
</child>
<child>
<object class="GtkEntry" id="entry">
- <child internal-child="accessible">
- <object class="AtkObject" id="entry-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Color Name</property>
- </object>
- </child>
<signal name="activate" handler="entry_apply" swapped="no"/>
<signal name="notify::has-focus" handler="entry_focus_changed" swapped="no"/>
<signal name="notify::text" handler="entry_text_changed" swapped="no"/>
@@ -157,11 +152,6 @@
<property name="width-chars">2</property>
<property name="max-width-chars">2</property>
<property name="climb-rate">1</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="a_entry-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Alpha</property>
- </object>
- </child>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
@@ -198,11 +188,6 @@
<property name="width-chars">2</property>
<property name="max-width-chars">2</property>
<property name="climb-rate">1</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="h_entry-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Hue</property>
- </object>
- </child>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
@@ -249,11 +234,6 @@
<property name="width-chars">2</property>
<property name="max-width-chars">2</property>
<property name="climb-rate">1</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="s_entry-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Saturation</property>
- </object>
- </child>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
@@ -265,11 +245,6 @@
<property name="width-chars">2</property>
<property name="max-width-chars">2</property>
<property name="climb-rate">1</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="v_entry-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Value</property>
- </object>
- </child>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
diff --git a/gtk/ui/gtkfilechooserwidget.ui b/gtk/ui/gtkfilechooserwidget.ui
index 60eab69a72..4ad9078fb2 100644
--- a/gtk/ui/gtkfilechooserwidget.ui
+++ b/gtk/ui/gtkfilechooserwidget.ui
@@ -142,11 +142,6 @@
<object class="GtkTreeView" id="browse_files_tree_view">
<property name="has-tooltip">1</property>
<property name="enable-search">0</property>
- <child internal-child="accessible">
- <object class="AtkObject"
id="browse_files_tree_view-atkobject">
- <property name="AtkObject::accessible-name"
translatable="yes">Files</property>
- </object>
- </child>
<child>
<object class="GtkGestureLongPress">
<property name="touch-only">1</property>
diff --git a/gtk/ui/gtkprintunixdialog.ui b/gtk/ui/gtkprintunixdialog.ui
index 6d086c9da8..775cdc9bce 100644
--- a/gtk/ui/gtkprintunixdialog.ui
+++ b/gtk/ui/gtkprintunixdialog.ui
@@ -202,9 +202,6 @@
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
- <accessibility>
- <relation type="label-for" target="range_table"/>
- </accessibility>
</object>
</child>
<child>
@@ -270,22 +267,12 @@
e.g. 1–3, 7, 11</property>
<property name="activates-default">1</property>
<signal name="notify::has-focus"
handler="page_range_entry_focus_changed" swapped="no"/>
- <child internal-child="accessible">
- <object class="AtkObject" id="page_range_entry-atkobject">
- <property name="AtkObject::accessible-name"
translatable="yes">Pages</property>
- <property name="AtkObject::accessible-description"
translatable="yes">Specify one or more page ranges,
- e.g. 1–3, 7, 11</property>
- </object>
- </child>
<layout>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
</layout>
</object>
</child>
- <accessibility>
- <relation type="labelled-by" target="label_widget1"/>
- </accessibility>
</object>
</child>
</object>
@@ -303,9 +290,6 @@
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
- <accessibility>
- <relation type="label-for" target="grid1"/>
- </accessibility>
</object>
</child>
<child>
@@ -371,9 +355,6 @@
</layout>
</object>
</child>
- <accessibility>
- <relation type="labelled-by" target="label_widget2"/>
- </accessibility>
</object>
</child>
</object>
@@ -415,9 +396,6 @@
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
- <accessibility>
- <relation type="label-for" target="grid2"/>
- </accessibility>
</object>
</child>
<child>
@@ -562,9 +540,6 @@
</layout>
</object>
</child>
- <accessibility>
- <relation type="labelled-by" target="label_widget3"/>
- </accessibility>
</object>
</child>
</object>
@@ -582,9 +557,6 @@
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
- <accessibility>
- <relation type="label-for" target="grid3"/>
- </accessibility>
</object>
</child>
<child>
@@ -715,9 +687,6 @@
</layout>
</object>
</child>
- <accessibility>
- <relation type="labelled-by" target="label_widget4"/>
- </accessibility>
</object>
</child>
</object>
@@ -766,9 +735,6 @@
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
- <accessibility>
- <relation type="label-for" target="grid5"/>
- </accessibility>
</object>
</child>
<child>
@@ -818,9 +784,6 @@
</layout>
</object>
</child>
- <accessibility>
- <relation type="labelled-by" target="label_widget5"/>
- </accessibility>
</object>
</child>
<layout>
@@ -841,9 +804,6 @@
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
- <accessibility>
- <relation type="label-for" target="grid6"/>
- </accessibility>
</object>
</child>
<child>
@@ -891,13 +851,6 @@
e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm</property>
<property name="tooltip-text" translatable="yes" comments="Ability to
parse the am/pm format depends on actual locale. You can remove the am/pm values below for your locale if
they are not supported.">Specify the time of print,
e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="print_at_entry-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Time
of print</property>
- <property name="AtkObject::accessible-description"
translatable="yes">Specify the time of print,
- e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm</property>
- </object>
- </child>
<signal name="changed" handler="update_print_at_option"
object="GtkPrintUnixDialog" swapped="yes"/>
<layout>
<property name="left-attach">1</property>
@@ -922,9 +875,6 @@
</layout>
</object>
</child>
- <accessibility>
- <relation type="labelled-by" target="label_widget6"/>
- </accessibility>
</object>
</child>
<layout>
@@ -945,9 +895,6 @@
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
- <accessibility>
- <relation type="label-for" target="grid7"/>
- </accessibility>
</object>
</child>
<child>
@@ -997,9 +944,6 @@
</layout>
</object>
</child>
- <accessibility>
- <relation type="labelled-by" target="label_widget7"/>
- </accessibility>
</object>
</child>
<layout>
diff --git a/gtk/ui/gtkvolumebutton.ui b/gtk/ui/gtkvolumebutton.ui
index 3c658df0c5..7b065d251e 100644
--- a/gtk/ui/gtkvolumebutton.ui
+++ b/gtk/ui/gtkvolumebutton.ui
@@ -13,32 +13,14 @@
audio-volume-high
audio-volume-low
audio-volume-medium</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="GtkVolumeButton-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Volume</property>
- <property name="AtkObject::accessible-description" translatable="yes">Turns volume up or
down</property>
- </object>
- </child>
<signal name="query-tooltip" handler="cb_query_tooltip" swapped="no"/>
<signal name="value-changed" handler="cb_value_changed" swapped="no"/>
<child internal-child="plus_button">
<object class="GtkButton" id="scalebutton-plus_button1">
- <child internal-child="accessible">
- <object class="AtkObject" id="scalebutton-plus_button1-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Volume Up</property>
- <property name="AtkObject::accessible-description" translatable="yes">Increases the
volume</property>
- </object>
- </child>
</object>
</child>
<child internal-child="minus_button">
<object class="GtkButton" id="scalebutton-minus_button1">
- <child internal-child="accessible">
- <object class="AtkObject" id="scalebutton-minus_button1-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes">Volume Down</property>
- <property name="AtkObject::accessible-description" translatable="yes">Decreases the
volume</property>
- </object>
- </child>
</object>
</child>
</template>
diff --git a/meson.build b/meson.build
index 1b3358fe70..97ab2965fd 100644
--- a/meson.build
+++ b/meson.build
@@ -29,7 +29,6 @@ endif
glib_req = '>= @0@.@1@.@2@'.format(glib_major_req, glib_minor_req, glib_micro_req)
pango_req = '>= 1.45.0'
fribidi_req = '>= 0.19.7'
-atk_req = '>= 2.15.1'
cairo_req = '>= 1.14.0'
gdk_pixbuf_req = '>= 2.30.0'
introspection_req = '>= 1.39.0'
@@ -368,7 +367,6 @@ pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req,
fallback : ['gdk-pixbuf', 'gdkpixbuf_dep'])
epoxy_dep = dependency('epoxy', version: epoxy_req,
fallback: ['libepoxy', 'libepoxy_dep'])
-atk_dep = dependency('atk', version: atk_req)
harfbuzz_dep = dependency('harfbuzz', version: '>= 0.9', required: false)
xkbdep = dependency('xkbcommon', version: xkbcommon_req, required: wayland_enabled)
graphene_dep = dependency('graphene-gobject-1.0', version: graphene_req,
@@ -376,7 +374,6 @@ graphene_dep = dependency('graphene-gobject-1.0', version: graphene_req,
iso_codes_dep = dependency('iso-codes', required: false)
fontconfig_dep = [] # only used in x11 backend
-atkbridge_dep = [] # only used in x11 backend
if os_win32
platform_gio_dep = giowin32_dep
@@ -474,8 +471,6 @@ cdata.set('HAVE_CAIRO_SCRIPT_INTERPRETER', cairo_csi_dep.found())
cdata.set('HAVE_HARFBUZZ', harfbuzz_dep.found())
cdata.set('HAVE_PANGOFT', pangoft_dep.found())
-atk_pkgs = ['atk']
-
wayland_pkgs = []
if wayland_enabled
wlclientdep = dependency('wayland-client', version: wayland_req)
@@ -510,7 +505,6 @@ if x11_enabled
xfixes_dep = dependency('xfixes', required: false)
xcomposite_dep = dependency('xcomposite', required: false)
fontconfig_dep = dependency('fontconfig')
- atkbridge_dep = dependency('atk-bridge-2.0', version: atk_req)
backend_immodules += ['xim']
@@ -529,8 +523,6 @@ if x11_enabled
x11_pkgs += ['xcomposite']
endif
- atk_pkgs += ['atk-bridge-2.0']
-
cdata.set('HAVE_XCURSOR', xcursor_dep.found())
cdata.set('HAVE_XDAMAGE', xdamage_dep.found())
cdata.set('HAVE_XCOMPOSITE', xcomposite_dep.found())
@@ -765,8 +757,7 @@ pkgconf.set('GDK_PACKAGES', gdk_packages)
pkgconf.set('GSK_PACKAGES',
' '.join([ 'graphene-gobject-1.0', graphene_req ]))
pkgconf.set('GTK_PACKAGES',
- ' '.join([ 'atk', atk_req,
- 'gio-2.0', glib_req ]))
+ ' '.join([ 'gio-2.0', glib_req ]))
# Requires.private
pc_gdk_extra_libs += cairo_libs
@@ -777,7 +768,7 @@ pkgconf.set('GDK_PRIVATE_PACKAGES',
'epoxy', epoxy_req ] + x11_pkgs + wayland_pkgs + cairo_backends))
pkgconf.set('GSK_PRIVATE_PACKAGES', '') # all already in GDK_PRIVATE_PACKAGES
pangoft2_pkgs = (wayland_enabled or x11_enabled) ? ['pangoft2'] : []
-pkgconf.set('GTK_PRIVATE_PACKAGES', ' '.join(atk_pkgs + pangoft2_pkgs))
+pkgconf.set('GTK_PRIVATE_PACKAGES', ' '.join(pangoft2_pkgs))
pkgconf.set('GDK_EXTRA_LIBS', ' '.join(pc_gdk_extra_libs))
pkgconf.set('GSK_EXTRA_LIBS', '')
diff --git a/tests/testlist3.c b/tests/testlist3.c
index f3f6b3b0dd..3353bdb503 100644
--- a/tests/testlist3.c
+++ b/tests/testlist3.c
@@ -101,12 +101,6 @@ on_selected_children_changed (GtkListBox *self)
g_message ("Selection changed");
}
-static void
-a11y_selection_changed (AtkObject *obj)
-{
- g_message ("Accessible selection changed");
-}
-
static void
selection_mode_changed (GtkComboBox *combo, gpointer data)
{
@@ -152,7 +146,6 @@ main (int argc, char *argv[])
g_signal_connect (list, "row-activated", G_CALLBACK (on_row_activated), NULL);
g_signal_connect (list, "selected-rows-changed", G_CALLBACK (on_selected_children_changed), NULL);
- g_signal_connect (gtk_widget_get_accessible (list), "selection-changed", G_CALLBACK
(a11y_selection_changed), NULL);
sw = gtk_scrolled_window_new ();
gtk_widget_set_hexpand (sw, TRUE);
diff --git a/testsuite/css/nodes/buttons.ui b/testsuite/css/nodes/buttons.ui
index 65151e9b69..3b89c6dd60 100644
--- a/testsuite/css/nodes/buttons.ui
+++ b/testsuite/css/nodes/buttons.ui
@@ -66,11 +66,6 @@
<object class="GtkSwitch" id="button6">
<property name="can_focus">1</property>
<property name="receives_default">1</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="button6-accessible">
- <property name="accessible-name">Test switch</property>
- </object>
- </child>
<layout>
<property name="left_attach">5</property>
<property name="top_attach">0</property>
diff --git a/testsuite/gtk/builder.c b/testsuite/gtk/builder.c
index 18b29e2078..25fe430c31 100644
--- a/testsuite/gtk/builder.c
+++ b/testsuite/gtk/builder.c
@@ -1432,22 +1432,10 @@ test_widget (void)
" <property name=\"orientation\">vertical</property>"
" <child>"
" <object class=\"GtkLabel\" id=\"label1\">"
- " <child internal-child=\"accessible\">"
- " <object class=\"AtkObject\" id=\"a11y-label1\">"
- " <property name=\"AtkObject::accessible-name\">A Label</property>"
- " </object>"
- " </child>"
- " <accessibility>"
- " <relation target=\"button1\" type=\"label-for\"/>"
- " </accessibility>"
" </object>"
" </child>"
" <child>"
" <object class=\"GtkButton\" id=\"button1\">"
- " <accessibility>"
- " <action action_name=\"click\" description=\"Sliff\"/>"
- " <action action_name=\"clack\" translatable=\"yes\">Sniff</action>"
- " </accessibility>"
" </object>"
" </child>"
" </object>"
@@ -1460,19 +1448,12 @@ test_widget (void)
" <child>"
" <object class=\"GtkLabel\" id=\"label1\">"
" <property name=\"label\">Thelabel</property>"
- " <accessibility>"
- " <role type=\"static\"/>"
- " </accessibility>"
" </object>"
" </child>"
" </object>"
"</interface>";
GtkBuilder *builder;
GObject *window1, *button1, *label1;
- AtkObject *accessible;
- AtkRelationSet *relation_set;
- AtkRelation *relation;
- char *name;
builder = builder_new_from_string (buffer, -1, NULL);
button1 = gtk_builder_get_object (builder, "button1");
@@ -1494,28 +1475,14 @@ test_widget (void)
window1 = gtk_builder_get_object (builder, "window1");
label1 = gtk_builder_get_object (builder, "label1");
+ g_assert (GTK_IS_LABEL (label1));
- accessible = gtk_widget_get_accessible (GTK_WIDGET (label1));
- relation_set = atk_object_ref_relation_set (accessible);
- g_assert_cmpint (atk_relation_set_get_n_relations (relation_set), ==, 1);
- relation = atk_relation_set_get_relation (relation_set, 0);
- g_assert (relation != NULL);
- g_assert_true (ATK_IS_RELATION (relation));
- g_assert_cmpint (atk_relation_get_relation_type (relation), !=, ATK_RELATION_LABELLED_BY);
- g_object_unref (relation_set);
-
- g_object_get (G_OBJECT (accessible), "accessible-name", &name, NULL);
- g_assert_cmpstr (name, ==, "A Label");
- g_free (name);
-
gtk_window_destroy (GTK_WINDOW (window1));
g_object_unref (builder);
builder = builder_new_from_string (buffer4, -1, NULL);
label1 = gtk_builder_get_object (builder, "label1");
-
- accessible = gtk_widget_get_accessible (GTK_WIDGET (label1));
- g_assert (atk_object_get_role (accessible) == ATK_ROLE_STATIC);
+ g_assert (GTK_IS_LABEL (label1));
g_object_unref (builder);
}
diff --git a/testsuite/gtk/focus-chain/widget-factory.ui b/testsuite/gtk/focus-chain/widget-factory.ui
index ff594c9eca..bf09b8732b 100644
--- a/testsuite/gtk/focus-chain/widget-factory.ui
+++ b/testsuite/gtk/focus-chain/widget-factory.ui
@@ -2908,9 +2908,6 @@ bad things might happen.</property>
<property name="margin-top">20</property>
<property name="margin-bottom">20</property>
<property name="label" translatable="yes">To free the princess, you have to slay the
dragon.</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
@@ -3110,9 +3107,6 @@ bad things might happen.</property>
<object class="GtkLabel" id="title_label">
<property name="label">Title:</property>
<property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="open_popover_entry"/>
- </accessibility>
</object>
</child>
<child>
@@ -3120,9 +3114,6 @@ bad things might happen.</property>
<property name="valign">start</property>
<property name="label">Description:</property>
<property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="open_popover_textview"/>
- </accessibility>
<layout>
<property name="top-attach">1</property>
</layout>
@@ -3138,9 +3129,6 @@ bad things might happen.</property>
<property name="max-content-width">100</property>
<child>
<object class="GtkTextView" id="open_popover_textview">
- <accessibility>
- <relation type="labelled-by" target="description_label"/>
- </accessibility>
</object>
</child>
<layout>
@@ -3153,9 +3141,6 @@ bad things might happen.</property>
<child>
<object class="GtkEntry" id="open_popover_entry">
<property name="activates-default">1</property>
- <accessibility>
- <relation type="labelled-by" target="title_label"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="column-span">2</property>
@@ -3234,9 +3219,6 @@ bad things might happen.</property>
<child>
<object class="GtkLabel">
<property name="label">No updates at this time</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
@@ -3245,9 +3227,6 @@ bad things might happen.</property>
<child>
<object class="GtkLabel">
<property name="label">You're in too deep!</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
diff --git a/testsuite/gtk/focus-chain/widget-factory2.ui b/testsuite/gtk/focus-chain/widget-factory2.ui
index f0456fb3ed..abe48c0222 100644
--- a/testsuite/gtk/focus-chain/widget-factory2.ui
+++ b/testsuite/gtk/focus-chain/widget-factory2.ui
@@ -2909,9 +2909,6 @@ bad things might happen.</property>
<property name="margin-top">20</property>
<property name="margin-bottom">20</property>
<property name="label" translatable="yes">To free the princess, you have to slay the
dragon.</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
@@ -3111,9 +3108,6 @@ bad things might happen.</property>
<object class="GtkLabel" id="title_label">
<property name="label">Title:</property>
<property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="open_popover_entry"/>
- </accessibility>
</object>
</child>
<child>
@@ -3121,9 +3115,6 @@ bad things might happen.</property>
<property name="valign">start</property>
<property name="label">Description:</property>
<property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="open_popover_textview"/>
- </accessibility>
<layout>
<property name="top-attach">1</property>
</layout>
@@ -3139,9 +3130,6 @@ bad things might happen.</property>
<property name="max-content-width">100</property>
<child>
<object class="GtkTextView" id="open_popover_textview">
- <accessibility>
- <relation type="labelled-by" target="description_label"/>
- </accessibility>
</object>
</child>
<layout>
@@ -3154,9 +3142,6 @@ bad things might happen.</property>
<child>
<object class="GtkEntry" id="open_popover_entry">
<property name="activates-default">1</property>
- <accessibility>
- <relation type="labelled-by" target="title_label"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="column-span">2</property>
@@ -3235,9 +3220,6 @@ bad things might happen.</property>
<child>
<object class="GtkLabel">
<property name="label">No updates at this time</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
@@ -3246,9 +3228,6 @@ bad things might happen.</property>
<child>
<object class="GtkLabel">
<property name="label">You're in too deep!</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
diff --git a/testsuite/gtk/focus-chain/widget-factory3.ui b/testsuite/gtk/focus-chain/widget-factory3.ui
index c4e4b679c3..02c485c4b7 100644
--- a/testsuite/gtk/focus-chain/widget-factory3.ui
+++ b/testsuite/gtk/focus-chain/widget-factory3.ui
@@ -2909,9 +2909,6 @@ bad things might happen.</property>
<property name="margin-top">20</property>
<property name="margin-bottom">20</property>
<property name="label" translatable="yes">To free the princess, you have to slay the
dragon.</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
@@ -3111,9 +3108,6 @@ bad things might happen.</property>
<object class="GtkLabel" id="title_label">
<property name="label">Title:</property>
<property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="open_popover_entry"/>
- </accessibility>
</object>
</child>
<child>
@@ -3121,9 +3115,6 @@ bad things might happen.</property>
<property name="valign">start</property>
<property name="label">Description:</property>
<property name="xalign">1</property>
- <accessibility>
- <relation type="label-for" target="open_popover_textview"/>
- </accessibility>
<layout>
<property name="top-attach">1</property>
</layout>
@@ -3139,9 +3130,6 @@ bad things might happen.</property>
<property name="max-content-width">100</property>
<child>
<object class="GtkTextView" id="open_popover_textview">
- <accessibility>
- <relation type="labelled-by" target="description_label"/>
- </accessibility>
</object>
</child>
<layout>
@@ -3154,9 +3142,6 @@ bad things might happen.</property>
<child>
<object class="GtkEntry" id="open_popover_entry">
<property name="activates-default">1</property>
- <accessibility>
- <relation type="labelled-by" target="title_label"/>
- </accessibility>
<layout>
<property name="left-attach">1</property>
<property name="column-span">2</property>
@@ -3235,9 +3220,6 @@ bad things might happen.</property>
<child>
<object class="GtkLabel">
<property name="label">No updates at this time</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
@@ -3246,9 +3228,6 @@ bad things might happen.</property>
<child>
<object class="GtkLabel">
<property name="label">You're in too deep!</property>
- <accessibility>
- <role type="static"/>
- </accessibility>
</object>
</child>
</object>
diff --git a/testsuite/gtk/meson.build b/testsuite/gtk/meson.build
index 8f1828aa0c..a2491a5c70 100644
--- a/testsuite/gtk/meson.build
+++ b/testsuite/gtk/meson.build
@@ -17,7 +17,6 @@ endif
# - 'suites': (array): additional test suites
tests = [
{ 'name': 'accel' },
- { 'name': 'accessible' },
{ 'name': 'action' },
{ 'name': 'adjustment' },
{ 'name': 'bitset' },
diff --git a/testsuite/gtk/notify.c b/testsuite/gtk/notify.c
index ddd806948d..02ba9478b9 100644
--- a/testsuite/gtk/notify.c
+++ b/testsuite/gtk/notify.c
@@ -373,8 +373,7 @@ test_type (gconstpointer data)
return;
/* non-GTK+ */
- if (g_str_equal (g_type_name (type), "AtkObject") ||
- g_str_equal (g_type_name (type), "GdkPixbufSimpleAnim"))
+ if (g_str_equal (g_type_name (type), "GdkPixbufSimpleAnim"))
return;
/* Deprecated, not getting fixed */
@@ -505,8 +504,7 @@ test_type (gconstpointer data)
continue;
/* non-GTK+ */
- if (g_str_equal (g_type_name (pspec->owner_type), "AtkObject") ||
- g_str_equal (g_type_name (pspec->owner_type), "GdkPixbufSimpleAnim") ||
+ if (g_str_equal (g_type_name (pspec->owner_type), "GdkPixbufSimpleAnim") ||
g_str_equal (g_type_name (pspec->owner_type), "GMountOperation"))
continue;
diff --git a/testsuite/meson.build b/testsuite/meson.build
index 47ce9a6134..64961f5dc7 100644
--- a/testsuite/meson.build
+++ b/testsuite/meson.build
@@ -42,6 +42,5 @@ subdir('gdk')
subdir('gsk')
subdir('gtk')
subdir('css')
-#subdir('a11y')
subdir('tools')
subdir('reftests')
diff --git a/testsuite/tools/simplify-data-3to4/grid.expected
b/testsuite/tools/simplify-data-3to4/grid.expected
index 5005cc0725..f14ad0d248 100644
--- a/testsuite/tools/simplify-data-3to4/grid.expected
+++ b/testsuite/tools/simplify-data-3to4/grid.expected
@@ -65,11 +65,6 @@
<child>
<object class="GtkSwitch" id="button6">
<property name="receives_default">1</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="button6-accessible">
- <property name="accessible-name">Test switch</property>
- </object>
- </child>
<layout>
<property name="left_attach">5</property>
<property name="top_attach">0</property>
diff --git a/testsuite/tools/simplify-data-3to4/grid.ui b/testsuite/tools/simplify-data-3to4/grid.ui
index 29a723c0a7..30c0314937 100644
--- a/testsuite/tools/simplify-data-3to4/grid.ui
+++ b/testsuite/tools/simplify-data-3to4/grid.ui
@@ -75,11 +75,6 @@
<property name="active">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="button6-accessible">
- <property name="accessible-name">Test switch</property>
- </object>
- </child>
</object>
<packing>
<property name="left_attach">5</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]