123 Commits
Author SHA1 Message Date
Gabor Kelemen 94d987edc2 tdf#146619 Use more forward declarations in include/toolkit
Change-Id: I46b4f8c398662b2826f7e4bf90f43750e3569667
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198240
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-02-07 00:41:15 +01:00
Noel Grandin 6d0e5ddede remove BitmapEx
all use-sites have been converted to Bitmap

Change-Id: I1a8842217a266eef100bd387ab013b004e532256
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190618
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-09-05 19:45:45 +02:00
Simon Chenery 18034109ea tdf#143148 replace include guards with pragma once in dir include/toolkit
Change-Id: I3d17e4db89c1299aabdc633da769ecb8ff646434
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189834
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2025-08-25 20:46:59 +02:00
Noel Grandin 0a4405f9aa BitmapEx->Bitmap in VCLUnoHelper::CreateBitmap
now that Bitmap can handle transparency

Change-Id: I1de94ef39e00d16b052573ee323886953b574570
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188968
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-05 21:07:56 +02:00
Noel Grandin 497a4090de use more concrete UNO classes
Change-Id: I94202657c9338596f0b16c63bab110d3af7d94df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186519
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-06-15 22:43:12 +02:00
Michael Weghorn d8a908c28f toolkit: Drop unnecessary XWindow2 param specialization
XWindow2 subclasses XWindow, so there's no need for
a VCLUnoHelper::GetWindow variant taking an XWindow2
reference that does the same as the variant taking
an XWindow reference.

Change-Id: I6f931252d2ae2e046dc31c076094e71b8aa71346
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185273
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-05-15 06:47:39 +02:00
Gabor Kelemen 72df5a6fdf Drop unneeded forward declarations from include/
test drive the new bin/find-unneeded-includes --fwdecl mode

Change-Id: I507fa2b172ec9e348d1d91066ea241f02187b5ed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179321
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2025-01-03 09:32:27 +01:00
Michael Weghorn 90c3d4b17f a11y: Merge toolkit::IAccessibleFactory into vcl one
toolkit::IAccessibleFactory and
vcl::IAccessibleFactory are abstract classes
providing methods to retrieve the XAccessible or
XAccessibleContext for different vcl widgets.

Both are implemented by the same class in the
accessibility module: AccessibleFactory

Merge toolkit::IAccessibleFactory into
vcl::IAccessibleFactory to have things in
one place, and have everything in vcl, i.e.
no longer part of it in toolkit that itself
depends on vcl.

Change-Id: I5da571899c9987267cbec2950630d0c44ff4d2f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178643
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-12-17 22:56:38 +01:00
Michael Weghorn 168512dce7 a11y: Stop using VCLXWindow in vcl a11y classes
Adjust VCLXAccessibleComponent and subclasses to take
a vcl::Window arg instead of a VCLXWindow in the ctor
and drop the VCLXAccessibleComponent::m_xVCLXWindow member
that used to hold a reference to the VCLXWindow.
(VCLXAccessibleComponent still holds a VclPtr
to the corresponding vcl::Window.)

Instead of passing the UNO/toolkit peer (VCLXWindow
and subclasses) to the AccessibleFactory to create
an XAccessibleContext context for the underlying VCL
widget, pass the underlying vcl widget, which can
now be passed as is to the corresponding ctors
of VCLXAccessibleComponent and specialized subclasses.

This follows earlier commits replacing the use of the
VCLXWindow classes by direct uses of the vcl::Window
subclasses inside VCLXAccessibleComponent and subclasses
and is the next step in reducing the UNO/toolkit
dependency in the accessibility implementation for
vcl widgets.

For now, the logic where those accessible objects
are created remains in VCLXWindow::CreateAccessibleContext
and overrides, but that can change in the future.

`IAccessibleFactory::createAccessibleContext(VCLXMultiLineEdit*)`
is just dropped and doesn't need its own replacement:
The previous VCLXMultiLineEdit variant was
creating a VCLXAccessibleEdit like the variant
taking a VCLXEdit, but VCLXMultiLineEdit doesn't
subclass VCLXEdit.
The vcl MultiLineEdit however subclasses Edit,
so VCLXMultiLineEdit::CreateAccessibleContext can make
use of `IAccessibleFactory::createAccessibleContext(Edit*)`
as well now.

This also implements what was mentioned in earlier
commit

    Change-Id: I67bb7a6a237e57d0c522790c09a595c02ac06325
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Dec 12 17:16:29 2024 +0100

        sw annotation win a11y: Skip VCLXWindow logic

:

> Drop the comment about the code being dodgy from
> SwAnnotationWin::CreateAccessible. This commit partially
> addresses it and switching VCLXAccessibleComponent
> to using the vcl::Window will take care of the rest,
> see upcoming commit
> Change-Id If0894e733273eecad268c6a932ecee7c2e34b4c2
> ("a11y: Stop using VCLXWindow in vcl a11y classes").

Now that the VCLXAccessibleComponent ctor takes a
vcl::Window, the sw::annotation::SwAnnotationWin
can be passed directly.

From a user perspective, no change in behavior is
intended by this commit.

Change-Id: If0894e733273eecad268c6a932ecee7c2e34b4c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178385
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-12-12 23:02:33 +01:00
Michael Weghorn 739b071650 a11y: Move menu a11y classes to vcl, no more use factory
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-12-04 20:47:30 +01:00
Michael Weghorn 3d780e72b9 Move helpers for css::awt/VCL point/rect/size to vcl::unohelper
Move helpers to convert between the Rectangle, Point and Size
classes in vcl and in css::awt from VCLUnoHelper (in the toolkit module)
to vcl::unohelper (in the vcl module), for reuse in vcl in upcoming
commits.

Change-Id: I7b11c8a6b8c843a01ce25b1e4c0fb1869ad1e6ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177816
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-12-04 20:47:14 +01:00
Michael Weghorn 2fdee9fd60 Unify/Port to use VCLUnoHelper for AWT <-> VCL conversions
Following

    Change-Id: Id48f81deb05aee2026509037f7d14575735e5be0
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Wed Jul 10 14:49:03 2024 +0200

        VCLUnoHelper: Align AWT <-> VCL helpers with convert.hxx impl

, port all uses of the helper functions defined in
`include/toolkit/helper/convert.hxx` to use the
`VCLUnoHelper` equivalents instead, to unify usage
and avoid duplication.

Drop `include/toolkit/helper/convert.hxx` now that
it's unused.

Change-Id: I22695a93e40e47bb2b14d191a2e0a4eb7c856895
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170317
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-07-11 06:44:48 +02:00
Michael Weghorn f111fbf5d5 VCLUnoHelper: Align AWT <-> VCL helpers with convert.hxx impl
There are currently (at least) 2 sets of helpers
for converting from AWT to VCL point, rectangle
and size classes - and the other way around:

* the ones in `include/toolkit/helper/convert.hxx`
* the ones provided by `VCLUnoHelper`

Align the `VCLUnoHelper` implementations with the
ones in `include/toolkit/helper/convert.hxx` and
make them inline as well.

Switch params from the specific subclasses to the
more generic base classes as well
(e.g. `css::awt::Point` -> `PointTemplateBase`).

Otherwise, `VCLUnoHelper::ConvertToVCLRect` is the only one
that didn't implement the functionality in the
exact same way as the counterpart, `VCLRectangle`,
as it was manually calculating the right and bottom
edges.

The `VCLRectangle` implementation
gives the same result for valid rects, so take over
that one. (It shouldn't make a difference for the
only 2 current callers, `ControlHolder::getPosSize`
and `VCLXGraphics::clear`.)

This commit is in preparation of consolidating all uses
to use the `VCLUnoHelper` variants and getting
rid of the other one in following commits.

Change-Id: Id48f81deb05aee2026509037f7d14575735e5be0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170316
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-07-11 06:44:28 +02:00
Stephan Bergmann d98e014cf6 Extended loplugin:ostr manual changes
I had done these a while ago, when I looked into extending loplugin:ostr to do
more automatic rewriting, and these were places where I needed to do something
manually, for one reason or another, because the automatic rewriting would not
pick it up correctly.

However, I got distracted, and a wholesale automatic rewrite would still run
into cases where an _ostr/_ustr instance from a library's .rodata would still be
referenced after the library has already been dlcose'd.  So I never came around
to finishing all that.

But there appears to be renewed interest in (automatic) rewritings here now, so
it probably makes sense if I share this part of my work anyway.

Change-Id: I3da9d38398e4bca373cb0000a9d34b49a36ad58a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166792
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
2024-04-28 11:29:52 +02:00
Michael Weghorn a766f7555c tdf#104833 a11y: Use VCLXAccessibleEdit for VCLXMultiLineEdit
Instead of the generic `VCLXAccessibleComponent`,
use `VCLXAccessibleEdit` as a11y class for
`VCLXMultiLineEdit` (the component interface
class for MultiLineEdit) as well, not just for `VCLXEdit`.

With the preparatory changes from

    Change-Id I8218db61feb07605f6ea5309f26eebd38312458a
    tdf#104833 a11y: Don't use VCLXEdit in VCLXAccessibleEdit

in place, it behaves as expected when interacting
with the multi line edit from the sample dialog in
attachment 189287 in tdf#104833 using Accerciser and
the qt6 or gtk3 VCL plugin (and the text can also be
edited when removing the readonly flag from the control)
or the update dialog (which uses UNO controls,
`UnoControlEditModel` for the panes that were not
announced, s. extensions/source/update/check/updatehdl.cxx ).

In particular, the a11y text interface is supported by
the multi line edit on the a11y layer, which makes
Orca with the gtk3 VCL plugin announce the text content
when the control gets focused.

NVDA on Windows still announces "Checking..." instead
of using the actual text that would be retrievable via
the IAccessibleText interface now. This is probably
because "Checking..." is the (outdated) accessible name,
as can be seen by interacting with the object in NVDA's
Python console:

    >>> focus.name
    'Checking...'
    >>> txt = focus.IAccessibleTextObject
    >>> txt.text(0, txt.nCharacters)
    'LibreOfficeDev 24.2 is up to date.'

For both, gtk3 and qt6, the a11y object does have the
new text as a11y name as well, as can be verified in
Accerciser:

    In [10]: acc.name
    Out[10]: 'LibreOfficeDev 24.2 is up to date.'
    In [11]: txt = acc.queryText()
    In [12]: txt.getTextAtOffset(0,3)
    Out[12]: ('LibreOfficeDev 24.2 is up to date.', 0, 34)

Change-Id: Id80e191cdd5342b3215fdb9d2ad3847470366337
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156402
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-09-01 16:13:31 +02:00
Noel Grandin b6b26421a1 split Point/Size/Rectangle into AbsoluteScreenPixel* types
to attempt to make it obvious in code what kind of coordinate
system we are dealing with.

The idea is that by doing this, the compile-time type checking
will flush out inconsistencies between different code.

I started with vcl::Window::OutputToAbsoluteScreenPixel
and worked outwards from there.

Change-Id: Ia967d7a0bb38886695f3a761b85c8b9340ddb1c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154676
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-02 08:13:15 +02:00
Noel Grandin cd52832249 move a toolkit header inside the module
It is only used inside the module, no need to be public

Change-Id: Ibd8445ecbb67624569ee7225f0bdf6d9c041dab4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151569
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-09 18:12:21 +02:00
Noel Grandin 9ff063eeab use std::unordered_map for static properties in toolkit
which is faster than binary lookup

Change-Id: Ia810313af36c75fd9b5b241704f0cbd66afcb6b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150189
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-10 21:51:49 +02:00
Noel Grandin 30784e55e4 convert UnoControlModel and friends to use std::mutex
Which means creating a variant of the cppuhelper::OPropertySetHelper
helper class which uses a std::mutex.
Since we can do virtual base classes now (which the original could not), use that and a new helper
class comphelper::UnoImplBase to share
    std::mutex m_aMutex;
    bool m_bDisposing;
fields that the OPropertySetHelper wants to share with the parent class.

Change-Id: I05ad465a3d3653ed4e109137e3e1c58190da8d97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148474
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-13 06:49:21 +00:00
Noel Grandin c405820c8e deduplicate MutexAndBroadcastHelper
there are two very similar classes, standardise on the one in
include/comphelper

Change-Id: If85729dcea01e65a2d095bb211fe643c783ebf1f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148442
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-08 12:38:51 +00:00
Noel Grandin 1f49d8ad7a BaseMutex->std::mutex in ListenerMultiplexerBase
Change-Id: Icd565c83ca3b4afb1a846a637b7943b0498487e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147457
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-22 11:47:11 +00:00
Noel Grandin d640bfe776 remove dependency from drawinglayer to framework
to try and untangle the dependency mess a little.

This means

(*) tunneling a piece of information from VCLXWindow via
the XWindowPeer::getProperty method, so
we do not need to directly call VCLXWindow.

(*) moving some formpdf code from framework "down" to vcl,
where the drawinglayer code can use it

Change-Id: I2c1ff3e34941b3147e66cf0a2d0fdb13293e3aa2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144341
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-19 06:42:39 +00:00
Noel Grandin f0030353b3 loplugin:unusedmethods
Change-Id: I5dcba14a9b0dfcc5267760410f6d135fcd3b1bd2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142944
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-19 06:10:20 +01:00
Ilhan Yesil ba164651bb tdf#149797 Change highlight background color in some controls
The highlight and highlighttext colors can be set for some
controls. So as example a selected item in a listbox can now
be paint with anothers colors then the standard blue. Controls
are: listbox, combobox, edit field and some special edit
fields like date, currency and others.

Change-Id: Iace2dd9a1a61abb7819b6c81eb0b8030912db32b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136691
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2022-09-19 13:30:15 +02:00
Stephan Bergmann 91ba9654ba Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxx
...so that its TOOLS_WARN_EXCEPTION can be used in
comphelper/source/misc/logging.cxx in a follow-up commit.  (And while at it,
rename from diangose_ex.h to the more appropriate diagnose_ex.hxx.  The
comphelper module is sufficiently low-level for this immediate use case, so use
that at least for now; o3tl might be even more suitable but doesn't have a
Library until now.  Also, for the immediate use case it would have sufficed to
only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION,
TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of
include/tools/diagnose_ex.h into an additional new
include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move
the complete include file as is.)

Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-18 17:10:19 +02:00
Noel Grandin 4c72b9d08a use more cppu::BaseMutex
Change-Id: I9defebeb9cb0ba22df3578c8aae7501add36a11c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127078
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-18 19:49:53 +01:00
Caolán McNamara b2aa646ef0 use more OInterfaceContainerHelper3 in toolkit
Change-Id: I3861a254d660662cbf575e9669cbacba36634856
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126855
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-12-16 16:34:29 +01:00
Mike Kaganski c131f32fcf Prepare for removal of non-const operator[] from Sequence in include
Change-Id: I85ca453f3add5ac5b59dc6f1ccb2cdb55f0a463c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124333
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-28 20:09:19 +02:00
Michael Weghorn 349a8801b9 a11y: Expose FormattedField as spinbox
This adds a new accessibility class 'SVTXAccessibleNumericField'
that implements 'XAccessibleValue' and reports having an a11y
role of 'AccessibleRole::SPIN_BOX'. An object of that class
is returned by 'SVTXNumericField::CreateAccessibleContext'.

Create an 'SVTXNumericField' XWindow peer for windows
of type 'WindowType::FORMATTEDFIELD'
(instead of a 'VCLXNumericField' one), so the
newly introduced accessibility class gets used for
'FormattedField'.

This way, FormattedFields are now exposed to a11y tools
as spinboxes.

Previously, since no specific accessibility class
had been implemented for VCLXNumericField (then used as
XWindow peer class for FormattedField), the
one for VCLXEdit, i.e. VCLXAccessibleEdit, was used.

While VCLXNumericField implements XNumericField
and thus in general offers the relevant methods to implement
an accessible class that implements XAccessibleValue as well,
it uses the Formatter from the VCLXFormattedSpinField base class
to get/set values. However, that doesn't work for the FormattedField
case, since FormattedField has its own formatter of a different
type and the 'mpFormatter' member in the VCLXFormattedSpinField
base class is a nullptr, resulting in the corresponding
getter methods always returning 0 and the setters doing nothing.

With this commit in place, Accerciser now reports role
"spin box" instead of just "text" for FormattedFields
and displays the current value as well as allows to change
it via the "Value" interface when using the qt5/kf5 VCL plugin.

Note: For non-integer values, Accerciser doesn't show the actual
decimal value, but an integer, e.g. when the value for "Height"
spinbox in Writer's "Page Style" -> "Page" dialog (section "Paper
format") is set to "29.70cm", Accerciser shows "30" instead of
"29.70", despite 'Qt5AccessibleWidget::currentValue' returning
the exact value. This is because Accerciser appears to rely
on the value for the minimum increment being reported (as a
corresponding decimal value) by a call
to 'atspi_value_get_minimum_increment', s.[1].
However, there is currently no corresponding method in the
'XAccesibleValue' interface for that at-spi method which
'Qt5AccessibleWidget::currentValue' could call to retrieve
the value.

The NVDA screen reader on Windows now also says e.g.
"Width: (Type = 344)  spin button  editable  Alt+W  selected 8.50″"
instead of "Width: (Type = 344)  edit  Alt+W  selected 8.50″".

[1] https://developer.gnome.org/libatspi/stable/libatspi-atspi-value.html#atspi-value-get-minimum-increment

Change-Id: I8af326c2d24c1801147a56ea2e2a886ab42ac634
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119590
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-28 15:44:58 +02:00
Stephan Bergmann 10d29c390d throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite
Change-Id: I076f16d0536b534abf0ced4d76051eadb4c0e033
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114949
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-02 17:02:28 +02:00
Gabor Kelemen 2633d5f97f Recheck include/ with IWYU
See tdf#42949 for motivation

Change-Id: Ifc253bf800bb1468b5774663a93f4fb30bec81d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113657
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-04-09 11:56:36 +02:00
Caolán McNamara 396dfdd216 move set/get Pointer to VCLUnoHelper
Change-Id: I7dadc7bc881e0b892720b3eb89fdc60c8d87c541
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113776
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-08 13:23:04 +02:00
Noel Grandin 1aa31294b2 avoid some ref-counting
can just return a pointer here, instead of VclPtr.

Change-Id: I9ab8962cbbe84ed4dfcfd658a6d758112914cb89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109923
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-25 20:21:48 +01:00
Philipp Hofer 01baeab998 tdf#123936 Formatting files in module include with clang-format
Change-Id: I0507dd797cd5a35e0ae14f4b69ee4e172d08a71a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105681
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
2020-11-21 13:19:17 +01:00
Noel Grandin da7489eb6a compact namespace decl
used
   git grep -lw namespace
    | xargs perl -i -p0e 's/(\w+)\s*.\{.\s*namespace\s*(\w+)/\1::\2/smg;'
 to do the initial replace, then compiled and fixed.

Change-Id: If69904d75940c851aeffab0e78c4ba02cc968d44
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98526
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-20 10:12:57 +02:00
Noel Grandin 47cd34a60f use more compact namespace syntax in /include
excluding the UDK headers of course

Change-Id: Iac7ab83d60265f7d362c860776f1de9d5e444ec0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93268
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-03 09:21:51 +02:00
Armin Le Grand ae743c6fae Make BitmapPrimitive2D vcl-independent
as preparation to have drawinglayer module
independent from vcl in the future

Change-Id: Iaa01370f27b51cba5114a54f37d1ec73d0719918
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92048
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2020-04-10 20:37:52 +02:00
Noel Grandin 0115964362 make more classes private in mergedlibs mode
Change-Id: I486922d0652f26fa7ee56f5fe308e19fe5ff137e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90856
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-23 12:05:36 +01:00
Noel Grandin b389b59587 make some symbols private
Change-Id: I3115dda50e77dc6a335e46026724641c08c04030
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89949
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-04 19:28:04 +01:00
Noel Grandin fcf39ae78e move some toolkit/ headers inside the module
Change-Id: I88badb1eb586db00a350afbcd6f4903a5623c724
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87988
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-05 07:11:33 +01:00
Pelin Kuran f61ed40fff tdf#124176: Use pragma once instead of header guard
Change-Id: Id28874549342349fb2727c3cb8e92da1dcdb727c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87513
Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
Tested-by: Muhammet Kara <muhammet.kara@collabora.com>
2020-01-27 21:44:04 +01:00
Noel Grandin b0543bb714 sal_Char->char in toolkit
Change-Id: I3016c8c672beb5a2d5f772f8a2ddc0047088e1da
Reviewed-on: https://gerrit.libreoffice.org/85743
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-23 15:12:20 +01:00
Noel Grandin e189a3f5b5 make some classes module private
Mark some stuff SAL_DLLPUBLIC_RTTI in
    include/vcl/metaact.hxx
in order to make ASAN happy.

Change-Id: I97febe0968bf58b9cbe60ce647f0ada25e6f4bb0
Reviewed-on: https://gerrit.libreoffice.org/84202
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-05 07:01:44 +01:00
Noel Grandin f656547d4d remove some useless comment lines
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>
2019-12-03 12:46:27 +01:00
Noel Grandin a6e682faa6 find symbols that can be private
update the script and make private standalone functions

Change-Id: Icb26ce258107700c90f89ad4e0d3329d075a2eb1
Reviewed-on: https://gerrit.libreoffice.org/81879
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-03 11:14:44 +01:00
Noel Grandin 6d830c6e26 loplugin:finalclasses framework
Change-Id: Ide6531c29fd44003a3235dbd75af79fec0d94678
Reviewed-on: https://gerrit.libreoffice.org/81727
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-30 10:24:42 +01:00
Gabor Kelemen bb16f6597d tdf#42949 Fix IWYU warnings in toolkit/
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: Ib49e2f29daa6d9b2a8195915c4ba10a8cef965ce
Reviewed-on: https://gerrit.libreoffice.org/78722
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-09-18 09:14:48 +02:00
Stephan Bergmann cf07303e21 Improved loplugin:stringconstant (now that GCC 7 supports it): toolkit
Change-Id: I598d89be70d476663ffef95029015cba17bf09b9
Reviewed-on: https://gerrit.libreoffice.org/76636
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-07-31 12:53:40 +02:00
Andrea Gelmini c7ed73e52f Fix typos
Change-Id: Ia7486fe6c110a4a7f53f1dac82dbff3a15405fd7
Reviewed-on: https://gerrit.libreoffice.org/75947
Tested-by: Jenkins
Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2019-07-19 17:36:13 +02:00
Arkadiy Illarionov 32eeb405d7 tdf#39593 remove IMPL_XUNOTUNNEL* macros
Replace with UNO3_GETIMPLEMENTATION* macros.
Replace single usage of IMPL_XUNOTUNNEL_MINIMAL with it's body.

Change-Id: I7d4ad76399b999ebb2178ecf57edcf6bd2aa6c3e
Reviewed-on: https://gerrit.libreoffice.org/73424
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-04 09:06:43 +02:00