summaryrefslogtreecommitdiff
path: root/xmloff/inc/xmloff/txtparae.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'xmloff/inc/xmloff/txtparae.hxx')
-rw-r--r--xmloff/inc/xmloff/txtparae.hxx748
1 files changed, 748 insertions, 0 deletions
diff --git a/xmloff/inc/xmloff/txtparae.hxx b/xmloff/inc/xmloff/txtparae.hxx
new file mode 100644
index 000000000000..5bb042c5c0ce
--- /dev/null
+++ b/xmloff/inc/xmloff/txtparae.hxx
@@ -0,0 +1,748 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: txtparae.hxx,v $
+ * $Revision: 1.7 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _XMLOFF_TEXTPARAE_HXX_
+#define _XMLOFF_TEXTPARAE_HXX_
+
+#include "sal/config.h"
+#include "xmloff/dllapi.h"
+#include <rtl/ustring.hxx>
+#include <com/sun/star/uno/Reference.h>
+#include <com/sun/star/uno/Sequence.h>
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include <xmloff/uniref.hxx>
+#include <xmloff/xmlexppr.hxx>
+#include <xmloff/styleexp.hxx>
+#include <xmloff/xmltoken.hxx>
+#include <xmloff/SinglePropertySetInfoCache.hxx>
+#include <xmloff/XMLStringVector.hxx>
+
+// --> OD 2008-04-25 #refactorlists#
+class XMLTextListsHelper;
+#include <vector>
+// <--
+
+class SvXMLExport;
+class SvXMLAutoStylePoolP;
+class XMLTextFieldExport;
+class OUStrings_Impl;
+class OUStringsSort_Impl;
+class XMLTextNumRuleInfo;
+class XMLTextListAutoStylePool;
+class SvLongs;
+class XMLSectionExport;
+class XMLIndexMarkExport;
+class XMLRedlineExport;
+struct XMLPropertyState;
+class MultiPropertySetHelper;
+
+namespace com { namespace sun { namespace star
+{
+ namespace beans { class XPropertySet; class XPropertyState;
+ class XPropertySetInfo; }
+ namespace container { class XEnumerationAccess; class XEnumeration; class XIndexAccess; }
+ namespace text { class XTextContent; class XTextRange; class XText;
+ class XFootnote; class XTextFrame; class XTextSection;
+ class XTextField;
+ class XDocumentIndex; class XTextShapesSupplier; }
+} } }
+
+namespace xmloff
+{
+ class OFormLayerXMLExport;
+ class BoundFrameSets;
+}
+
+class XMLOFF_DLLPUBLIC XMLTextParagraphExport : public XMLStyleExport
+{
+
+// SvXMLExport& rExport;
+ SvXMLAutoStylePoolP& rAutoStylePool;
+ UniReference < SvXMLExportPropertyMapper > xParaPropMapper;
+ UniReference < SvXMLExportPropertyMapper > xTextPropMapper;
+ UniReference < SvXMLExportPropertyMapper > xFramePropMapper;
+ UniReference < SvXMLExportPropertyMapper > xAutoFramePropMapper;
+ UniReference < SvXMLExportPropertyMapper > xSectionPropMapper;
+ UniReference < SvXMLExportPropertyMapper > xRubyPropMapper;
+
+ const ::std::auto_ptr< ::xmloff::BoundFrameSets > pBoundFrameSets;
+ XMLTextFieldExport *pFieldExport;
+ OUStrings_Impl *pListElements;
+ // --> OD 2008-05-07 #refactorlists# - no longer needed
+// OUStringsSort_Impl *pExportedLists;
+ // <--
+ XMLTextListAutoStylePool *pListAutoPool;
+ XMLSectionExport *pSectionExport;
+ XMLIndexMarkExport *pIndexMarkExport;
+
+ /// may be NULL (if no redlines should be exported; e.g. in block mode)
+ XMLRedlineExport *pRedlineExport;
+ XMLStringVector *pHeadingStyles;
+
+ sal_Bool bProgress;
+
+ sal_Bool bBlock;
+
+ // keep track of open rubies
+ ::rtl::OUString sOpenRubyText;
+ ::rtl::OUString sOpenRubyCharStyle;
+ sal_Bool bOpenRuby;
+
+ // --> OD 2008-05-07 #refactorlists#
+ XMLTextListsHelper* mpTextListsHelper;
+ ::std::vector< XMLTextListsHelper* > maTextListsHelperStack;
+ // <--
+
+ enum FrameType { FT_TEXT, FT_GRAPHIC, FT_EMBEDDED, FT_SHAPE };
+
+protected:
+
+ const ::rtl::OUString sActualSize;
+ // --> OD 2009-07-22 #i73249#
+// const ::rtl::OUString sAlternativeText;
+ const ::rtl::OUString sTitle;
+ const ::rtl::OUString sDescription;
+ // <--
+ const ::rtl::OUString sAnchorCharStyleName;
+ const ::rtl::OUString sAnchorPageNo;
+ const ::rtl::OUString sAnchorType;
+ const ::rtl::OUString sBeginNotice;
+ const ::rtl::OUString sBookmark;
+ const ::rtl::OUString sCategory;
+ const ::rtl::OUString sChainNextName;
+ const ::rtl::OUString sCharStyleName;
+ const ::rtl::OUString sCharStyleNames;
+ const ::rtl::OUString sContourPolyPolygon;
+ const ::rtl::OUString sDocumentIndex;
+ const ::rtl::OUString sDocumentIndexMark;
+ const ::rtl::OUString sEndNotice;
+ const ::rtl::OUString sFootnote;
+ const ::rtl::OUString sFootnoteCounting;
+ const ::rtl::OUString sFrame;
+ const ::rtl::OUString sFrameHeightAbsolute;
+ const ::rtl::OUString sFrameHeightPercent;
+ const ::rtl::OUString sFrameStyleName;
+ const ::rtl::OUString sFrameWidthAbsolute;
+ const ::rtl::OUString sFrameWidthPercent;
+ const ::rtl::OUString sGraphicFilter;
+ const ::rtl::OUString sGraphicRotation;
+ const ::rtl::OUString sGraphicURL;
+ const ::rtl::OUString sHeight;
+ const ::rtl::OUString sHoriOrient;
+ const ::rtl::OUString sHoriOrientPosition;
+ const ::rtl::OUString sHyperLinkName;
+ const ::rtl::OUString sHyperLinkTarget;
+ const ::rtl::OUString sHyperLinkURL;
+ const ::rtl::OUString sIsAutomaticContour;
+ const ::rtl::OUString sIsCollapsed;
+ const ::rtl::OUString sIsPixelContour;
+ const ::rtl::OUString sIsStart;
+ const ::rtl::OUString sIsSyncHeightToWidth;
+ const ::rtl::OUString sIsSyncWidthToHeight;
+ const ::rtl::OUString sNumberingRules;
+ const ::rtl::OUString sNumberingType;
+ const ::rtl::OUString sPageDescName;
+ const ::rtl::OUString sPageStyleName;
+ const ::rtl::OUString sParaChapterNumberingLevel;
+ const ::rtl::OUString sParaConditionalStyleName;
+ const ::rtl::OUString sParagraphService;
+ const ::rtl::OUString sParaStyleName;
+ const ::rtl::OUString sPositionEndOfDoc;
+ const ::rtl::OUString sPrefix;
+ const ::rtl::OUString sRedline;
+ const ::rtl::OUString sReferenceId;
+ const ::rtl::OUString sReferenceMark;
+ const ::rtl::OUString sRelativeHeight;
+ const ::rtl::OUString sRelativeWidth;
+ const ::rtl::OUString sRuby;
+ const ::rtl::OUString sRubyAdjust;
+ const ::rtl::OUString sRubyCharStyleName;
+ const ::rtl::OUString sRubyText;
+ const ::rtl::OUString sServerMap;
+ const ::rtl::OUString sShapeService;
+ const ::rtl::OUString sSizeType;
+ const ::rtl::OUString sSoftPageBreak;
+ const ::rtl::OUString sStartAt;
+ const ::rtl::OUString sSuffix;
+ const ::rtl::OUString sTableService;
+ const ::rtl::OUString sText;
+ const ::rtl::OUString sTextContentService;
+ const ::rtl::OUString sTextEmbeddedService;
+ const ::rtl::OUString sTextEndnoteService;
+ const ::rtl::OUString sTextField;
+ const ::rtl::OUString sTextFieldService;
+ const ::rtl::OUString sTextFrameService;
+ const ::rtl::OUString sTextGraphicService;
+ const ::rtl::OUString sTextPortionType;
+ const ::rtl::OUString sTextSection;
+ const ::rtl::OUString sUnvisitedCharStyleName;
+ const ::rtl::OUString sVertOrient;
+ const ::rtl::OUString sVertOrientPosition;
+ const ::rtl::OUString sVisitedCharStyleName;
+ const ::rtl::OUString sWidth;
+ const ::rtl::OUString sWidthType;
+ const ::rtl::OUString sTextFieldStart;
+ const ::rtl::OUString sTextFieldEnd;
+ const ::rtl::OUString sTextFieldStartEnd;
+
+ SinglePropertySetInfoCache aCharStyleNamesPropInfoCache;
+
+// SvXMLExport& GetExport() { return rExport; }
+// const SvXMLExport& GetExport() const { return rExport; }
+
+ UniReference < SvXMLExportPropertyMapper > GetParaPropMapper() const
+ {
+ return xParaPropMapper;
+ }
+
+ UniReference < SvXMLExportPropertyMapper > GetTextPropMapper() const
+ {
+ return xTextPropMapper;
+ }
+
+ UniReference < SvXMLExportPropertyMapper > GetFramePropMapper() const
+ {
+ return xFramePropMapper;
+ }
+ UniReference < SvXMLExportPropertyMapper > GetAutoFramePropMapper() const
+ {
+ return xAutoFramePropMapper;
+ }
+ UniReference < SvXMLExportPropertyMapper > GetSectionPropMapper() const
+ {
+ return xSectionPropMapper;
+ }
+ UniReference < SvXMLExportPropertyMapper > GetRubyPropMapper() const
+ {
+ return xRubyPropMapper;
+ }
+
+
+ SvXMLAutoStylePoolP& GetAutoStylePool() { return rAutoStylePool; }
+ const SvXMLAutoStylePoolP& GetAutoStylePool() const { return rAutoStylePool; }
+
+public:
+ ::rtl::OUString FindTextStyle(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ sal_Bool& rbHasCharStyle ) const;
+ ::rtl::OUString FindTextStyleAndHyperlink(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ sal_Bool& rbHyperlink,
+ sal_Bool& rbHasCharStyle,
+ sal_Bool& rbHasAutoStyle,
+ const XMLPropertyState** pAddState = NULL) const;
+ sal_Bool addHyperlinkAttributes(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertyState > & rPropState,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySetInfo > & rPropSetInfo );
+
+ void exportTextRangeEnumeration(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::container::XEnumeration > & rRangeEnum,
+ sal_Bool bAutoStyles, sal_Bool bProgress,
+ sal_Bool bPrvChrIsSpc = sal_True );
+
+protected:
+
+ sal_Int32 addTextFrameAttributes(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet >& rPropSet,
+ sal_Bool bShape,
+ ::rtl::OUString *pMinHeightValue = 0 );
+
+ virtual void exportStyleAttributes(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::style::XStyle > & rStyle );
+
+ void exportPageFrames( sal_Bool bAutoStyles, sal_Bool bProgress );
+ void exportFrameFrames( sal_Bool bAutoStyles, sal_Bool bProgress,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextFrame > *pParentTxtFrame = 0 );
+
+ void exportNumStyles( sal_Bool bUsed );
+
+ void exportText(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XText > & rText,
+ sal_Bool bAutoStyles, sal_Bool bProgress, sal_Bool bExportParagraph );
+
+ void exportText(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XText > & rText,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextSection > & rBaseSection,
+ sal_Bool bAutoStyles, sal_Bool bProgress, sal_Bool bExportParagraph );
+
+ sal_Bool exportTextContentEnumeration(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::container::XEnumeration > & rContentEnum,
+ sal_Bool bAutoStyles,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextSection > & rBaseSection,
+ sal_Bool bProgress,
+ sal_Bool bExportParagraph = sal_True,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > *pRangePropSet = 0,
+ sal_Bool bExportLevels = sal_True );
+ void exportParagraph(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ sal_Bool bAutoStyles, sal_Bool bProgress,
+ sal_Bool bExportParagraph,
+ MultiPropertySetHelper& rPropSetHelper);
+ virtual void exportTable(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ sal_Bool bAutoStyles, sal_Bool bProgress );
+
+ void exportTextField(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextRange > & rTextRange,
+ sal_Bool bAutoStyles, sal_Bool bProgress );
+
+ void exportTextField(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextField> & xTextField,
+ const sal_Bool bAutoStyles, const sal_Bool bProgress,
+ const sal_Bool bRecursive );
+
+ void exportAnyTextFrame(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ FrameType eTxpe,
+ sal_Bool bAutoStyles, sal_Bool bProgress, sal_Bool bExportContent,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > *pRangePropSet = 0 );
+ void _exportTextFrame(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySetInfo > & rPropSetInfo,
+ sal_Bool bProgress );
+ inline void exportTextFrame(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ sal_Bool bAutoStyles, sal_Bool bProgress, sal_Bool bExportContent,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > *pRangePropSet = 0 );
+ inline void exportShape(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ sal_Bool bAutoStyles,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > *pRangePropSet = 0 );
+
+ void exportContour(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySetInfo > & rPropSetInfo );
+ void _exportTextGraphic(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySetInfo > & rPropSetInfo );
+ inline void exportTextGraphic(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ sal_Bool bAutoStyles,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > *pRangePropSet = 0 );
+
+ virtual void _collectTextEmbeddedAutoStyles(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet );
+ virtual void _exportTextEmbedded(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySetInfo > & rPropSetInfo );
+ inline void exportTextEmbedded(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ sal_Bool bAutoStyles,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > *pRangePropSet = 0 );
+ virtual void setTextEmbeddedGraphicURL(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet >& rPropSet,
+ ::rtl::OUString& rStreamName ) const;
+
+ /// export a footnote and styles
+ void exportTextFootnote(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ const ::rtl::OUString& sString,
+ sal_Bool bAutoStyles, sal_Bool bProgress );
+
+ /// helper for exportTextFootnote
+ void exportTextFootnoteHelper(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::text::XFootnote > & rPropSet,
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::text::XText> & rText,
+ const ::rtl::OUString& sString,
+ sal_Bool bAutoStyles,
+ sal_Bool bIsEndnote, sal_Bool bProgress );
+
+ /// export footnote and endnote configuration elements
+ void exportTextFootnoteConfiguration();
+
+ void exportTextFootnoteConfigurationHelper(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySet> & rFootnoteSupplier,
+ sal_Bool bIsEndnote);
+
+ void exportTextMark(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySet> & xPropSet,
+ const ::rtl::OUString sProperty,
+ const enum ::xmloff::token::XMLTokenEnum pElements[],
+ sal_Bool bAutoStyles);
+
+ void exportIndexMark(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySet> & rPropSet,
+ sal_Bool bAutoStyles);
+
+ void exportSoftPageBreak(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySet> & rPropSet,
+ sal_Bool bAutoStyles);
+
+ void exportTextRange(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextRange > & rTextRange,
+ sal_Bool bAutoStyles,
+ sal_Bool& rPrevCharWasSpace );
+
+ void exportListChange( const XMLTextNumRuleInfo& rPrvInfo,
+ const XMLTextNumRuleInfo& rNextInfo );
+
+ /// check if current section or current list has changed;
+ /// calls exortListChange as appropriate
+ void exportListAndSectionChange(
+ ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextSection > & rOldSection,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextSection > & rNewSection,
+ const XMLTextNumRuleInfo& rOldList,
+ const XMLTextNumRuleInfo& rNewList,
+ sal_Bool bAutoStyles );
+
+ /// overload for exportListAndSectionChange;
+ /// takes new content rather than new section.
+ void exportListAndSectionChange(
+ ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextSection > & rOldSection,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rNewContent,
+ const XMLTextNumRuleInfo& rOldList,
+ const XMLTextNumRuleInfo& rNewList,
+ sal_Bool bAutoStyles );
+ void exportListAndSectionChange(
+ ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextSection > & rOldSection,
+ MultiPropertySetHelper& rPropSetHelper,
+ sal_Int16 nTextSectionId,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rNewContent,
+ const XMLTextNumRuleInfo& rOldList,
+ const XMLTextNumRuleInfo& rNewList,
+ sal_Bool bAutoStyles );
+
+ /// export a redline text portion
+ void exportChange(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ sal_Bool bAutoStyle);
+
+ /// export a ruby
+ void exportRuby(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySet> & rPortionPropSet,
+ sal_Bool bAutoStyles );
+
+ /// export a text:meta
+ void exportMeta(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::beans::XPropertySet> & i_xPortion,
+ sal_Bool i_bAutoStyles, sal_Bool i_isProgress );
+
+public:
+
+ XMLTextParagraphExport(
+ SvXMLExport& rExp,
+ SvXMLAutoStylePoolP & rASP
+ );
+ virtual ~XMLTextParagraphExport();
+
+ /// add autostyle for specified family
+ void Add(
+ sal_uInt16 nFamily,
+ MultiPropertySetHelper& rPropSetHelper,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ const XMLPropertyState** pAddState = NULL );
+ void Add(
+ sal_uInt16 nFamily,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ const XMLPropertyState** pAddState = NULL, bool bDontSeek = false );
+
+ /// find style name for specified family and parent
+ ::rtl::OUString Find(
+ sal_uInt16 nFamily,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > & rPropSet,
+ const ::rtl::OUString& rParent,
+ const XMLPropertyState** pAddState = NULL ) const;
+
+ static SvXMLExportPropertyMapper *CreateShapeExtPropMapper(
+ SvXMLExport& rExport );
+ static SvXMLExportPropertyMapper *CreateCharExtPropMapper(
+ SvXMLExport& rExport);
+ static SvXMLExportPropertyMapper *CreateParaExtPropMapper(
+ SvXMLExport& rExport);
+ static SvXMLExportPropertyMapper *CreateParaDefaultExtPropMapper(
+ SvXMLExport& rExport);
+
+ // This methods exports all (or all used) styles
+ void exportTextStyles( sal_Bool bUsed
+ , sal_Bool bProg = sal_False
+ );
+
+ /// This method exports (text field) declarations etc.
+ void exportTextDeclarations();
+
+ /// export the (text field) declarations for a particular XText
+ void exportTextDeclarations(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XText > & rText );
+
+ /// true: export only those declarations that are used;
+ /// false: export all declarations
+ void exportUsedDeclarations( sal_Bool bOnlyUsed );
+
+ /// Export the list of change information (enclosed by <tracked-changes>)
+ /// (or the necessary automatic styles)
+ void exportTrackedChanges(sal_Bool bAutoStyle);
+
+ /// Export the list of change information (enclosed by <tracked-changes>)
+ /// (or the necessary automatic styles)
+ void exportTrackedChanges(const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XText > & rText,
+ sal_Bool bAutoStyle );
+
+ /// Record tracked changes for this particular XText
+ /// (empty reference stop recording)
+ /// This should be used if tracked changes for e.g. footers are to
+ /// be exported seperately via the exportTrackedChanges(sal_Bool,
+ /// Reference<XText>) method.
+ void recordTrackedChangesForXText(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XText > & rText );
+
+
+ /// Stop recording tracked changes.
+ /// This is the same as calling recordTrackedChanges(...) with an
+ /// empty reference.
+ void recordTrackedChangesNoXText();
+
+
+ // This method exports the given OUString
+ void exportText(
+ const ::rtl::OUString& rText,
+ sal_Bool& rPrevCharWasSpace );
+
+ // This method collects all automatic styles for the given XText
+ void collectTextAutoStyles(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XText > & rText,
+ sal_Bool bIsProgress = sal_False,
+ sal_Bool bExportParagraph = sal_True )
+ {
+ exportText( rText, sal_True, bIsProgress, bExportParagraph );
+ }
+
+ void collectTextAutoStyles(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XText > & rText,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextSection > & rBaseSection,
+ sal_Bool bIsProgress = sal_False,
+ sal_Bool bExportParagraph = sal_True )
+ {
+ exportText( rText, rBaseSection, sal_True, bIsProgress, bExportParagraph );
+ }
+
+ // It the model implements the xAutoStylesSupplier interface, the automatic
+ // styles can exported without iterating over the text portions
+ bool collectTextAutoStylesOptimized(
+ sal_Bool bIsProgress = sal_False );
+
+ // This method exports all automatic styles that have been collected.
+ virtual void exportTextAutoStyles();
+
+ void exportEvents( const ::com::sun::star::uno::Reference < com::sun::star::beans::XPropertySet > & rPropSet );
+ // --> OD 2009-07-22 #i73249#
+// void exportAlternativeText( const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & rPropSet,
+// const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySetInfo > & rPropSetInfo );
+ void exportTitleAndDescription( const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & rPropSet,
+ const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySetInfo > & rPropSetInfo );
+ // <--
+
+ // This method exports the given XText
+ void exportText(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XText > & rText,
+ sal_Bool bIsProgress = sal_False,
+ sal_Bool bExportParagraph = sal_True)
+ {
+ exportText( rText, sal_False, bIsProgress, bExportParagraph );
+ }
+
+ void exportText(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XText > & rText,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextSection > & rBaseSection,
+ sal_Bool bIsProgress = sal_False,
+ sal_Bool bExportParagraph = sal_True)
+ {
+ exportText( rText, rBaseSection, sal_False, bIsProgress, bExportParagraph );
+ }
+
+ void exportFramesBoundToPage( sal_Bool bIsProgress = sal_False )
+ {
+ exportPageFrames( sal_False, bIsProgress );
+ }
+ void exportFramesBoundToFrame(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextFrame >& rParentTxtFrame,
+ sal_Bool bIsProgress = sal_False )
+ {
+ exportFrameFrames( sal_False, bIsProgress, &rParentTxtFrame );
+ }
+ inline const XMLTextListAutoStylePool& GetListAutoStylePool() const;
+
+ void SetBlockMode( sal_Bool bSet ) { bBlock = bSet; }
+ sal_Bool IsBlockMode() const { return bBlock; }
+
+
+ UniReference < SvXMLExportPropertyMapper > GetParagraphPropertyMapper() const
+ {
+ return xParaPropMapper;
+ }
+
+
+ /** exclude form controls which are in mute sections.
+ *
+ * This method is necessary to prevent the form layer export from exporting
+ * control models whose controls are not represented in the document. To
+ * achieve this, this method iterates over all shapes, checks to see if
+ * they are control shapes, and if so, whether they should be exported or
+ * not. If not, the form layer export will be notified accordingly.
+ *
+ * The reason this method is located here is tha it needs to access the
+ * XMLSectionExport, which is only available here.
+ */
+ void PreventExportOfControlsInMuteSections(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::container::XIndexAccess> & rShapes,
+ UniReference<xmloff::OFormLayerXMLExport> xFormExport );
+
+ SinglePropertySetInfoCache& GetCharStyleNamesPropInfoCache() { return aCharStyleNamesPropInfoCache; }
+
+ sal_Int32 GetHeadingLevel( const ::rtl::OUString& rStyleName );
+
+ // --> OD 2008-05-08 #refactorlists#
+ void PushNewTextListsHelper();
+ void PopTextListsHelper();
+ // <--
+ private:
+ XMLTextParagraphExport(XMLTextParagraphExport &); // private copy-ctor because of explicit copy-ctor of auto_ptr
+};
+
+inline const XMLTextListAutoStylePool&
+ XMLTextParagraphExport::GetListAutoStylePool() const
+{
+ return *pListAutoPool;
+}
+
+inline void XMLTextParagraphExport::exportTextFrame(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ sal_Bool bAutoStyles, sal_Bool bIsProgress, sal_Bool bExportContent,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > *pRangePropSet)
+{
+ exportAnyTextFrame( rTextContent, FT_TEXT, bAutoStyles, bIsProgress,
+ bExportContent, pRangePropSet );
+}
+
+inline void XMLTextParagraphExport::exportTextGraphic(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ sal_Bool bAutoStyles,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > *pRangePropSet )
+{
+ exportAnyTextFrame( rTextContent, FT_GRAPHIC, bAutoStyles, sal_False,
+ sal_True, pRangePropSet );
+}
+
+inline void XMLTextParagraphExport::exportTextEmbedded(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ sal_Bool bAutoStyles,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > *pRangePropSet )
+{
+ exportAnyTextFrame( rTextContent, FT_EMBEDDED, bAutoStyles, sal_False,
+ sal_True, pRangePropSet );
+}
+
+inline void XMLTextParagraphExport::exportShape(
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::text::XTextContent > & rTextContent,
+ sal_Bool bAutoStyles,
+ const ::com::sun::star::uno::Reference <
+ ::com::sun::star::beans::XPropertySet > *pRangePropSet )
+{
+ exportAnyTextFrame( rTextContent, FT_SHAPE, bAutoStyles, sal_False,
+ sal_True, pRangePropSet );
+}
+
+#endif