summaryrefslogtreecommitdiff
path: root/accessibility/inc/standard/vclxaccessiblemenuitem.hxx
AgeCommit message (Collapse)Author
2024-12-04a11y: Move menu a11y classes to vcl, no more use factoryMichael Weghorn
Other than most of the a11y implementations for vcl classes, VCLXAccessiblePopupMenu etc. do not make use of any VCLXWindow (i.e. UNO/toolkit wrapper of a vcl::Window) and thus do not depend on the toolkit module, which the accessibility module depends on. Therefore, there's also no need to use the accessible factory to create them (which is needed when toolkit classes are involved to avoid a dependency cycle). Move those classes from the accessibility module to vcl and add a new method Menu::CreateAccessible and move the logic from AccessibleFactory::createAccessible there. Drop the now unnecessary factory methods previously used for those classes. No change in behavior intended (yet), but this also simplifies the code involved for the tdf#164093 scenario. Change-Id: Ie3f6f1a02bf6662206d31383473cdc868e1f9164 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177812 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-01-15loplugin:unnecessaryvirtualNoel Grandin
Change-Id: I14ee125874b6f0f1ff5406a3eafea0b19df1a7f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162082 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-19tdf#123864 a11y: Handle new checkable state for VCLXAccessibleMenuItemMichael Weghorn
Add reporting for the new CHECKABLE a11y state introduced in commit d6c6472bbe1c90b733a4d69c4c8528f4de3750d3 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon Nov 13 15:53:44 2023 +0100 tdf#123864 a11y: Add new AccessibleStateType::CHECKABLE for `VCLXAccessibleMenuItem`. `MenuItemData::HasCheck` looks like it already provides what's needed to say whether an item is checkable, therefore add a `Menu::IsItemCheckable` that makes use of this and and a `VCLXAccessibleMenuItem::IsCheckable` that makes use of that in turn. Extend `VCLXAccessibleMenuItem::FillAccessibleStateSet` to use the latter to report the CHECKABLE state accordingly. Change-Id: Id23196ef2527a71a338102a5143a8bd6fd41db84 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160902 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-01-27Use ImplInheritanceHelper in VCLXAccessibleMenuItemStephan Bergmann
Change-Id: I0eca36225c2a43e2ba90253c013fefe43b2f29a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146232 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-07-08[API CHANGE] Drop css::accessibility::XAccessibleStateSetNoel Grandin
which is internal API, unused (as far as I can tell) by external users. This state is purely a bitset (as implemented by utl::AccessibleStateSetHelper) so we can just return it as a 64-bit value. This shaves significant time off the performance profiles of code that loads very complex shapes, because this state is frequently used, and we no longer need to allocate a return value on the heap for every call. Change-Id: Icf1b3bd367c256646ae9015f9127025f59459c2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136786 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-28a11y: Add XAccessibleValue::getMinimumIncrement methodMichael Weghorn
Add a method 'getMinimumIncrement' to the XAccessibleValue interface. The method returns the minimal increment by which the value represented by the object can be adjusted. The main motivation is to expose this to AT-SPI, so it can be retrieved e.g. by libatspi's 'atspi_value_get_minimum_increment' function [1], s. the note in Change-Id: I8af326c2d24c1801147a56ea2e2a886ab42ac634 "a11y: Expose FormattedField as spinbox" for more details. The implementation relevant for the 'FormattedField' class is in 'SVTXAccessibleNumericField::getMinimumIncrement', which returns the spin size. While at it, also move the comment in sw/source/core/access/acccell.hxx mentioning what methods are overriden for the 'XAccessibleValue' interface to the right place. [1] https://developer.gnome.org/libatspi/stable/libatspi-atspi-value.html#atspi-value-get-minimum-increment Change-Id: Ie148a4e1cedbdbb5964f8565c81611d3480465cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119596 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2020-05-07tdf#118418 implement scrollSubstringTo() for gtkColomban Wendling
Define & use new accessibility scroll type compatible with IAccessible2 and extend the XAccessibleText interface to require scrollSubstringTo(). Co-authored-by: Martin Pieuchot <mpi@grenadille.net> Change-Id: Id3b2e8616892d7dcbfb41a14b72a8a457fd1dbf6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89851 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-28tdf#124176: Use "pragma once" on accessibility/*Andrea Gelmini
It passed "make check" on Linux Change-Id: I62f45125264e15a8edd8a48964ec78c4a9598485 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85915 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-12-03remove some useless comment linesNoel Grandin
which merely announce that the next declaration is a class Change-Id: Ifdb1398bcd99816b13e0b3769b46d0562bfbc1dc Reviewed-on: https://gerrit.libreoffice.org/84229 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-13accessibility: simplify getSelection when possibleArnaud Versini
Change-Id: I187716bca329da0aeae9fec9f48a45a9df386130 Reviewed-on: https://gerrit.libreoffice.org/50688 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-18Accessibility : cleanup constructors and destructors.Arnaud Versini
Change-Id: I63f94f4bb3865d0c2d211567588343e08878342c Reviewed-on: https://gerrit.libreoffice.org/49282 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-13Remove OCommonAccessibleText::getText and getCharacterCount.Arnaud Versini
No need to create helper for those methods. Change-Id: I0505fe8141b1bad852b7f30aeb69628fb6a90071 Reviewed-on: https://gerrit.libreoffice.org/44649 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-15accessibility: remove useless calls to virtual methods.Arnaud Versini
This also removes a lot of useless recursive locks. Change-Id: Ifee7dbf2095bf0431eb27e8022e7f5299c46388f Reviewed-on: https://gerrit.libreoffice.org/42122 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-07Revert "accessibility: remove useless calls to getAccessibleActionCount."Markus Mohrhard
This reverts commit e2c14a6caabbb6413ae7b1e631a0a89f7b2ba4c7. Change-Id: I6dc99c8ad9c6f15d6b1273338d96bc7909253ad9 Reviewed-on: https://gerrit.libreoffice.org/40815 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-08-05accessibility: remove useless calls to getAccessibleActionCount.Arnaud Versini
This also removes a lot of useless recursive locks. Change-Id: Ie7f337683146bb5738f11b8f9194e73437312f03 Reviewed-on: https://gerrit.libreoffice.org/40325 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-26Remove dynamic exception specificationsStephan Bergmann
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-05-27Get rid of unnecessary directory levels $D/inc/$DTor Lillqvist
Change-Id: Ibf313b8948a493043006ebf3a8281487c1f67b48 Reviewed-on: https://gerrit.libreoffice.org/25532 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>