summaryrefslogtreecommitdiff
path: root/sw/inc/unodraw.hxx
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2014-10-31 17:00:45 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-10-31 17:17:02 +0100
commit693014c9d3dcbf3c649d775143918e531b6e3ac0 (patch)
treeac0fef8fdc8a2522810c5dd44a18d832b79a9b50 /sw/inc/unodraw.hxx
parent32bbe44e894a6575899418cff88f0ccdd5dae393 (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.hxx4
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;