21#include <com/sun/star/text/XParagraphCursor.hpp>
22#include <com/sun/star/text/XTextDocument.hpp>
23#include <com/sun/star/text/XTextCursor.hpp>
24#include <com/sun/star/text/XTextAppend.hpp>
25#include <com/sun/star/text/XTextFrame.hpp>
26#include <com/sun/star/style/TabStop.hpp>
27#include <com/sun/star/container/XNameContainer.hpp>
28#include <com/sun/star/embed/XStorage.hpp>
33#include <unordered_map>
63 class XMultiServiceFactory;
193 css::uno::Reference<css::beans::XPropertySet>
m_xTOC;
194 css::uno::Reference<css::beans::XPropertySet>
m_xTC;
209 explicit FieldContext(css::uno::Reference<css::text::XTextRange> xStart);
237 void SetTextField(css::uno::Reference<css::text::XTextField>
const& xTextField);
241 void SetTOC(css::uno::Reference<css::beans::XPropertySet>
const& xTOC) {
m_xTOC = xTOC; }
242 const css::uno::Reference<css::beans::XPropertySet>&
GetTOC()
const {
return m_xTOC; }
244 void SetTC(css::uno::Reference<css::beans::XPropertySet>
const& xTC) {
m_xTC = xTC; }
245 const css::uno::Reference<css::beans::XPropertySet>&
GetTC()
const {
return m_xTC; }
268 css::uno::Reference<css::text::XParagraphCursor>
xCursor;
277 inline TextAppendContext(css::uno::Reference<css::text::XTextAppend> xAppend,
const css::uno::Reference<css::text::XTextCursor>& xCur);
332 PermInsertPosition(
bool bIsStartOfText, sal_Int32
id, OUString ed, OUString edGrp, css::uno::Reference<css::text::XTextRange> xTextRange)
342 OUString bookmarkName;
348 bookmarkName +=
"permission-for-group:" +
349 OUString::number(
m_Id) +
355 bookmarkName +=
"permission-for-user:" +
356 OUString::number(
m_Id) +
369 css::uno::Reference<css::text::XTextRange>
m_xStart;
370 css::uno::Reference<css::text::XTextRange>
m_xEnd;
434 typedef std::map < sal_Int32, PermInsertPosition >
PermMap_t;
607 void SetNumberFormat(
const OUString& rCommand, css::uno::Reference<css::beans::XPropertySet>
const& xPropertySet,
bool bDetectFormat =
false);
609 css::uno::Reference<css::beans::XPropertySet>
FindOrCreateFieldMaster(
const char* pFieldMasterService,
const OUString& rFieldMasterName);
637 css::uno::Reference < css::uno::XComponentContext > xContext,
638 css::uno::Reference< css::lang::XComponent >
const& xModel,
651 css::uno::Reference<css::container::XNameContainer>
const &
GetPageStyles();
655 css::uno::Reference<css::text::XText>
const &
GetBodyText();
656 const css::uno::Reference<css::lang::XMultiServiceFactory>&
GetTextFactory()
const
670 void CheckRedline(css::uno::Reference<css::text::XTextRange>
const& xRange);
689 void SetRubyText( OUString
const &sText, OUString
const &sStyle) {
728 const std::stack<BookmarkInsertPosition>&
GetSdtStarts()
const;
750 void appendTextContent(
const css::uno::Reference<css::text::XTextContent>&,
const css::uno::Sequence<css::beans::PropertyValue>&);
751 void appendOLE(
const OUString& rStreamName,
const std::shared_ptr<OLEHandler>& pOleHandler );
754 css::uno::Reference<css::beans::XPropertySet>
appendTextSectionAfter(css::uno::Reference<css::text::XTextRange>
const & xBefore);
845 void PushShapeContext(
const css::uno::Reference<css::drawing::XShape>& xShape);
849 void PushPendingShape(
const css::uno::Reference<css::drawing::XShape>& xShape);
859 static void fillEmptyFrameProperties(std::vector<css::beans::PropertyValue>& rFrameProperties,
bool bSetAnchorToChar);
884 css::uno::Reference< css::text::XFootnote > xNoteSrc,
885 css::uno::Reference< css::text::XFootnote > xNoteDest );
904 css::uno::Reference< css::uno::XInterface >
const & xFieldInterface,
905 css::uno::Reference< css::beans::XPropertySet >
const& xFieldProperties);
908 css::uno::Reference< css::uno::XInterface > & xFieldInterface,
909 css::uno::Reference< css::beans::XPropertySet >
const& xFieldProperties);
913 css::uno::Reference< css::beans::XPropertySet >
const& xFieldProperties);
916 css::uno::Reference< css::uno::XInterface >
const & xFieldInterface,
917 css::uno::Reference< css::beans::XPropertySet >
const& xFieldProperties);
919 (std::u16string_view rFirstParam,
920 css::uno::Reference< css::beans::XPropertySet >
const& xFieldProperties,
924 OUString
const& rFirstParam,
925 css::uno::Reference< css::uno::XInterface > & xFieldInterface);
928 const OUString & sTOCServiceName);
931 const OUString & sTOCServiceName);
935 const OUString & sTOCServiceName);
950 css::uno::Reference<css::beans::XPropertySet>
createSectionForRange(css::uno::Reference< css::text::XTextRange > xStart, css::uno::Reference< css::text::XTextRange > xEnd,
const OUString & sObjectType,
bool stepLeft);
963 const sal_Int32 nAnnotationId );
993 void SetLineNumbering( sal_Int32 nLnnMod, sal_uInt32 nLnc, sal_Int32 ndxaLnn );
1018 css::uno::Reference<css::text::XTextRange>
const& xFrameEndRange,
1019 std::vector<css::beans::PropertyValue>&& aFrameProperties);
1079 sal_Int32
getNumberingProperty(
const sal_Int32 nListId, sal_Int32 nListLevel,
const OUString& aProp);
1122 void appendGrabBag(std::vector<css::beans::PropertyValue>& rInteropGrabBag,
const OUString& aKey,
const OUString& aValue);
1123 void appendGrabBag(std::vector<css::beans::PropertyValue>& rInteropGrabBag,
const OUString& aKey, std::vector<css::beans::PropertyValue>& rValue);
1221 : xTextAppend(
std::move(xAppend))
1223 xCursor.set(xCur, css::uno::UNO_QUERY);
constexpr sal_Int8 header[]
std::deque< sal_Int32 > m_aFootnoteIds
css::uno::Reference< css::text::XTextAppend > GetCurrentXText()
css::uno::Reference< css::container::XNameContainer > m_xCharacterStyles
void SetLineNumbering(sal_Int32 nLnnMod, sal_uInt32 nLnc, sal_Int32 ndxaLnn)
void AddDummyParaForTableInSection()
tools::SvRef< SdtHelper > m_pSdtHelper
bool GetIsLastParagraphInSection() const
bool GetParaChanged() const
sal_Int32 getCurrentNumberingProperty(const OUString &aProp)
Get a property of the current numbering style's current level.
void handleRubyEQField(const FieldContextPtr &pContext)
std::queue< std::optional< sal_Int16 > > m_aFrameDirectionQueue
bool m_bParaAutoBefore
Current paragraph has automatic before spacing.
std::vector< css::beans::PropertyValue > m_aFrameProperties
RedlineParamsPtr m_pParaMarkerRedline
bool isSdtEndDeferred() const
css::uno::Reference< css::text::XTextDocument > m_xTextDocument
OUString m_sCurrentPermEdGrp
void SetCurrentRedlineToken(sal_Int32 nToken)
void SetNumberFormat(const OUString &rCommand, css::uno::Reference< css::beans::XPropertySet > const &xPropertySet, bool bDetectFormat=false)
bool m_bIsFirstParaInSection
std::vector< css::beans::PropertyValue > m_aInteropGrabBag
A toplevel dmapper grabbag, like 'pPr'.
bool IsBreakDeferredByAnchor()
void commentProps(const OUString &sId, const CommentProperties &rProps)
void SetPageMarginTwip(PageMarElement eElement, sal_Int32 nValue)
void SetDocumentSettingsProperty(const OUString &rPropName, const css::uno::Any &rValue)
OUString m_sCurrentParaStyleName
css::uno::Reference< css::lang::XMultiServiceFactory > m_xTextFactory
void IncrementFootnoteCount()
css::uno::Reference< css::drawing::XShape > PopPendingShape()
Get the first pending shape, if there are any.
void StartParaMarkerChange()
void SetRubyText(OUString const &sText, OUString const &sStyle)
bool handlePreviousParagraphBorderInBetween() const
Check if previous paragraph has borders in between and do the border magic to it if so.
bool m_bInNumberingImport
void ExecuteFrameConversion()
bool m_bFrameDirectionSet
bool m_bIsSplitPara
If the document needs to split paragraph.
bool GetIsDummyParaAddedForTableInSection() const
void appendTextContent(const css::uno::Reference< css::text::XTextContent > &, const css::uno::Sequence< css::beans::PropertyValue > &)
bool isBreakDeferred(BreakType deferredBreakType)
void SetAnyTableImport(bool bSet)
bool m_bRedlineImageInPreviousRun
bool m_bSaveFirstParagraphInCell
bool GetIsDummyParaAddedForTableInSectionPage() const
void RegisterFrameConversion(css::uno::Reference< css::text::XTextRange > const &xFrameStartRange, css::uno::Reference< css::text::XTextRange > const &xFrameEndRange, std::vector< css::beans::PropertyValue > &&aFrameProperties)
void HandleLineBreak(const PropertyMapPtr &pPropertyMap)
Handles <w:br>.
void setPermissionRangeEdGrp(const OUString &group)
bool IsSdtEndBefore()
Check if "SdtEndBefore" property is set.
std::optional< sal_Int16 > PopFrameDirection()
void HandlePTab(sal_Int32 nAlignment)
Handles <w:ptab>.
void EndParaMarkerChange()
OUString GetListStyleName(sal_Int32 nListId)
ListsManager::Pointer const & GetListTable()
void InitTabStopFromStyle(const css::uno::Sequence< css::style::TabStop > &rInitTabStops)
void SetStyleSheetImport(bool bSet)
std::stack< HeaderFooterContext > m_aHeaderFooterStack
bool m_bStartTOCHeaderFooter
std::queue< OUString > m_aPositivePercentages
ST_PositivePercentage values we received.
void adjustLastPara(sal_Int8 nAlign)
std::stack< std::vector< RedlineParamsPtr > > m_aRedlines
void PushFootOrEndnote(bool bIsFootnote)
void PushProperties(ContextType eId)
sal_Int32 GetFootnoteCount() const
bool m_bUsingEnhancedFields
bool m_bSdt
If the current paragraph is inside a structured document element.
bool m_bFirstParagraphInCell
Current paragraph in a table is first paragraph of a cell.
void SetIsLastParagraphInSection(bool bIsLast)
void SetParaAutoBefore(bool bParaAutoBefore)
void SetIsFirstParagraphInShape(bool bIsFirst)
void SetParaSectpr(bool bParaSectpr)
std::unordered_map< sal_Int32, AnnotationPosition > m_aAnnotationPositions
OUString ConvertTOCStyleName(OUString const &)
void PopPageHeaderFooter()
void IncorporateTabStop(const DeletableTabStop &aTabStop)
void appendTableHandler()
bool IsInCustomFootnote() const
const std::stack< BookmarkInsertPosition > & GetSdtStarts() const
Gives access to the currently open run/inline SDTs.
FontTablePtr const & GetFontTable()
void PushTextBoxContent()
sal_Int32 GetAnnotationId()
sal_Int16 GetListLevel(const StyleSheetEntryPtr &pEntry, const PropertyMapPtr &pParaContext=nullptr)
Return the paragraph's list level (from styles, unless pParacontext is provided).
bool GetIsFirstParagraphInShape() const
void CheckParaMarkerRedline(css::uno::Reference< css::text::XTextRange > const &xRange)
css::uno::Reference< css::text::XTextRange > m_xSdtEntryStart
void ValidateListLevel(const OUString &sStyleIdentifierD)
RedlineParamsPtr m_previousRedline
void SetCurrentRedlineInitials(const OUString &sInitials)
PropertyMapPtr GetTopContextOfType(ContextType eId)
void SetFieldResult(OUString const &rResult)
void handleFieldFormula(const FieldContextPtr &pContext, css::uno::Reference< css::beans::XPropertySet > const &xFieldProperties)
void enableInteropGrabBag(const OUString &aName)
Enable, disable and check status of grabbags.
writerfilter::ooxml::OOXMLDocument * getDocumentReference() const
enum writerfilter::dmapper::DomainMapper_Impl::HeaderFooterImportState m_eInHeaderFooterImport
OUString m_aInteropGrabBagName
Name of m_aInteropGrabBag.
unsigned int m_nStartGenericField
std::deque< FieldContextPtr > m_aFieldStack
bool HasTopAnchoredObjects() const
std::unordered_map< OUString, CommentProperties > m_aCommentProps
bool m_bSetUserFieldContent
bool IsFieldResultAsString()
bool isInIndexContext() const
void deferBreak(BreakType deferredBreakType)
DeletableTabStop m_aCurrentTabStop
css::uno::Reference< css::text::XText > m_xBodyText
bool m_bIsFirstParaInSectionAfterRedline
const css::uno::Reference< css::text::XTextDocument > & GetTextDocument() const
static void fillEmptyFrameProperties(std::vector< css::beans::PropertyValue > &rFrameProperties, bool bSetAnchorToChar)
bool IsDiscardHeaderFooter() const
FontTablePtr m_pFontTable
std::unique_ptr< ThemeHandler > m_pThemeHandler
std::stack< PropertyMapPtr > m_aPropertyStacks[NUMBER_OF_CONTEXTS]
bool m_bStartBibliography
bool IsInComments() const
void SetSdt(bool bSdt)
Setter method for m_bSdt.
bool isInBibliographyContext() const
sal_Int32 m_sCurrentPermId
const RubyInfo & GetRubyInfo() const
bool IsInFootnote() const
std::stack< BookmarkInsertPosition > m_xSdtStarts
void SetIsTextDeleted(bool bIsTextDeleted)
const css::uno::Reference< css::lang::XMultiServiceFactory > & GetTextFactory() const
bool m_bParaChanged
If the current paragraph has any runs.
void CreateRedline(css::uno::Reference< css::text::XTextRange > const &xRange, const RedlineParamsPtr &pRedline)
bool m_bHasFtnSep
If the current section has a footnote separator.
void HandleLineBreakClear(sal_Int32 nClear)
Handles <w:br w:clear="...">.
void appendGrabBag(std::vector< css::beans::PropertyValue > &rInteropGrabBag, const OUString &aKey, const OUString &aValue)
Append a property to a sub-grabbag if necessary (e.g. 'lineRule', 'auto')
OUString m_sCurrentPermEd
css::uno::Reference< css::beans::XPropertySet > m_xPreviousParagraph
void ConvertHeaderFooterToTextFrame(bool, bool)
sal_Int32 m_nTableDepth
This contains the raw table depth.
RedlineParamsPtr m_pParaMarkerRedlineMove
void CheckRedline(css::uno::Reference< css::text::XTextRange > const &xRange)
void SetIsDummyParaAddedForTableInSectionPage(bool bIsAdded)
OUString GetUnusedPageStyleName()
bool m_bCheckFootnoteStyle
void SetCheckFootnoteStyle(bool bVal)
void SetIsTextFrameInserted(bool bIsInserted)
Track if a textframe has been inserted into this section.
PropertyMapPtr m_pLastSectionContext
css::uno::Reference< css::text::XTextRange > m_xGlossaryEntryStart
DomainMapper & m_rDMapper
bool m_bSdtEndDeferred
If we want to set "sdt end" on the next character context.
o3tl::sorted_vector< sal_Int32 > m_aListOverrideApplied
bool m_bForceGenericFields
PropertyMapPtr m_pLastCharacterContext
std::stack< std::pair< TextAppendContext, bool > > m_aHeaderFooterTextAppendStack
void SetSymbolChar(sal_Int32 nSymbol)
bool IsLineNumberingSet() const
void SetFrameDirection(sal_Int16 nDirection)
const LineNumberSettings & GetLineNumberSettings() const
void SetIsPreviousParagraphFramed(bool bIsFramed)
SectionPropertyMap * GetSectionContext()
std::deque< css::uno::Reference< css::drawing::XShape > > m_aPendingShapes
void handleFieldAsk(const FieldContextPtr &pContext, css::uno::Reference< css::uno::XInterface > &xFieldInterface, css::uno::Reference< css::beans::XPropertySet > const &xFieldProperties)
OUString m_sDefaultParaStyleName
void PushPageFooter(SectionPropertyMap::PageType eType)
LineNumberSettings m_aLineNumberSettings
void SetIsOutsideAParagraph(bool bval)
ListsManager::Pointer m_pListTable
bool GetParaSectpr() const
PropertyMapPtr m_pFootnoteContext
css::uno::Any GetPropertyFromStyleSheet(PropertyIds eId, StyleSheetEntryPtr pEntry, const bool bDocDefaults, const bool bPara, bool *bIsDocDefault=nullptr)
void PushListProperties(const PropertyMapPtr &pListProperties)
void disableInteropGrabBag()
void SetCurrentRedlineRevertProperties(const css::uno::Sequence< css::beans::PropertyValue > &aProperties)
void deferCharacterProperty(sal_Int32 id, const css::uno::Any &value)
Used for attributes/sprms which cannot be evaluated immediately (e.g.
std::vector< css::beans::PropertyValue > MakeFrameProperties(const ParagraphProperties &rProps)
css::uno::Reference< css::embed::XStorage > m_xDocumentStorage
SkipFootnoteSeparator m_eSkipFootnoteState
Skip paragraphs from the <w:separator/> footnote.
ContextType GetTopContextType() const
void SetMoveBookmark(bool IsFrom)
void AttachTextBoxContentToShape(css::uno::Reference< css::drawing::XShape > xShape)
bool m_bParaSdtEndDeferred
If we want to set "paragraph sdt end" on the next paragraph context.
void setSdtEndDeferred(bool bSdtEndDeferred)
css::uno::Sequence< css::style::TabStop > GetCurrentTabStopAndClear()
void setPermissionRangeEd(const OUString &user)
void SetNumberingImport(bool bSet)
css::uno::Reference< css::beans::XPropertySet > StartIndexSectionChecked(const OUString &sServiceName)
static void handleAuthor(std::u16string_view rFirstParam, css::uno::Reference< css::beans::XPropertySet > const &xFieldProperties, FieldId eFieldId)
::std::vector< DeletableTabStop > m_aCurrentTabStops
void AppendFieldCommand(OUString const &rPartOfCommand)
std::vector< css::beans::PropertyValue > m_aSubInteropGrabBag
A sub-grabbag of m_aInteropGrabBag, like 'spacing'.
css::uno::Reference< css::container::XNameContainer > const & GetCharacterStyles()
bool IsInHeaderFooter() const
bool GetSdt() const
Getter method for m_bSdt.
OUString m_sCurrentBkmkName
DomainMapper_Impl(DomainMapper &rDMapper, css::uno::Reference< css::uno::XComponentContext > xContext, css::uno::Reference< css::lang::XComponent > const &xModel, SourceDocumentType eDocumentType, utl::MediaDescriptor const &rMediaDesc)
DomainMapperTableManager & getTableManager()
void StartCustomFootnote(const PropertyMapPtr pContext)
SettingsTablePtr const & GetSettingsTable()
std::optional< sal_Int32 > m_oBackgroundColor
Document background color, applied to every page style.
css::uno::Reference< css::beans::XPropertySet > FindOrCreateFieldMaster(const char *pFieldMasterService, const OUString &rFieldMasterName)
const PropertyMapPtr & GetTopContext() const
void PopFieldContext()
The end of field is reached (cFieldEnd appeared) - the command might still be open.
css::uno::Reference< css::beans::XPropertySet > appendTextSectionAfter(css::uno::Reference< css::text::XTextRange > const &xBefore)
void ApplySettingsTable()
bool m_bIsColumnBreakDeferred
void PushPendingShape(const css::uno::Reference< css::drawing::XShape > &xShape)
Add a pending shape: it's currently inserted into the document, but it should be removed before the i...
sal_Int32 m_nLineBreaksDeferred
void SetIsFirstParagraphInSectionAfterRedline(bool bIsFirstAfterRedline)
bool m_bIsOutsideAParagraph
SmartTagHandler & getSmartTagHandler()
void SetIsFirstParagraphInSection(bool bIsFirst)
bool IsNewDoc() const
If we're importing into a new document, or just pasting to an existing one.
bool GetIsTextFrameInserted() const
bool GetIsFirstParagraphInSection(bool bAfterRedline=false) const
void SetCurrentRedlineId(sal_Int32 nId)
bool IsInFootOrEndnote() const
void RemoveLastParagraph()
void PushStyleProperties(const PropertyMapPtr &pStyleProperties)
void handleBibliography(const FieldContextPtr &pContext, const OUString &sTOCServiceName)
bool isParaSdtEndDeferred() const
css::uno::Reference< css::text::XText > const & GetBodyText()
void handleFieldSet(const FieldContextPtr &pContext, css::uno::Reference< css::uno::XInterface > const &xFieldInterface, css::uno::Reference< css::beans::XPropertySet > const &xFieldProperties)
bool m_bIsActualParagraphFramed
Handle redline text portions in a frame, footnotes and redlines: store their data,...
css::uno::Reference< css::text::XTextAppend > const & GetTopTextAppend()
sal_Int32 m_nTableCellDepth
Raw table cell depth.
bool m_bDiscardHeaderFooter
std::map< sal_Int32, css::uno::Any > m_deferredCharacterProperties
css::uno::Any GetPropertyFromParaStyleSheet(PropertyIds eId)
void AppendFieldResult(std::u16string_view rResult)
OUString m_sAnnotationImportedParaId
SectionPropertyMap * GetLastSectionContext()
void SetSymbolFont(OUString const &rName)
sal_Int32 m_nFirstFootnoteIndex
void SetCurrentRedlineAuthor(const OUString &sAuthor)
bool IsInFootnoteProperties() const
std::optional< sal_Int16 > m_oLineBreakClear
void StartParaMarkerMove()
GraphicImportPtr const & GetGraphicImport()
bool IsOOXMLImport() const
RedlineParamsPtr m_currentRedline
void CheckUnregisteredFrameConversion(bool bPreventOverlap=false)
bool m_bInDocDefaultsImport
bool CheckFootnoteStyle() const
void substream(Id rName, ::writerfilter::Reference< Stream >::Pointer_t const &ref)
bool IsAnyTableImport() const
std::vector< AnchoredObjectsInfo > m_aAnchoredObjectAnchors
Paragraphs with anchored objects in the current section.
void RemoveDummyParaForTableInSection()
bool m_bIsLastSectionGroup
void SetIsLastSectionGroup(bool bIsLast)
std::deque< css::uno::Any > m_aStoredRedlines[StoredRedlines::NONE]
BookmarkMap_t m_aBookmarkMap
void StartOrEndBookmark(const OUString &rId)
css::uno::Reference< css::text::XTextRange > m_xInsertTextRange
bool IsNumberingImport() const
void PushPageHeaderFooter(bool bHeader, SectionPropertyMap::PageType eType)
css::uno::Reference< css::beans::XPropertySet > m_xDocumentSettings
css::uno::Reference< css::beans::XPropertySet > m_xAnnotationField
bool m_bTextFrameInserted
void PushShapeContext(const css::uno::Reference< css::drawing::XShape > &xShape)
void SetRubyInfo(const RubyInfo &rInfo)
bool isInteropGrabBagEnabled() const
std::pair< OUString, OUString > m_aAligns
ST_AlignH/V values we received.
std::pair< OUString, OUString > m_aPositionOffsets
ST_PositionOffset values we received.
std::unique_ptr< ThemeHandler > const & getThemeHandler()
PropertyMapPtr m_pTopContext
sal_Int32 GetCurrentRedlineToken() const
SettingsTablePtr m_pSettingsTable
std::stack< tools::SvRef< DomainMapperTableManager > > m_aTableManagers
bool m_bStartedTOC
If we got any text that is the pre-rendered result of the TOC field.
void handleToc(const FieldContextPtr &pContext, const OUString &sTOCServiceName)
void PushFieldContext()
A field context starts with a cFieldStart.
css::uno::Any GetPropertyFromCharStyleSheet(PropertyIds eId, const PropertyMapPtr &rContext)
std::map< sal_Int32, PermInsertPosition > PermMap_t
void appendOLE(const OUString &rStreamName, const std::shared_ptr< OLEHandler > &pOleHandler)
void SetIsDummyParaAddedForTableInSection(bool bIsAdded)
void appendTextPortion(const OUString &rString, const PropertyMapPtr &pPropertyMap)
std::optional< int > m_xNextUnusedCharacterStyleNo
OUString GetCurrentParaStyleName()
css::uno::Reference< css::text::XTextCursor > m_xTOCMarkerCursor
bool m_bIsBreakDeferredByAnchor
void SetCurrentParaStyleName(const OUString &sStringValue)
void appendGlossaryEntry()
AutoText import: each entry is placed in the separate section.
css::uno::Any GetAnyProperty(PropertyIds eId, const PropertyMapPtr &rContext)
sal_Int32 m_nFootnotes
preload footnotes and endnotes
OUString GetUnusedCharacterStyleName()
bool m_bIsInFootnoteProperties
OUString m_sCurrentBkmkId
void SetHasFootnoteStyle(bool bVal)
void AddAnnotationPosition(const bool bStart, const sal_Int32 nAnnotationId)
void handleIndex(const FieldContextPtr &pContext, const OUString &sTOCServiceName)
StyleSheetTablePtr m_pStyleSheetTable
css::uno::Reference< css::text::XTextContent > m_xEmbedded
bool m_bIsFirstParaInShape
void AddNewRedline(sal_uInt32 sprmId)
std::vector< css::uno::Reference< css::drawing::XShape > > m_vTextFramesForChaining
void clearDeferredBreaks()
bool m_bIsPageBreakDeferred
css::uno::Reference< css::container::XNameContainer > const & GetPageStyles()
bool CopyTemporaryNotes(css::uno::Reference< css::text::XFootnote > xNoteSrc, css::uno::Reference< css::text::XFootnote > xNoteDest)
void IncrementEndnoteCount()
bool GetRemoveThisPara() const
sal_Int32 m_nAnnotationId
const SymbolData & GetSymbolData() const
void startOrEndPermissionRange(sal_Int32 permissinId)
bool m_bAnnotationResolved
void handleAutoNum(const FieldContextPtr &pContext, css::uno::Reference< css::uno::XInterface > const &xFieldInterface, css::uno::Reference< css::beans::XPropertySet > const &xFieldProperties)
void setDocumentReference(writerfilter::ooxml::OOXMLDocument *pDocument)
bool m_bIsPreviousParagraphFramed
bool IsParaWithInlineObject() const
void SetFieldFFData(const FFDataHandler::Pointer_t &pFFDataHandler)
void processDeferredCharacterProperties(bool bCharContext=true)
Processes properties deferred using deferCharacterProperty().
void PopProperties(ContextType eId)
bool m_bHasFtn
If the current section has footnotes.
bool m_bParaSectpr
If the current paragraph contains section property definitions.
bool m_bParaWithInlineObject
Current paragraph had at least one inline object in it.
std::stack< TextAppendContext > m_aTextAppendStack
void UpdateEmbeddedShapeProps(const css::uno::Reference< css::drawing::XShape > &xShape)
void SetDocDefaultsImport(bool bSet)
SmartTagHandler m_aSmartTagHandler
css::uno::Reference< css::text::XTextRange > m_xFrameStartRange
void setGlossaryEntryStart(css::uno::Reference< css::text::XTextRange > const &xStart)
Remember where entry was started.
void ResetGraphicImport()
bool hasTableManager() const
std::deque< sal_Int32 > m_aEndnoteIds
std::optional< int > m_xNextUnusedPageStyleNo
bool m_bDummyParaAddedForTableInSection
enum GraphicImportType m_eGraphicImportType
bool IsOpenFieldCommand() const
css::uno::Reference< css::text::XTextRange > m_xFrameEndRange
void appendGrabBag(std::vector< css::beans::PropertyValue > &rInteropGrabBag, const OUString &aKey, std::vector< css::beans::PropertyValue > &rValue)
bool m_bIsDecimalComma
Type of decimal symbol associated to the document language in Writer locale definition.
FieldContextPtr const & GetTopFieldContext()
OUString m_sAnnotationParent
void finishParagraph(const PropertyMapPtr &pPropertyMap, const bool bRemove=false, const bool bNoNumbering=false)
bool m_bDummyParaAddedForTableInSectionPage
void PushPageHeader(SectionPropertyMap::PageType eType)
bool GetParaHadField() const
void SetCurrentRedlineIsRead()
OUString convertFieldFormula(const OUString &input)
Converts a Microsoft Word field formula into LibreOffice syntax.
bool GetIsLastSectionGroup() const
OUString m_sCurrentBkmkPrefix
void appendTableManager()
StyleSheetTablePtr const & GetStyleSheetTable()
SourceDocumentType m_eDocumentType
tools::SvRef< DomainMapperTableHandler > m_pTableHandler
OUString getFontNameForTheme(const Id id)
std::stack< ContextType > m_aContextStack
OUString extractTocTitle()
Returns title of the TOC placed in paragraph(s) before TOC field inside STD-frame.
std::queue< css::uno::Reference< css::text::XTextFrame > > m_xPendingTextBoxFrames
sal_Int32 getNumberingProperty(const sal_Int32 nListId, sal_Int32 nListLevel, const OUString &aProp)
void clearDeferredBreak(BreakType deferredBreakType)
void SetRubySprmId(sal_uInt32 nSprmId)
css::uno::Reference< css::beans::XPropertySet > const & GetDocumentSettings()
sal_Int32 m_nLastTableCellParagraphDepth
Table cell depth of the last finished paragraph.
bool m_bInStyleSheetImport
bool GetIsPreviousParagraphFramed() const
void ImportGraphic(const writerfilter::Reference< Properties >::Pointer_t &)
bool m_bSaxError
SAXException was seen so document will be abandoned.
std::map< OUString, BookmarkInsertPosition > BookmarkMap_t
void RemoveTemporaryFootOrEndnotes()
css::uno::Reference< css::text::XTextRange > m_xAltChunkStartingRange
SkipFootnoteSeparator GetSkipFootnoteState() const
void SetIsBreakDeferredByAnchor()
bool IsStyleSheetImport() const
bool IsDocDefaultsImport() const
void SetIsFirstRun(bool bval)
sal_Int32 m_nFirstEndnoteIndex
bool m_bRemoveThisParagraph
This is a continuation of already finished paragraph - e.g., first in an index section.
void SetInFootnoteProperties(bool bSet)
bool IsReadGlossaries() const
If we're importing autotext.
void SetSkipFootnoteState(SkipFootnoteSeparator eId)
sal_Int32 GetEndnoteCount() const
void handleDocProperty(const FieldContextPtr &pContext, OUString const &rFirstParam, css::uno::Reference< css::uno::XInterface > &xFieldInterface)
bool m_bIsLastParaInSection
bool m_bCheckFirstFootnoteTab
If the next tab should be ignored, used for footnotes.
bool IsForceGenericFields() const
void HandleAltChunk(const OUString &rStreamName)
Handles <w:altChunk>.
bool m_bIsParaMarkerChange
bool m_bParaHadField
Current paragraph had at least one field in it.
writerfilter::ooxml::OOXMLDocument * m_pOOXMLDocument
css::uno::Reference< css::container::XNameContainer > m_xPageStyles1
GraphicImportPtr m_pGraphicImport
const PropertyMapPtr & GetFootnoteContext() const
void SetCurrentRedlineDate(const OUString &sDate)
OUString GetDefaultParaStyleName()
void SetBookmarkName(const OUString &rBookmarkName)
void setParaSdtEndDeferred(bool bParaSdtEndDeferred)
const PageMar & GetPageMargins() const
void ClearPreviousParagraph()
Forget about the previous paragraph, as it's not inside the same start/end node.
bool IsOutsideAParagraph() const
void appendStarMath(const Value &v)
void SetLineNumberSettings(const LineNumberSettings &rSet)
void CloseFieldCommand()
The field command has to be closed (cFieldSep appeared).
std::stack< AnchoredContext > m_aAnchoredStack
css::uno::Reference< css::beans::XPropertySet > createSectionForRange(css::uno::Reference< css::text::XTextRange > xStart, css::uno::Reference< css::text::XTextRange > xEnd, const OUString &sObjectType, bool stepLeft)
css::uno::Reference< css::uno::XComponentContext > m_xComponentContext
void SetFormField(css::uno::Reference< css::text::XFormField > const &xFormField)
std::vector< FieldParagraph > & GetParagraphsToFinish()
FieldContext(css::uno::Reference< css::text::XTextRange > xStart)
bool m_bFieldCommandCompleted
const OUString & GetHyperlinkTarget() const
void SetCommandType(bool cType)
const css::uno::Reference< css::text::XFormField > & GetFormField() const
FFDataHandler::Pointer_t m_pFFDataHandler
void AppendCommand(std::u16string_view rPart)
bool IsCommandCompleted() const
OUString m_sHyperlinkTarget
A frame for the hyperlink when one exists.
const FFDataHandler::Pointer_t & getFFDataHandler() const
void SetFieldId(FieldId eFieldId)
const css::uno::Reference< css::text::XTextRange > & GetStartRange() const
void setFFDataHandler(FFDataHandler::Pointer_t pFFDataHandler)
std::optional< FieldId > const & GetFieldId() const
css::uno::Reference< css::text::XTextRange > m_xStartRange
void AppendResult(std::u16string_view rResult)
void SetCustomField(css::uno::Reference< css::beans::XPropertySet > const &xCustomField)
css::uno::Reference< css::text::XTextField > m_xTextField
void SetTC(css::uno::Reference< css::beans::XPropertySet > const &xTC)
const OUString & GetResult() const
std::optional< FieldId > m_eFieldId
PropertyMapPtr m_pProperties
(Character) properties of the field itself.
bool GetCommandIsEmpty(bool bType) const
void setFormControlHelper(FormControlHelper::Pointer_t pFormControlHelper)
FormControlHelper::Pointer_t m_pFormControlHelper
bool IsFieldLocked() const
::std::vector< OUString > GetCommandParts() const
OUString m_sVariableValue
void SetHyperlinkURL(const OUString &rURL)
void SetCommandCompleted()
const css::uno::Reference< css::text::XTextField > & GetTextField() const
const FormControlHelper::Pointer_t & getFormControlHelper() const
std::vector< FieldParagraph > m_aParagraphsToFinish
void SetHyperlinkTarget(const OUString &rTarget)
void SetTOC(css::uno::Reference< css::beans::XPropertySet > const &xTOC)
const css::uno::Reference< css::beans::XPropertySet > & GetCustomField() const
const OUString & GetVariableValue()
const css::uno::Reference< css::beans::XPropertySet > & GetTOC() const
const OUString & GetCommand() const
css::uno::Reference< css::beans::XPropertySet > m_xCustomField
css::uno::Reference< css::beans::XPropertySet > m_xTOC
css::uno::Reference< css::text::XFormField > m_xFormField
void CacheVariableValue(const css::uno::Any &rAny)
const css::uno::Reference< css::beans::XPropertySet > & GetTC() const
void SetTextField(css::uno::Reference< css::text::XTextField > const &xTextField)
const OUString & GetHyperlinkURL() const
const PropertyMapPtr & getProperties() const
css::uno::Reference< css::beans::XPropertySet > m_xTC
Handler for smart tags, i.e. <w:smartTag> and below.
virtual const oox::drawingml::ThemePtr & getTheme() const =0
class SAL_NO_VTABLE XPropertySet
tools::SvRef< FieldContext > FieldContextPtr
SkipFootnoteSeparator
Two special footnotes are a separator line, and a continuation line.
ContextType
property stack element
AnchoredContext(css::uno::Reference< css::text::XTextContent > xContent)
css::uno::Reference< css::text::XTextContent > xTextContent
Stores original/in-file-format info about a single anchored object.
css::uno::Reference< css::text::XTextContent > m_xAnchoredObject
RedlineParamsPtr m_xRedlineForInline
Stores info about objects anchored to a given paragraph.
std::vector< AnchoredObjectInfo > m_aAnchoredObjects
css::uno::Reference< css::text::XTextRange > m_xParagraph
Stores the start/end positions of an annotation before its insertion.
css::uno::Reference< css::text::XTextRange > m_xEnd
css::uno::Reference< css::text::XTextRange > m_xStart
helper to remember bookmark start position
BookmarkInsertPosition(bool bIsStartOfText, OUString rName, css::uno::Reference< css::text::XTextRange > xTextRange)
css::uno::Reference< css::text::XTextRange > m_xTextRange
DeletableTabStop(const css::style::TabStop &rTabStop)
Information about a paragraph to be finished after a field end.
PropertyMapPtr m_pPropertyMap
css::uno::Reference< css::text::XTextRange > m_xTextRange
OUString createBookmarkName() const
PermInsertPosition(bool bIsStartOfText, sal_Int32 id, OUString ed, OUString edGrp, css::uno::Reference< css::text::XTextRange > xTextRange)
css::uno::Reference< css::text::XTextRange > xInsertPosition
std::vector< AnchoredObjectInfo > m_aAnchoredObjects
Objects anchored to the current paragraph, may affect the paragraph spacing.
TextAppendContext(css::uno::Reference< css::text::XTextAppend > xAppend, const css::uno::Reference< css::text::XTextCursor > &xCur)
css::uno::Reference< css::text::XTextAppend > xTextAppend
css::uno::Reference< css::text::XParagraphCursor > xCursor
ParagraphPropertiesPtr pLastParagraphProperties