diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-10-31 17:00:45 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-10-31 17:17:02 +0100 |
commit | 693014c9d3dcbf3c649d775143918e531b6e3ac0 (patch) | |
tree | ac0fef8fdc8a2522810c5dd44a18d832b79a9b50 /sw/inc/unodraw.hxx | |
parent | 32bbe44e894a6575899418cff88f0ccdd5dae393 (diff) |
SwXShapesEnumeration: don't generate a set of TextBoxes for each shape
Instead, generate it once and then pass around that list. Again, this
helps ODF export.
For a test document of 2000 mail merge records and 16 frames, the times
for css::text::MailMerge::execute() are 7m53.575s -> 7m30.261s.
Change-Id: Iec993ec34392350b1e26857f7d5434a0a9c494a3
Diffstat (limited to 'sw/inc/unodraw.hxx')
-rw-r--r-- | sw/inc/unodraw.hxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sw/inc/unodraw.hxx b/sw/inc/unodraw.hxx index 540448dd6965..06b4c3004710 100644 --- a/sw/inc/unodraw.hxx +++ b/sw/inc/unodraw.hxx @@ -34,6 +34,7 @@ #include <com/sun/star/container/XEnumerationAccess.hpp> #include <com/sun/star/drawing/HomogenMatrix3.hpp> #include <svl/itemprop.hxx> +#include <set> class SdrMarkList; class SdrView; @@ -116,6 +117,9 @@ public: SwFmDrawPage* GetSvxPage(); // renamed and outlined to detect where it's called void InvalidateSwDoc(); // {pDoc = 0;} + SwDoc* GetDoc(); + /// Same as getByIndex(nIndex), except that it also takes a set of formats to ignore, so the method itself doesn't have to generate such a list. + css::uno::Any getByIndex(sal_Int32 nIndex, std::set<const SwFrmFmt*>* pTextBoxes) throw(css::lang::IndexOutOfBoundsException, css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception); }; class SwShapeDescriptor_Impl; |