dd5f021e08
While LO doesn't have any UNO a11y interface for table cells, the methods for the `AtkTableCell` interface can be implemented by using the methods from the `XAccessibleTable` interface of the table (which is the parent of the cell), similar to the way this was impemented for winaccessibility and the qt5/qt6/kf5 VCL plugins in commit97a88e30e2
Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Sep 8 14:37:53 2021 +0100 tdf#100086 tdf#124832 wina11y: Implement IAccessibleTableCell and commit6735a37747
Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Sep 21 14:47:51 2021 +0200 qt5 a11y: Implement QAccessibleTableCellInterface With this and the Orca commit to make use of the AT-SPI TableCell interface to query the position for a cell [1], announcing selected cells that have a cell/child index that doesn't fit into 32 bit now also works for the gtk3 VCL plugin, see the full commit message of commit206543c7be
Author: Michael Weghorn <m.weghorn@posteo.de> Date: Fri Sep 2 13:06:08 2022 +0200 [API CHANGE] tdf#150683 a11y: Switch a11y child index to 64 bit for more background information. In a quick test with Accerciser and the gtk3 VCL plugin as follows, the output looked as expected: 1) start LO Writer, "Table" -> "Insert Table" 2) select to create table with 2 rows, 2 columns 3) make sure "Heading" is checked, "Heading rows": 1 4) "Insert" 5) in the first row, type "First heading" into first column, "Second heading" into second column 5) start Accerciser 7) select the table cell element "A2" in Accerciser's treeview of the a11y hierarchy (which refers to the table cell in the second row, first column) 8) type these in Accerciser's IPython console: In [1]: acc.queryTableCell() Out[1]: <pyatspi.tablecell.TableCell at 0x7fa17cf2b550> In [2]: acc.queryTableCell().position Out[2]: (1, row=1, column=0) In [3]: acc.queryTableCell().rowSpan Out[3]: 1 In [4]: acc.queryTableCell().columnSpan Out[4]: 1 In [5]: acc.queryTableCell().get_table() Out[5]: <Atspi.Accessible object at 0x7fa17cf975c0 (AtspiAccessible at 0x55bfe77b4e10)> In [6]: acc.queryTableCell().get_table().name Out[6]: 'Table1-1' In [7]: acc.queryTableCell().get_columnHeaderCells()[0] Out[7]: <Atspi.Accessible object at 0x7fa17d2e7b00 (AtspiAccessible at 0x55bfe77ab240)> In [8]: acc.queryTableCell().get_columnHeaderCells()[0].name Out[8]: 'A1' [1]cb105d4d21
Change-Id: Ia6ee90bea5c2f2faef6ed269981702f36496a3e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139278 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
131 lines
3.9 KiB
Makefile
131 lines
3.9 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
# This file incorporates work covered by the following license notice:
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed
|
|
# with this work for additional information regarding copyright
|
|
# ownership. The ASF licenses this file to you under the Apache
|
|
# License, Version 2.0 (the "License"); you may not use this file
|
|
# except in compliance with the License. You may obtain a copy of
|
|
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
#
|
|
|
|
$(eval $(call gb_Library_Library,vclplug_gtk3_kde5))
|
|
|
|
$(eval $(call gb_Library_set_plugin_for,vclplug_gtk3_kde5,vcl))
|
|
|
|
# Silence deprecation warnings wholesale as long as vcl/unx/gtk3/*.cxx just
|
|
# forward to vcl/unx/gtk/*.cxx:
|
|
$(eval $(call gb_Library_add_cxxflags,vclplug_gtk3_kde5, \
|
|
-Wno-deprecated-declarations \
|
|
))
|
|
|
|
$(eval $(call gb_Library_set_include,vclplug_gtk3_kde5,\
|
|
$$(INCLUDE) \
|
|
-I$(SRCDIR)/vcl/inc \
|
|
-I$(SRCDIR)/vcl/unx \
|
|
-I$(SRCDIR)/vcl/unx/gtk3 \
|
|
))
|
|
|
|
$(eval $(call gb_Library_add_cxxflags,vclplug_gtk3_kde5,\
|
|
$$(INCLUDE) \
|
|
$$(GTK3_CFLAGS) \
|
|
$$(GSTREAMER_1_0_CFLAGS) \
|
|
))
|
|
|
|
$(eval $(call gb_Library_add_defs,vclplug_gtk3_kde5,\
|
|
-DVCLPLUG_GTK_IMPLEMENTATION -DVCLPLUG_GTK3_KDE5_IMPLEMENTATION \
|
|
-DVCL_INTERNALS \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_custom_headers,vclplug_gtk3_kde5,\
|
|
officecfg/registry \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_sdk_api,vclplug_gtk3_kde5))
|
|
|
|
$(eval $(call gb_Library_add_libs,vclplug_gtk3_kde5,\
|
|
$(GTK3_LIBS) \
|
|
-lX11 \
|
|
-lXext \
|
|
-lSM \
|
|
-lICE \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_libraries,vclplug_gtk3_kde5,\
|
|
svl \
|
|
tl \
|
|
utl \
|
|
sot \
|
|
ucbhelper \
|
|
basegfx \
|
|
comphelper \
|
|
cppuhelper \
|
|
i18nlangtag \
|
|
i18nutil \
|
|
$(if $(ENABLE_JAVA), \
|
|
jvmaccess) \
|
|
cppu \
|
|
sal \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_externals,vclplug_gtk3_kde5,\
|
|
boost_headers \
|
|
boost_filesystem \
|
|
epoxy \
|
|
dbus \
|
|
graphite \
|
|
harfbuzz \
|
|
kf5 \
|
|
))
|
|
|
|
$(eval $(call gb_Library_add_exception_objects,vclplug_gtk3_kde5,\
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkaction \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkbridge \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkcomponent \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkeditabletext \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkfactory \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkhypertext \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkimage \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atklistener \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkregistry \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkselection \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktable \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktablecell \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktextattributes \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atktext \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkutil \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkvalue \
|
|
vcl/unx/gtk3_kde5/a11y/gtk3_kde5_atkwrapper \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_customcellrenderer \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_gtkdata \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_gtkinst \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_gtksys \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_filepicker \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_filepicker_ipc \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_folderpicker \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_cairo \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_salnativewidgets-gtk \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_gtkframe \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_gtkobject \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_gtksalmenu \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_glomenu \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_gloactiongroup \
|
|
vcl/unx/gtk3_kde5/gtk3_kde5_hudawareness \
|
|
))
|
|
|
|
ifeq ($(OS),LINUX)
|
|
$(eval $(call gb_Library_add_libs,vclplug_gtk3_kde5,\
|
|
-lm \
|
|
-ldl \
|
|
))
|
|
endif
|
|
|
|
# vim: set noet sw=4 ts=4:
|