At the only caller, a reference to the concrete implementation
class, MSAAServiceImpl, is available, so there is no need
to go via the UNO abstraction for this method call.
This also allows to switch the param to vcl::Window*, instead
of casting back and forth.
Drop the method from the unpublished UNO interface that
is only meant to be used internally to implement the
Windows a11y bridge.
Change-Id: I59033028ca31243ec350739fd9b078ddedc1cd34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201771
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
All of the other services in the textfield namespace can be added to a
Writer document via insertTextContent so it’s quite reasonable to think
that URL should work too. This patch just adds a note to the
documentation to help people discover the HyperLinkURL text property
which works better in a Writer document.
Change-Id: If00336dac8676ded98f02d03c6e67e366ac867b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201147
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Tested-by: Jenkins
A bunch of places in the documentation in the IDL files were starting a
new paragraph with a <p> tag and a line that is more indented than the
previous one. This ends up making a preformatted code section in a
monospace font in the generated HTML docs and the <p> tag is visible.
This patch just moves the lines to the left to have the same indentation
as the previous one. These were found by running the following Python
script on the generated HTML files:
from bs4 import BeautifulSoup
import sys
for filename in sys.argv[1:]:
with open(filename) as fp:
soup = BeautifulSoup(fp, 'html.parser')
for pre in soup.find_all("pre", class_="fragment"):
if pre.string.find("<p>") != -1:
print(f"{filename}:{pre.sourceline}:"
f"{str(pre).split('\n')[0]}")
Change-Id: If351a5be24b21b24a4d7892a9185353e8691feb1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201134
Tested-by: Jenkins
Reviewed-by: Neil Roberts <bpeeluk@yahoo.co.uk>
Drop the unpublished service
"com.sun.star.awt.AccessibleDropDownComboBox"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
Also drop VCLXAccessibleDropDownComboBox::getImplementationName
as there is no need to report a different implementation name
than the base class implementation.
Change-Id: Icd30779791122e8d07da477ae78e60234f3bbbb3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200968
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
"com.sun.star.awt.AccessibleDropDownListBox"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
Also drop the mention of only specific parent classes/services
for the AccessibleList parent, as that is not/no longer true
(and will change further as more unnecessary a11y services
will be dropped in upcoming commits).
Also drop VCLXAccessibleDropDownListBox::getImplementationName
as there is no value in reporting a different implementation name
than the base class implementation.
Change-Id: Ia8a3274fcbc061662759e74a21ebfd67c2d5840a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200966
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
"com.sun.star.accessibility.AccessibleListItem".
It is unused, not implemented by anything.
Change-Id: I4e78c2cd5375b5fad8e74e6d9b4956e9109442f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200965
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
"com.sun.star.accessibility.AccessibleListItem"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
Change-Id: Ieb1d1f7d21a57a3487335072a706edee437c6207
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200964
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
"com.sun.star.awt.AccessibleTreeListBox"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
Change-Id: I98e6e241d17ddc725977a393e8d5da0c7d9569e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200963
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
"com.sun.star.awt.AccessibleToolBox"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
Also drop VCLXAccessibleToolBox::getImplementationName
altogether because the implementation name of a11y
classes isn't relevant.
Change-Id: I9b7be7b6f5843f8ec0a132ecbe8bee1b895a0b9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200961
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
"com.sun.star.awt.AccessibleToolBoxItem"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
Change-Id: I9b01a0fadd995f55e13981dd495be458a3ba2f1f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200960
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Drop the unpublished service
"com.sun.star.awt.AccessibleIconChoiceControl"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
Change-Id: Ifceae0c816284ad598e193920a07cc316d59db12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200958
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Drop the unpublished service
"com.sun.star.drawing.AccessibleGraphControl"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service and that documentation is
outdated, e.g. it claims the role is AccessibleRole::LABEL,
but AccessibleIconChoiceCtrlEntry::getAccessibleRole
actually returns AccessibleRole::LIST_ITEM.)
Change-Id: I8d6eff6e7ba5023ecaa731a4c55b4db3e7223aa0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200955
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Drop the unpublished service
"com.sun.star.drawing.AccessibleGraphControl"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
Change-Id: I73c26b228ded2f080f99f0828fff794682bc0849
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200954
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This leverages the existing framework for embindtest to add interfaces
and services to test with. Hopefully that means the tests will run on
the CI without ending up in the final release builds because they are
only enabled with --enable-embindtest-uno.
Change-Id: Idd394e616ad14943cecd60bf3a3e228d93166e34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199105
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
If one of the entries in the arguments array for callFunction is a void
type it will now be interpreted as a missing argument. This makes it
possible to call calc functions where a missing argument is meaningful
such as the “replacement” argument to REGEX().
This is a minor API change because previously passing VOID would throw
an IllegalArgumentException. It seems unlikely that anyone would have
been relying on that though so I think the change is pretty harmless.
Change-Id: Iaa4500300e9b4b88a7bdfdc153c67c42cd783525
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200287
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
...and remain invisible after save.
After 0b9e4f6085 shapes did get
hidden, but in case of wrap-around shapes text still flowed
around their supposed placement.
Hidden images were simply shown before and after.
Add a new Visible property to SwXTextGraphicObject, and let
it set SwFlyDrawObj's Visible member as SdrObject.
Import and export wp:docPr's hidden attribute in OOXML based
on these properties.
To avoid showing their area, let
SwAnchoredObject::GetObjRectWithSpaces() return an empty
rectangle (during opening this is only called from
SwTextFly's IsAnyObj(...) and InitAnchoredObjList(), though).
Note that Writer lacks support of changing visibility of
images and shapes. This change adds minimal support for
hiding them and roundtripping the setting in DOCX, but
doesn't add ODF or UI support.
Change-Id: I6e9d062628006a7128e380d1af06508625aa3d06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197056
Tested-by: Jenkins
Reviewed-by: Aron Budea <aron.budea@collabora.com>
Drop the unpublished service
"com.sun.star.formula.AccessibleFormulaView".
It is completely unused and not implemented by
anything.
A search in Google and on Ask [1] also didn't give
any results that would suggest this unpublished service
could be relevant for third party code.
[1] https://ask.libreoffice.org/
Change-Id: I487a60bc599dd53bd6f07e506e0a7d436d35043a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197123
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Drop the unpublished service
"com.sun.star.formula.AccessibleFormulaText".
It is completely unused and not implemented by
anything.
A search in Google and on Ask [1] also didn't give
any results that would suggest this unpublished service
could be relevant for third party code.
[1] https://ask.libreoffice.org/
Change-Id: I95e1632e8f431785dc49f793d21040f828a23aec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197122
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Drop the unpublished service
"com.sun.star.drawing.AccessibleShape"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y classes
implementing the service.)
A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
could be relevant for third party code.
(Instances of the service couldn't be created by external
code anyway.)
[1] https://ask.libreoffice.org/
Change-Id: Ib9cc4143bb5e5f32a149bda63d6ac6b72c1a099f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197116
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the unpublished service
"com.sun.star.drawing.AccessibleGraphicShape"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
could be relevant for third party code.
(Instances of the service couldn't be created by external
code anyway.)
[1] https://ask.libreoffice.org/
Change-Id: I96c693f8307e1815b0dc2d79cae77e4a671285db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197115
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Drop the unpublished service
"com.sun.star.drawing.AccessibleOLEShape"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)
A search in Google and on Ask [1] didn't give
any results that would suggest this unpublished service
could be relevant for third party code.
(Instances of the service couldn't be created by external
code anyway.)
[1] https://ask.libreoffice.org/
Change-Id: Id078b38399715ed0f014ef18d45aeeca8e44486b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197114
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
XAccessibleExtendedComponent::getFont was dropped in
commit a2c1a337f0
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Dec 4 15:36:59 2024 +0100
[API CHANGE] a11y: Drop XAccessibleExtendedComponent::getFont
, so don't refer to it in the AccessibleShape
doc any more.
This addresses the warning mentioned in [1]:
> Now there is this warning when building:
>
>> E:/jenkins/workspace/gerrit_windows_wsl/offapi/com/sun/star/drawing/AccessibleShape.idl:164:
>> warning: explicit link request to
>> 'com::sun::star::accessibility::XAccessibleExtendedComponent::getFont()'
>> could not be resolved
>
> See e.g. https://ci.libreoffice.org/job/gerrit_windows_wsl/6486/consoleFull
[1] https://gerrit.libreoffice.org/c/core/+/177809/comments/d829fa46_3e3b2353
Change-Id: I75e80b07c8a57b29889c90bf28a05264c25f501c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197078
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Add new minimum character limit paragraph property to limit
hyphenation left to the compound constituent boundaries:
com::sun::star::text::ParaHyphenationCompoundMinTrailingChars
– With the previous option for the hyphenation right to the
constituent boundary, this new option allow to limit or disable
hyphenation completely inside the compound constituents, or
hyphenate only at constituent boundaries, with or without
inside the suffix of the word or constituents;
– xmloff: add "no-limit" to loext:hyphenation-compound-push-char-count
and loext:hyphenation-compound-push-char-count;
– "no-limit" values of this and the *LeadingChars option mean
a maximum value. When both *LeadingChars and *TrailingChars
got "no-limit", hyphenation before and inside the suffixes are
forbidden, i.e. it is allowed only at constituent boundaries;
– textflowpage.ui: set max character count to 99, in both options;
– fix ParaHyphenationCompoundMinLeadingChars implementation for
compound words with multiple constituents, when the middle word(s)
are shorter, than the limit (e.g. Hungarian "tűz|kő|pattintás"
wasn't hyphenated as "tűzkő-pattintás", only as "tűz-kőpattintás").
Follow-up to commit 3a332d9f1c
"tdf#158885 cui offapi sw xmloff: fix hyphenation at stem boundary"
and commit c899d3608d
"tdf#158885 sw: don't hyphenate right after a stem boundary".
Change-Id: I0b71562727332217364f9ace85e8ac6ea3abc8b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196345
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
* Introduces a new option ValidationAlertStyle_NONE/SC_VALERR_NONE to
silently reject invalid values
(This is the behavior before c869fb5ea2)
* Sets the disabled state depending on "[ ] Handle invalid values"
(previously "Show Error on loading")
The patch is motivated by bug 159595 respectively the inconsistent
solution. Excel either allows invalid data or shows a message that
allows to change/reject/accept the input. But there is not way to
silently reject invalid data.
The new option does not survive round trips and will be reset to Stop.
Change-Id: I33c965aa7ba999e5850b80d35964b5383928349d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195563
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Mainly useful for debugging and to see the content with develop.
tools. For now it just outputs the JSON string, but this might
change to something more concise.
Change-Id: I5641d20f292495f5474755ab9c3b651f67aa6f6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195617
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
...in preparation for doing fixes for tdf#169229 "PyUNO: Hard to create null UNO
interface references, to use in a method invocation" etc. (Basing it on
embindtest means it requires --enable-embindtest-uno, at least for now.)
Various places in pyuno/qa/pytests/embindtest.py are marked with TODO comments.
(Executing
> v = test.getAnyException()
would cause an odd
> Fatal Python error: _Py_CheckFunctionResult: a function returned a result with an exception set
failure that needs further investigation.)
To not only test calls from PyUNO to binary (C++) UNO, but also from binary
(C++) UNO to PyUNO, add an executeTest method to the
org.libreoffice.embindtest.XTest interface. For now, it only does those tests
that were already done by the org.libreoffice.embindtest.BridgeTest service
implementation, but the plan is to extend those (e.g., don't just only test
getAnyVoid, but all the getAny... variants). And the corresponding Test class
implementation in pyuno/qa/pytests/embindtest.py for now only defines those
methods that are actually called, and will need to be extended as well.
Change-Id: I0dd66b9aed14cc7e679da78b86d0dc657625fe94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195238
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins
Support import, storage, and export of OOXML chart color styles
(color sequence). In OOXML, chart color styles are in files such
as colors1.xml, and conform to the chartStyle schema. This commit
supports I/O of color styles, and provides supports storing them
in the chart document model. It does not include any features for
using or modifying the color styles, so at this point it has no
appreciable effect on users.
Change-Id: I5c02137ebf9c25e11951eea55c4c77fda35b0e80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194998
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
has been a TODO item since initial import
Also un-deprecate the XShapeGroup interface.
There was no rationale given why it was deprecated and it seems
the functionality is not available elsewhere.
Change-Id: I8fd54d3732fd0ec1c54a2d1b2874e958a77b011e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194409
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
The existing methods of XUITest to execute a command always use the
active frame to dispatch the command. All of the dbaccess UI tests end
up creating subcomponents (such as the table edit view) and need to send
commands to that. The frames for those are not the “active” frame but
only the “current” frame. All of the tests have ended up making a copy
of a helper function to dispatch to a particular provider. To avoid that
duplication this patch moves it to a common helper directly in XUITest.
This will also make it possible to use the method from test.py in a
later patch.
Note that the order of the arguments has been swapped around to match
that of comphelper::dispatchCommand.
Change-Id: I274fe12e4dfec0bf78359d0e2b70a3cf4db5528c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194348
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Bring back the com.sun.star.ui.dialogs.ColorPicker service
previously dropped in
commit 5ba0ccb296
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Jun 16 08:01:55 2025 +0200
[API CHANGE] Drop ColorPicker, AsynchronousColorPicker
The unpublished com::sun::star::cui::ColorPicker and
com::sun::star::cui::AsynchronousColorPicker UNO services
were previously used to be able to use ColorPickerDialog
(implemented in cui) from svtools.
That's no longer the case since
commit 0905c23676
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Jun 13 18:27:09 2025 +0200
Stop using UNO abstraction for color picker
, so drop the now unused services and the ColorPicker
class that implemented them.
While the service was unpublished and undocumented, it was
still used in practice by third party code, see for
example the macro in [1] and further discussion in Gerrit
change [2].
Therefore bring back the service, but with a new
implementation in vcl that no longer uses the ColorPickerDialog
implemented in cui directly, but instead uses the
weld::ColorChooserDialog abstraction introduced in
commit dae9472b27
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Jul 25 14:26:06 2025 +0200
tdf#167669 weld: Introduce weld::ColorChooserDialog
which supports the use of the native platform/toolkit
color dialogs (currently implemented for GTK and Qt), see
tdf#167669.
Don't reintroduce evaluation of the "Mode" parameter
to set a vcl::ColorPickerMode because that seems unused
by third-party code according to a quick Google search.
This makes the macro from [1] work again, and results in
the native GTK and Qt color pickers being used for the
case of the gtk3/qt6 VCL plugins on Linux.
[1] https://forum.openoffice.org/en/forum/viewtopic.php?f=21&t=99268
[2] https://gerrit.libreoffice.org/c/core/+/186538/comments/3af0d3d8_8b843d4e
Change-Id: Ic0f2ce2b289f37bf1fb32192d0f3b3deb99121ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194172
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
this is the same concept/ideas as
a12bd4fedfc3f269f1dbb5fea36b607facd1261d
[API CHANGE] sd pdfium: add page number when saving/loading pdf pages as images
but extended to support fodg where the problem of showing the first page
of the pdf for all images remained.
Change-Id: I5a180037634f71104800e09bec400316b56ab1f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193156
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
I think this will be useful when you want to manipulate a window that
doesn’t have a unique ID and is difficult to get access to but you can
make it get the keyboard focus via UNO commands or keyboard shortcuts.
Change-Id: Iafc41dda7c3fdc1b15a62875fe3aa7efc88dcbe5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193172
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Implements support for ODF fo:text-align start and end in paragraph
styles. The new alignment options can be selected in the paragraph
dialog. Further user interface changes are tracked as separate bugs.
This change also adds START and END to css.style.ParagraphAdjust, which
is flagged as an incompatible UNO API change.
Change-Id: I2ee57f0029de7b794bc1ecd3eddbbd90af5dfdb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192932
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Moved the most recent UNO interface change to the end of the file,
and added a reference to the version number in which it was introduce.
Note that the initial change was made with [1], but it wasn't marked
as [API CHANGE].
[1] 33bbf0bd20
Change-Id: I03d84f3092787c7daa1ab6a3c49c8f751b34868c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192591
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
... instead of STATIC.
This was originally changed from AccessibleRole::TEXT
to AccessibleRole::LABEL and then AccessibleRole::STATIC
in
commit fa775ed30a
Date: Tue Feb 20 13:55:53 2018 +0100
tdf#86661 a11y: give ROLE_LABEL to read-only edit
ROLE_TEXT is for editable text, ROLE_LABEL should be used for static text,
so that screen readers know they should speak it.
and
commit ac475d8d6f
Date: Wed Aug 8 13:39:31 2018 +0200
tdf#116542 a11y: Make R/O accessibleedit use STATIC role
as improvement to tdf#86661 which had made it a LABEL as first improvement
over TEXT.
. However, that distinction between TEXT and STATIC
for editable vs. readonly objects doesn't match what
platform a11y APIs actually use, which focus more
on the object being interactive or not, and
an edit is a control that can receive keyboard
focus, so is interactive.
Quoting from the ATSPI_ROLE_TEXT doc [1]:
> An interactive widget that supports multiple lines of text and
> optionally accepts user input, but whose purpose is not to solicit user
> input. Thus ATSPI_ROLE_TEXT is appropriate for the text view in a plain
> text editor but inappropriate for an input field in a dialog box or web
> form. For widgets whose purpose is to solicit input from the user, see
> ATSPI_ROLE_ENTRY and ATSPI_ROLE_PASSWORD_TEXT.
Quoting from the AT_SPI_ROLE_STATIC doc [2]:
> A generic non-container object whose purpose is to display a brief
> amount of information to the user and whose role is known by the
> implementor but lacks semantic value for the user. Examples in which
> ATSPI_ROLE_STATIC is appropriate include the message displayed in a
> message box and an image used as an alternative means to display text.
> ATSPI_ROLE_STATIC should not be applied to widgets which are
> traditionally interactive, objects which display a significant amount of
> content, or any object which has an accessible relation pointing to
> another object. The displayed information, as a general rule, should be
> exposed through the accessible name of the object. For labels which
> describe another widget, see ATSPI_ROLE_LABEL. For text views, see
> ATSPI_ROLE_TEXT.
VclMultiLineEdit (for which VCLXAccessibleEdit
is the a11y implementation) is used in
SalInstanceTextView, i.e. used for implementing
a text view, for which the above suggests to
use ATSPI_ROLE_TEXT.
GTK 3 also reports a read-only GtkTextView with
AT_SPI_ROLE_TEXT (and not having the
ATSPI_STATE_EDITABLE state), so this commit also aligns
it with that.
The MSAA/IAccessible doc [3] also matches for this.
> ROLE_SYSTEM_TEXT
>
> The object represents selectable text that allows
> edits or is designated as read-only.
and
> ROLE_SYSTEM_STATICTEXT
>
> The object represents read-only text, such as labels
> for other controls or instructions in a dialog box.
> Static text cannot be modified or selected.
In LO, text in readonly edits can be selected,
so that also makes ROLE_SYSTEM_TEXT more appropriate.
Therefore, use AccessibleRole::TEXT again.
This makes the NVDA screen reader on Windows announce the
status text in the "Help" -> "Check for Updates" dialog
(requires --enable-online-update autogen option).
Also update the AccessibleRole idl description
accordingly to align better with the AT-SPI and MSAA/IAccessible
semantics as described above.
If the STATIC role is preferred in a particular case,
it can still explicitly set for the corresponding
widget in the .ui file.
[1] https://docs.gtk.org/atspi2/enum.Role.html#text
[2] https://docs.gtk.org/atspi2/enum.Role.html#static
[3] https://learn.microsoft.com/en-us/windows/win32/winauto/object-roles
Change-Id: I58f35864eedb1b527c1af651f88612ef96678138
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192017
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
The element <table:sort> has the values 'alpha-numeric', 'double' and
'integer' in its attribute embedded-number-behavior in ODF. The member
bNaturalSort in ScSortParam covers only 'alpha-numeric' and 'double'.
The patch replaces the member bNaturalSort of ScSortParam with a new
eSortNumberBehavior. That takes the three values from enum
ScSortNumberBehavior. Only the parameter 'SfxBoolItem NaturalSort
SID_SORT_NATURALSORT' in SID_SORT is kept so that existing macros that
use it still work.
Change-Id: I2a346223767a5a4aae79bac5fa08e608b0cea503
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191159
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>