| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the 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; |
| |
| XMLTextListsHelper* mpTextListsHelper; |
| ::std::vector< XMLTextListsHelper* > maTextListsHelperStack; |
| |
| enum FrameType { FT_TEXT, FT_GRAPHIC, FT_EMBEDDED, FT_SHAPE }; |
| |
| |
| void exportTextRangeSpan( |
| const ::com::sun::star::uno::Reference< com::sun::star::text::XTextRange > & rTextRange, |
| ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & xPropSet, |
| ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySetInfo > & xPropSetInfo, |
| const sal_Bool bIsUICharStyle, |
| const sal_Bool bHasAutoStyle, |
| const ::rtl::OUString& sStyle, |
| sal_Bool& rPrevCharIsSpace ); |
| |
| 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 sReplacementGraphicURL; |
| 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 |