LibreOffice Module writerfilter (master) 1
Namespaces | Typedefs | Functions | Variables
DomainMapper_Impl.cxx File Reference
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/document/XDocumentProperties.hpp>
#include <com/sun/star/xml/sax/SAXException.hpp>
#include <ooxml/resourceids.hxx>
#include "DomainMapper_Impl.hxx"
#include "ConversionHelper.hxx"
#include "SdtHelper.hxx"
#include "DomainMapperTableHandler.hxx"
#include "TagLogger.hxx"
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/graphic/XGraphic.hpp>
#include <com/sun/star/beans/XPropertyState.hpp>
#include <com/sun/star/container/XNamed.hpp>
#include <com/sun/star/document/PrinterIndependentLayout.hpp>
#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
#include <com/sun/star/embed/XEmbeddedObject.hpp>
#include <com/sun/star/i18n/NumberFormatMapper.hpp>
#include <com/sun/star/i18n/NumberFormatIndex.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
#include <com/sun/star/style/LineNumberPosition.hpp>
#include <com/sun/star/style/LineSpacing.hpp>
#include <com/sun/star/style/LineSpacingMode.hpp>
#include <com/sun/star/text/ChapterFormat.hpp>
#include <com/sun/star/text/FilenameDisplayFormat.hpp>
#include <com/sun/star/text/SetVariableType.hpp>
#include <com/sun/star/text/XDocumentIndex.hpp>
#include <com/sun/star/text/XDocumentIndexesSupplier.hpp>
#include <com/sun/star/text/XFootnote.hpp>
#include <com/sun/star/text/XEndnotesSupplier.hpp>
#include <com/sun/star/text/XFootnotesSupplier.hpp>
#include <com/sun/star/text/XLineNumberingProperties.hpp>
#include <com/sun/star/style/XStyle.hpp>
#include <com/sun/star/text/LabelFollow.hpp>
#include <com/sun/star/text/PageNumberType.hpp>
#include <com/sun/star/text/HoriOrientation.hpp>
#include <com/sun/star/text/VertOrientation.hpp>
#include <com/sun/star/text/ReferenceFieldPart.hpp>
#include <com/sun/star/text/RelOrientation.hpp>
#include <com/sun/star/text/ReferenceFieldSource.hpp>
#include <com/sun/star/text/SizeType.hpp>
#include <com/sun/star/text/TextContentAnchorType.hpp>
#include <com/sun/star/text/WrapTextMode.hpp>
#include <com/sun/star/text/XChapterNumberingSupplier.hpp>
#include <com/sun/star/text/XDependentTextField.hpp>
#include <com/sun/star/text/XParagraphCursor.hpp>
#include <com/sun/star/text/XRedline.hpp>
#include <com/sun/star/text/XTextFieldsSupplier.hpp>
#include <com/sun/star/text/XTextFrame.hpp>
#include <com/sun/star/text/RubyPosition.hpp>
#include <com/sun/star/text/XTextRangeCompare.hpp>
#include <com/sun/star/style/DropCapFormat.hpp>
#include <com/sun/star/util/NumberFormatter.hpp>
#include <com/sun/star/util/XNumberFormatsSupplier.hpp>
#include <com/sun/star/util/XNumberFormatter.hpp>
#include <com/sun/star/document/XViewDataSupplier.hpp>
#include <com/sun/star/container/XIndexContainer.hpp>
#include <com/sun/star/text/ControlCharacter.hpp>
#include <com/sun/star/text/XTextColumns.hpp>
#include <com/sun/star/awt/CharSet.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/embed/XHierarchicalStorageAccess.hpp>
#include <com/sun/star/embed/ElementModes.hpp>
#include <com/sun/star/document/XImporter.hpp>
#include <com/sun/star/document/XFilter.hpp>
#include <comphelper/indexedpropertyvalues.hxx>
#include <editeng/flditem.hxx>
#include <editeng/unotext.hxx>
#include <o3tl/deleter.hxx>
#include <o3tl/safeint.hxx>
#include <o3tl/temporary.hxx>
#include <oox/mathml/imexport.hxx>
#include <utility>
#include <xmloff/odffields.hxx>
#include <rtl/uri.hxx>
#include <unotools/ucbstreamhelper.hxx>
#include <unotools/streamwrap.hxx>
#include <comphelper/scopeguard.hxx>
#include <comphelper/string.hxx>
#include <dmapper/GraphicZOrderHelper.hxx>
#include <oox/token/tokens.hxx>
#include <cmath>
#include <optional>
#include <map>
#include <tuple>
#include <unordered_map>
#include <regex>
#include <algorithm>
#include <officecfg/Office/Common.hxx>
#include <filter/msfilter/util.hxx>
#include <filter/msfilter/ww8fields.hxx>
#include <comphelper/sequence.hxx>
#include <comphelper/propertyvalue.hxx>
#include <comphelper/propertysequence.hxx>
#include <unotools/configmgr.hxx>
#include <unotools/mediadescriptor.hxx>
#include <comphelper/diagnose_ex.hxx>
#include <sal/log.hxx>
#include <o3tl/string_view.hxx>
#include <com/sun/star/drawing/FillStyle.hpp>
#include <unicode/errorcode.h>
#include <unicode/regex.h>
Include dependency graph for DomainMapper_Impl.cxx:

Go to the source code of this file.

Namespaces

namespace  writerfilter
 
namespace  writerfilter::dmapper
 

Typedefs

typedef std::unordered_map< OUString, FieldConversion > writerfilter::dmapper::FieldConversionMap_t
 
typedef std::multimap< sal_Int32, OUString > writerfilter::dmapper::TOCStyleMap
 

Functions

static void writerfilter::dmapper::lcl_linenumberingHeaderFooter (const uno::Reference< container::XNameContainer > &xStyles, const OUString &rname, DomainMapper_Impl *dmapper)
 
static void writerfilter::dmapper::lcl_handleDropdownField (const uno::Reference< beans::XPropertySet > &rxFieldProps, const FFDataHandler::Pointer_t &pFFDataHandler)
 
static void writerfilter::dmapper::lcl_handleTextField (const uno::Reference< beans::XPropertySet > &rxFieldProps, const FFDataHandler::Pointer_t &pFFDataHandler)
 
static uno::Any writerfilter::dmapper::lcl_GetPropertyFromParaStyleSheetNoNum (PropertyIds eId, StyleSheetEntryPtr pEntry, const StyleSheetTablePtr &rStyleSheet)
 Very similar to DomainMapper_Impl::GetPropertyFromStyleSheet It is focused on paragraph properties search in current & parent stylesheet entries. More...
 
static FieldContextPtr writerfilter::dmapper::GetParentFieldContext (const std::deque< FieldContextPtr > &rFieldStack)
 Gives access to the parent field context of the topmost one, if there is any. More...
 
static bool writerfilter::dmapper::IsFieldNestingAllowed (const FieldContextPtr &pOuter, const FieldContextPtr &pInner)
 Decides if the pInner field inside pOuter is allowed in Writer core, depending on their type. More...
 
static OUString writerfilter::dmapper::lcl_FindLastBookmark (const uno::Reference< text::XTextCursor > &xCursor, bool bAlreadyExpanded)
 
static void writerfilter::dmapper::lcl_MoveBorderPropertiesToFrame (std::vector< beans::PropertyValue > &rFrameProperties, uno::Reference< text::XTextRange > const &xStartTextRange, uno::Reference< text::XTextRange > const &xEndTextRange, bool bIsRTFImport)
 
static void writerfilter::dmapper::lcl_AddRange (ParagraphPropertiesPtr const &pToBeSavedProperties, uno::Reference< text::XTextAppend > const &xTextAppend, TextAppendContext const &rAppendContext)
 
static sal_Int32 writerfilter::dmapper::lcl_getListId (const StyleSheetEntryPtr &rEntry, const StyleSheetTablePtr &rStyleTable, bool &rNumberingFromBaseStyle)
 Check if the style or its parent has a list id, recursively. More...
 
static void writerfilter::dmapper::lcl_CopyRedlines (uno::Reference< text::XText > const &xSrc, std::deque< css::uno::Any > &rRedlines, std::vector< sal_Int32 > &redPos, std::vector< sal_Int32 > &redLen, sal_Int32 &redIdx)
 
static void writerfilter::dmapper::lcl_PasteRedlines (uno::Reference< text::XText > const &xDest, std::deque< css::uno::Any > &rRedlines, std::vector< sal_Int32 > &redPos, std::vector< sal_Int32 > &redLen, sal_Int32 redIdx)
 
static void writerfilter::dmapper::lcl_convertToNoteIndices (std::deque< sal_Int32 > &rNoteIds, sal_Int32 &rFirstNoteIndex)
 
static sal_Int16 writerfilter::dmapper::lcl_ParseNumberingType (std::u16string_view rCommand)
 
static OUString writerfilter::dmapper::lcl_ParseFormat (const OUString &rCommand)
 
static OUString writerfilter::dmapper::lcl_ExtractToken (std::u16string_view rCommand, size_t &rIndex, bool &rHaveToken, bool &rIsSwitch)
 
std::tuple< OUString, std::vector< OUString >, std::vector< OUString > > writerfilter::dmapper::splitFieldCommand (std::u16string_view rCommand)
 
static OUString writerfilter::dmapper::lcl_ExtractVariableAndHint (std::u16string_view rCommand, OUString &rHint)
 
static size_t writerfilter::dmapper::nextCode (std::u16string_view rCommand, size_t pos)
 
static size_t writerfilter::dmapper::findCode (std::u16string_view rCommand, sal_Unicode cSwitch)
 
static bool writerfilter::dmapper::lcl_FindInCommand (std::u16string_view rCommand, sal_Unicode cSwitch, OUString &rValue)
 
static OUString writerfilter::dmapper::lcl_trim (std::u16string_view sValue)
 
static uno::Any writerfilter::dmapper::lcl_getGrabBagValue (const uno::Sequence< beans::PropertyValue > &grabBag, OUString const &name)
 
static ww::eField writerfilter::dmapper::GetWW8FieldId (OUString const &rType)
 
static const FieldConversionMap_t & writerfilter::dmapper::lcl_GetFieldConversion ()
 
static const FieldConversionMap_t & writerfilter::dmapper::lcl_GetEnhancedFieldConversion ()
 
static uno::Sequence< beans::PropertyValueswriterfilter::dmapper::lcl_createTOXLevelHyperlinks (bool bHyperlinks, const OUString &sChapterNoSeparator, const uno::Sequence< beans::PropertyValues > &aLevel, const std::optional< style::TabStop > numtab)
 
static auto writerfilter::dmapper::FilterChars (std::u16string_view const &rStyleName) -> OUString
 This is a heuristic to find Word's w:styleId value from localised style name. More...
 
static OUString writerfilter::dmapper::UnquoteFieldText (std::u16string_view s)
 
static auto writerfilter::dmapper::InsertFieldmark (std::stack< TextAppendContext > &rTextAppendStack, uno::Reference< text::XFormField > const &xFormField, uno::Reference< text::XTextRange > const &xStartRange, std::optional< FieldId > const oFieldId) -> void
 
static auto writerfilter::dmapper::PopFieldmark (std::stack< TextAppendContext > &rTextAppendStack, uno::Reference< text::XTextCursor > const &xCursor, std::optional< FieldId > const oFieldId) -> void
 
static util::DateTime writerfilter::dmapper::lcl_dateTimeFromSerial (const double &dSerial)
 

Variables

constexpr sal_Int32 writerfilter::dmapper::DEFAULT_FRAME_MIN_WIDTH = 0
 
constexpr sal_Int32 writerfilter::dmapper::DEFAULT_FRAME_MIN_HEIGHT = 0
 
constexpr sal_Int32 writerfilter::dmapper::DEFAULT_VALUE = 0
 

Variable Documentation

◆ cFieldServiceName

const char* cFieldServiceName

Definition at line 238 of file DomainMapper_Impl.cxx.

◆ eFieldId

FieldId eFieldId