tdf#119388 add new UNO listener/broadcaster
commitec940941e0bd7db15c5cf7d43df82226e0d849dc
authorNoel Grandin <noel.grandin@collabora.co.uk>
Tue, 20 Aug 2019 15:03:13 +0000 (20 17:03 +0200)
committerNoel Grandin <noel.grandin@collabora.co.uk>
Fri, 23 Aug 2019 13:11:27 +0000 (23 15:11 +0200)
treea876a500dfa6a32bc8b284b3b07525480ba60765
parent1d524bc7a331e8381e88cfd1b6dea4678ad32514
tdf#119388 add new UNO listener/broadcaster

so that we only need to fire each event to the exact shape that wants
it, instead of spamming all the shapes.
Takes deleting a column from 20s to 10s for me.

Note that none of the broadcasters are calling disposing(EventObject),
so I did not make XShapeEventListener extend lang::XEventListener.
If a memory leak regression points at this commit, possibly I
missed something.

Change-Id: I2b8db08247d3e0203d41faf77491368168994e4d
Reviewed-on: https://gerrit.libreoffice.org/77857
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
17 files changed:
include/sfx2/sfxbasemodel.hxx
include/svx/AccessibleControlShape.hxx
include/svx/AccessibleShape.hxx
include/svx/AccessibleShapeTreeInfo.hxx
offapi/UnoApi_offapi.mk
offapi/com/sun/star/document/XShapeEventBroadcaster.idl [new file with mode: 0644]
offapi/com/sun/star/document/XShapeEventListener.idl [new file with mode: 0644]
sc/source/ui/Accessibility/DrawModelBroadcaster.cxx
sc/source/ui/inc/DrawModelBroadcaster.hxx
sd/source/ui/accessibility/AccessibleDocumentViewBase.cxx
sd/source/ui/accessibility/AccessiblePageShape.cxx
sd/source/ui/inc/AccessiblePageShape.hxx
sfx2/source/doc/sfxbasemodel.cxx
svx/source/accessibility/AccessibleShape.cxx
svx/source/accessibility/AccessibleShapeTreeInfo.cxx
svx/source/accessibility/ChildrenManagerImpl.cxx
sw/source/core/access/accmap.cxx