20 #ifndef INCLUDED_SW_SOURCE_FILTER_WW8_WW8PAR_HXX
21 #define INCLUDED_SW_SOURCE_FILTER_WW8_WW8PAR_HXX
23 #include <rtl/ustring.hxx>
33 #include <string_view>
48 #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
59 #define SW_UD_IMAPDATA 2
114 namespace form {
class XFormComponent;}
115 namespace drawing{
class XShape;}
116 namespace lang{
class XMultiServiceFactory;}
120 #define WW8FL_NO_STYLES 2
121 #define WW8FL_NO_GRAF 0x80
123 #define WW8FL_NO_OUTLINE 0x1000
124 #define WW8FL_NO_IMPLPASP 0x4000 // no implicit para space
125 #define WW8FL_NO_GRAFLAYER 0x8000
128 #define WW8FL_NO_FLY_FOR_TXBX 1
159 std::vector<sal_uInt8> &rParaSprms,
SwTextNode *pNode=
nullptr);
179 bool ReadLVL(
SwNumFormat& rNumFormat, std::unique_ptr<SfxItemSet>& rpItemSet, sal_uInt16 nLevelStyle,
180 bool bSetStartNo, sal_uInt16 nLevel,
ww::bytes &rParaSprms);
188 WW8aCFormat& aCharFormat,
bool& bNewCharFormatCreated,
189 const OUString& aPrefix = OUString());
265 m_sWWStyleName( OUString() ),
267 m_eLTRFontSrcCharSet(0),
268 m_eRTLFontSrcCharSet(0),
269 m_eCJKFontSrcCharSet(0),
270 m_pFormat( nullptr ),
271 m_pOutlineNumrule( nullptr ),
284 m_bImportSkipped(false),
285 m_bHasStyNumRule(false),
286 m_bHasBrokenWW6List(false),
287 m_bListRelevantIndentSet(false),
288 m_bParaAutoBefore(false),
289 m_bParaAutoAfter(false),
290 m_nRelativeJustify(-1)
296 m_sWWStyleName = rName;
302 mnWW8OutlineLevel = m_nWWStyleId - 1;
313 return (m_pFormat !=
nullptr && (
MAXLEVEL > mnWW8OutlineLevel));
348 if (nWW8OutlineLevel == 9)
354 return nWW8OutlineLevel + 1;
380 virtual bool IsParaEndInCPs(sal_Int32 nStart, sal_Int32 nEnd,
bool bSdOD)
const override;
383 virtual bool CheckSdOD(sal_Int32 nStart,sal_Int32 nEnd)
override;
388 nToggleAttrFlags(0), nToggleBiDiAttrFlags(0)
398 nToggleAttrFlags |= (1 << nId);
400 nToggleAttrFlags &= ~(1 << nId);
408 nToggleBiDiAttrFlags |= (1 << nId);
410 nToggleBiDiAttrFlags &= ~(1 << nId);
420 return static_cast<const T*
>(
GetFormatAttr(rPos, sal_uInt16(nWhich)));
445 bool operator()(
const OUString &r1, std::u16string_view r2)
const
447 return r1.compareToIgnoreAsciiCase(r2)<0;
497 template<
typename Type >
499 {
return (nBitField & nMask) != 0; }
501 template<
typename ReturnType,
typename Type >
503 {
return static_cast< ReturnType
>( std::min< Type >( nValue, nMax ) ); }
505 template<
typename ReturnType,
typename Type >
507 {
return ulimit_cast( nValue, std::numeric_limits< ReturnType >::max() ); }
520 virtual std::unique_ptr<SdrObjUserData>
Clone(
SdrObject* pObj )
const override;
692 virtual bool Import(
const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
693 css::uno::Reference< css::form::XFormComponent> &rFComp,
694 css::awt::Size &rSz) = 0;
707 virtual bool Import(
const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
708 css::uno::Reference< css::form::XFormComponent> &rFComp,
709 css::awt::Size &rSz)
override;
721 virtual bool Import(
const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
722 css::uno::Reference< css::form::XFormComponent> &rFComp,
723 css::awt::Size &rSz)
override;
734 virtual bool Import(
const css::uno::Reference< css::lang::XMultiServiceFactory> & ,
735 css::uno::Reference< css::form::XFormComponent> & ,
736 css::awt::Size & )
override {
return false; }
744 virtual bool InsertControl(
const css::uno::Reference< css::form::XFormComponent >& rFComp,
745 const css::awt::Size& rSize,
746 css::uno::Reference< css::drawing::XShape > *pShape,
bool bFloatingCtrl)
override;
749 css::uno::Reference< css::drawing::XShape > *pShapeRef,
750 bool bFloatingCtrl=
false );
772 const int _nCalledByGroup )
const override;
857 wwULSpaceData& rData)
const;
862 const wwSection &rSection,
bool bIgnoreCols);
871 sal_uInt32 nNetWidth);
948 : msSeed(rSeed), mnImportedGraphicsCount(0), mbIsDisabled(bIsDisabled)
964 : mrDoc(rDoc), msFileLinkSeed(rSeed), mnFileSectionNo(0)
986 : mbStartApo(false), mbStopApo(false), m_bHasSprm37(false)
987 , m_bHasSprm29(false), m_nSprm29(0), mpStyleApo(nullptr) {}
989 bool HasFrame()
const {
return (m_bHasSprm29 || m_bHasSprm37 || mpStyleApo); }
1013 #define MAX_COL 64 // WW6-description: 32, WW6-UI: 31 & WW8-UI: 63!
1047 return nWwCol <
SAL_N_ELEMENTS(nTransCell) ? nTransCell[nWwCol] : 0xFF;
1227 std::unique_ptr<WW8ListManager, o3tl::default_delete<WW8ListManager>>
m_xLstManager;
1389 bool StyleExists(
unsigned int nColl)
const {
return (nColl < m_vColl.size()); }
1408 void DeleteStack(std::unique_ptr<SwFltControlStack> prStck);
1434 bool bCallProcessSpecial);
1441 sal_Int32 nTableSiz,
SwDoc& rDoc );
1446 void ImportTox(
int nFieldId,
const OUString& aStr );
1448 void EndSprm( sal_uInt16 nId );
1452 const bool bFirstLineOfStSet =
false,
1453 const bool bLeftIndentSet =
false );
1457 bool SetNewFontAttr(sal_uInt16 nFCode,
bool bSetEnums, sal_uInt16 nWhich);
1475 short *pSizeArray=
nullptr,
sal_uInt8 nSetBorders=0xFF);
1516 bool ReadGrafFile(OUString& rFileName, std::unique_ptr<Graphic>& rpGraphic,
1523 const Graphic* pGraph,
const OUString& rFileName,
1527 const Graphic* pGraph,
const OUString& rFileName,
1574 size_t nStart,
size_t nElements,
bool bOutline);
1597 sal_uInt16 nSequence);
1602 bool bMakeSdrGrafObj,
bool& rbEraseTextObj,
1603 bool* pbTestTxbxContainsText =
nullptr,
tools::Long* pnStartCp =
nullptr,
1604 tools::Long* pnEndCp =
nullptr,
bool* pbContainsGraphics =
nullptr,
1618 sal_Int16 eHoriOri, sal_Int16 eHoriRel);
1638 void InsertTagField(
const sal_uInt16 nId,
const OUString& rTagText );
1646 const bool bSetAttr =
true);
1649 void SetStylesList(sal_uInt16 nStyle, sal_uInt16 nCurrentLFO,
1662 void ChkToggleAttr_( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask );
1666 if( nOldStyle81Mask != nNewStyle81Mask &&
1667 m_xCtrlStck->GetToggleAttrFlags() )
1675 if( nOldStyle81Mask != nNewStyle81Mask &&
1676 m_xCtrlStck->GetToggleBiDiAttrFlags() )
1683 bool bTableJoin =
true);
1692 {
return !m_aFieldStack.empty() && m_aFieldStack.back().mnFieldId == 95; };
1699 void ReadGlobalTemplateSettings( std::u16string_view sCreatedFrom,
const css::uno::Reference< css::container::XNameContainer >& xPrjNameMap );
1709 bool IsParaEndInCPs(sal_Int32 , sal_Int32,
bool bSdOD=
true)
const;
1737 void openFont(sal_uInt16 nFCode, sal_uInt16 nId);
1838 const OUString &rData);
1849 int nWhichDefault,
bool bHijri =
false);
1868 css::uno::Reference<css::beans::XPropertySet>
const & rPropSet);
1898 std::unique_ptr<SfxItemSet>
SetCurrentItemSet(std::unique_ptr<SfxItemSet> pItemSet);
1909 SwDoc& rD,
const OUString& rBaseURL,
bool bNewDoc,
bool bSkipImages,
SwPosition const &rPos );
1931 const bool bFirstLineOfStSet,
1932 const bool bLeftIndentSet );
1936 sal_Int16 eHoriOri, sal_Int16 eHoriRel,
SwTwips nPageLeft,
SwNodeIndex GetPtNode() const
eF_ResT Read_F_Set(WW8FieldDesc *, OUString &rStr)
void Read_ListLevel(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
sal_uInt32 GetTextAreaWidth() const
Instances of SwFields and those derived from it occur 0 to n times.
void InsertTagField(const sal_uInt16 nId, const OUString &rTagText)
void AdjustLVL(sal_uInt8 nLevel, SwNumRule &rNumRule, WW8aISet const &rListItemSet, WW8aCFormat &aCharFormat, bool &bNewCharFormatCreated, const OUString &aPrefix=OUString())
SwWW8FltControlStack & operator=(const SwWW8FltControlStack &)=delete
std::unique_ptr< WW8PLCF_HdFt > m_xHdFt
SwFrameFormat * ImportGraf1(WW8_PIC const &rPic, SvStream *pSt, sal_uLong nFilePos)
void Read_Language(sal_uInt16, const sal_uInt8 *, short nLen)
std::unordered_map< sal_uInt32, Graphic > aOldEscherBlipCache
const OUString * GetAnnotationAuthor(sal_uInt16 nIdx)
void EndExtSprm(sal_uInt16 nSprmId)
Exporter of the binary Word file formats.
std::unique_ptr< SwWW8FltControlStack > m_xCtrlStck
void SetCurrentSectionVerticalAdjustment(const css::drawing::TextVerticalAdjust nVA)
rtl_TextEncoding m_eLTRFontSrcCharSet
sal_uLong GetIndex() const
sal_uInt8 m_nWantedVersion
WW8_CP GetCurrAttrCP() const
void SyncIndentWithList(SvxLRSpaceItem &rLR, const SwNumFormat &rFormat, const bool bFirstLineOfStSet, const bool bLeftIndentSet)
sal_Int32 mnImportedGraphicsCount
SdrObject * ReadPolyLine(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
sw::util::CharStyleMapper m_aCharStyleMapper
static sal_Int32 MatchSdrBoxIntoFlyBoxItem(const Color &rLineColor, MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, sal_Int32 &rLineWidth, SvxBoxItem &rBox)
sal_uInt32 GetPageLeft() const
std::map< OUString, css::uno::Any > parameter_map_t
static SwFrameFormat * ContainsSingleInlineGraphic(const SwPaM &rRegion)
Represents the style of a paragraph.
std::deque< wwSection >::iterator mySegIter
Marks a position in the document model.
rtl_TextEncoding m_eStructCharSet
void Read_FieldVanish(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
SwWW8FltControlStack(SwDoc &rDo, sal_uLong nFieldFl, SwWW8ImplReader &rReader_)
ErrCode SetSubStreams(tools::SvRef< SotStorageStream > &rTableStream, tools::SvRef< SotStorageStream > &rDataStream)
void ReadDocInfo()
Document Info.
bool InEqualOrHigherApo(int nLvl) const
bool m_bNotifyMacroEventRead
sal_uInt16 nToggleAttrFlags
sal_Int32 GetRangeAsDrawingString(OUString &rString, tools::Long StartCp, tools::Long nEndCp, ManTypes eType)
eF_ResT Read_F_DateTime(WW8FieldDesc *, OUString &rStr)
static sal_uInt32 GetFilterFlags()
std::unique_ptr< WW8RStyle > m_xStyles
void SetHlink(const OUString &rHlink)
ReturnType ulimit_cast(Type nValue, ReturnType nMax)
SwFlyFrameFormat * m_pFlyFormatOfJustInsertedGraphic
SwWW8FltAnchorStack(SwDoc &rDo, sal_uLong nFieldFl)
SdrObject * ReadCaptionBox(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
std::unique_ptr< std::vector< OUString > > m_pAtnNames
Pagedescriptor Client of SwPageDesc that is "described" by the attribute.
SwMSDffManager(const SwMSDffManager &)=delete
ErrCode LoadThroughDecryption(WW8Glossary *pGloss)
bool ProcessSpecial(bool &rbReSync, WW8_CP nStartCp)
static Color ExtractColour(const sal_uInt8 *&rpData, bool bVer67)
void Read_HdFtTextAsHackedFrame(WW8_CP nStart, WW8_CP nLen, SwFrameFormat const &rHdFtFormat, sal_uInt16 nPageWidth)
void NotifyMacroEventRead()
sal_uInt32 m_nFieldTagAlways[3]
void StartAnl(const sal_uInt8 *pSprm13)
bool RTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth, sal_Int16 eHoriOri, sal_Int16 eHoriRel, SwTwips nPageLeft, SwTwips nPageRight, SwTwips nPageSize)
std::stack< std::unique_ptr< sw::util::RedlineStack > > m_aFrameRedlines
eF_ResT Read_F_Num(WW8FieldDesc *pF, OUString &)
void Read_TextBackColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
void ReadDef(bool bVer67, const sal_uInt8 *pS, short nLen)
sal_uInt32 GetWWPageTopMargin() const
sw::util::AuthorInfos m_aAuthorInfos
void Read_ApoPPC(sal_uInt16, const sal_uInt8 *pData, short)
SwNumRule * m_pOutlineNumrule
size_t GetWW8LSTInfoNum() const
bool SearchRowEnd(WW8PLCFx_Cp_FKP *pPap, WW8_CP &rStartCp, int nLevel) const
void Read_CColl(sal_uInt16, const sal_uInt8 *, short nLen)
virtual bool IsParaEndInCPs(sal_Int32 nStart, sal_Int32 nEnd, bool bSdOD) const override
void Read_CFRMark(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::deque< WW8FieldEntry > maOldFieldStack
wwSection(const SwPosition &rPos)
tools::Long Read_And(WW8PLCFManResult *pRes)
Use authornames, if not available fall back to initials.
void SetBookmarkType(const OUString &bookmarkType)
void ReadAttrs(WW8_CP &rTextPos, WW8_CP &rNext, tools::Long nTextEnd, bool &rbStartLine)
void CreateSep(const tools::Long nTextPos)
virtual bool ReadGlossaries(SwTextBlocks &, bool bSaveRelFiles) const override
void Read_SubSuperProp(sal_uInt16, const sal_uInt8 *, short nLen)
static bool SetBorder(SvxBoxItem &rBox, const WW8_BRCVer9 *pbrc, short *pSizeArray=nullptr, sal_uInt8 nSetBorders=0xFF)
bool get_flag(Type nBitField, Type nMask)
void Read_IdctHint(sal_uInt16, const sal_uInt8 *, short nLen)
void simpleAddTextToParagraph(const OUString &rAddString)
eF_ResT Read_F_InputVar(WW8FieldDesc *, OUString &rStr)
eF_ResT Read_F_Author(WW8FieldDesc *, OUString &)
void Read_Bidi(sal_uInt16 nId, const sal_uInt8 *, short nLen)
void SetHdFt(wwSection const &rSection, int nSect, const wwSection *pPrevious)
void MatchSdrItemsIntoFlySet(SdrObject const *pSdrObj, SfxItemSet &aFlySet, MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, tools::Rectangle &rInnerDist)
SwFieldType * m_pNumFieldType
virtual SwFltStackEntry * SetAttr(const SwPosition &rPos, sal_uInt16 nAttrId, bool bTstEnd=true, tools::Long nHand=LONG_MAX, bool consumedByField=false) override
std::vector< sal_uInt8 > bytes
rtl_TextEncoding GetCharSetFromLanguage()
rtl_TextEncoding m_eCJKFontSrcCharSet
rtl_TextEncoding GetCharSet() const
void Read_BoolItem(sal_uInt16 nId, const sal_uInt8 *, short nLen)
bool IsObjectLayoutInTableCell(const sal_uInt32 nLayoutInTableCell) const
static bool ImportOleWMF(const tools::SvRef< SotStorage > &xSrc1, GDIMetaFile &rWMF, tools::Long &rX, tools::Long &rY)
void SetNCurrentColl(sal_uInt16 nColl)
SwNumRule * GetNumRule(const SwDoc &rDoc, sal_uInt8 nNumType)
wwFrameNamer m_aGrfNameGenerator
void Read_HdFtText(WW8_CP nStartCp, WW8_CP nLen, SwFrameFormat const *pHdFtFormat)
Base class of all fields.
std::unique_ptr< SwWW8FltRefStack > m_xReffingStck
wwExtraneousParas m_aExtraneousParas
static void AdjustLRWrapForWordMargins(const SvxMSDffImportRec &rRecord, SvxLRSpaceItem &rLR)
void MakeTagString(OUString &rStr, const OUString &rOrg)
std::map< sal_uInt16, std::size_t > AuthorInfos
Redlining Authors, map word author key to writer author value.
void ImportDopTypography(const WW8DopTypography &rTypo)
void ReadGlobalTemplateSettings(std::u16string_view sCreatedFrom, const css::uno::Reference< css::container::XNameContainer > &xPrjNameMap)
bool GetFontParams(sal_uInt16, FontFamily &, OUString &, FontPitch &, rtl_TextEncoding &)
virtual SwReaderType GetReaderType() override
void SetAttributesAtGrfNode(SvxMSDffImportRec const *pRecord, SwFrameFormat const *pFlyFormat, WW8_FSPA const *pF)
bool FloatingTableConversion(WW8PLCFx_Cp_FKP *pPap)
static sal_Int32 GetEscherLineMatch(MSO_LineStyle eStyle, MSO_SPT eShapeType, sal_Int32 &rThick)
std::unique_ptr< FrameDeleteWatch > m_xFormatOfJustInsertedApo
const OUString & GetTarFrame() const
WW8PLCFxSaveAll maPLCFxSave
std::unique_ptr< WW8FlyPara > m_xWFlyPara
void Read_Underline(sal_uInt16, const sal_uInt8 *, short nLen)
std::shared_ptr< WW8Fib > m_xWwFib
bool StyleExists(unsigned int nColl) const
void Read_TextVerticalAdjustment(sal_uInt16, const sal_uInt8 *pData, short nLen)
SwCharFormat * WW8aCFormat[nMaxLevel]
bool HasTitlePage() const
std::unique_ptr< EditEngine > m_pDrawEditEngine
void SetToggleAttr(sal_uInt8 nId, bool bOn)
void InsertFormula(WW8FormulaControl &rFormula)
static void GetBorderDistance(const WW8_BRCVer9 *pbrc, tools::Rectangle &rInnerDist)
RndStdIds ProcessEscherAlign(SvxMSDffImportRec *pRecord, WW8_FSPA *pFSPA, SfxItemSet &rFlySet)
sal_uInt8 mnWW8OutlineLevel
std::unique_ptr< WW8TabDesc > m_xTableDesc
void Read_POutLvl(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::unique_ptr< SwPaM > m_pPosAfterTOC
std::unique_ptr< WW8ListManager, o3tl::default_delete< WW8ListManager > > m_xLstManager
bool CanUseRemoteLink(const OUString &rGrfName)
sal_uInt32 GetTextAreaWidth() const
rtl_TextEncoding GetCJKCharSet() const
std::unique_ptr< SwMSDffManager > m_xMSDffManager
const SfxPoolItem * GetFormatAttr(sal_uInt16 nWhich)
void Read_OLST(sal_uInt16, const sal_uInt8 *pData, short nLen)
void StopAnlToRestart(sal_uInt8 nType, bool bGoBack=true)
Dialog to specify the properties of date form field.
void ProcessSprmTDelete(const sal_uInt8 *pParamsTDelete)
sal_uInt16 m_n81BiDiFlags
void MoveInsideFly(const SwFrameFormat *pFlyFormat)
std::shared_ptr< T > make_shared(Args &&...args)
o3tl::sorted_vector< const SwNode * > m_aTextNodesHavingLeftIndentSet
std::unique_ptr< WW8SmartTagData > m_pSmartTagData
sal_uInt32 GetPageWidth() const
rtl_TextEncoding GetCurrentCJKCharSet()
bool ReadChars(WW8_CP &rPos, WW8_CP nNextAttr, tools::Long nTextEnd, tools::Long nCpOfs)
Return value: true for para end.
void CloseAttrEnds()
CloseAttrEnds to only read the attribute ends at the end of a text or a text area (Header...
void HandleLineNumbering(const wwSection &rSection)
eF_ResT Read_F_Macro(WW8FieldDesc *, OUString &rStr)
std::unique_ptr< sw::util::RedlineStack > mxOldRedlines
wwSectionManager & operator=(const wwSectionManager &)=delete
SwWW8ImplReader & rReader
const WW8Fib & GetFib() const
bool JoinNode(SwPaM &rPam, bool bStealAttr=false)
bool m_bRegardHindiDigits
SwNumRule * GetNumRule(size_t i)
void SetCurrentSectionHasFootnote()
bool ConvertSubToGraphicPlacement()
void Read(sal_uInt8 nSprm29, WW8PLCFx_Cp_FKP *pPap)
bool ReadChar(tools::Long nPosCp, tools::Long nCpOfs)
bool m_bListRelevantIndentSet
SwFrameFormat * ImportOle(const Graphic *=nullptr, const SfxItemSet *pFlySet=nullptr, const SfxItemSet *pGrfSet=nullptr, const tools::Rectangle &aVisArea=tools::Rectangle())
bool StartTable(WW8_CP nStartCp)
eF_ResT Read_F_Shape(WW8FieldDesc *pF, OUString &rStr)
const OUString & GetName() const
const SfxPoolItem * GetFormatAttr(const SwPosition &rPos, sal_uInt16 nWhich)
void ReadShd(const sal_uInt8 *pS)
eF_ResT Read_F_Seq(WW8FieldDesc *, OUString &rStr)
void ReadFull(sal_uInt8 nSprm29, SwWW8ImplReader *pIo)
rtl_TextEncoding m_eHardCharSet
wwFrameNamer & operator=(wwFrameNamer const &)=delete
bool ImportFormulaControl(WW8FormulaControl &rBox, WW8_CP nStart, SwWw8ControlType nWhich)
void Read_ANLevelDesc(sal_uInt16, const sal_uInt8 *pData, short nLen)
rtl_TextEncoding m_eRTLFontSrcCharSet
static LanguageType nLang
bool IsFixedHeightFooter() const
const OUString & GetHlink() const
void RegisterNumFormat(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel)
static void SetNumberingType(const wwSection &rNewSection, SwPageDesc &rPageDesc)
void SetSegmentToPageDesc(const wwSection &rSection, bool bIgnoreCols)
SdrObject * ReadEllipse(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
SwTwips MoveOutsideFly(SwFrameFormat *pFlyFormat, const SwPosition &rPos, bool bTableJoin=true)
virtual sal_Int32 GetCurrAttrCP() const override
static SvxNumType GetSvxNumTypeFromMSONFC(sal_uInt16 nMSONFC)
SwFlyFrameFormat * InsertOle(SdrOle2Obj &rObject, const SfxItemSet &rFlySet, const SfxItemSet *rGrfSet)
std::unique_ptr< sw::util::RedlineStack > m_xRedlineStack
WW8LSTInfo * GetLSTByListId(sal_uInt32 nIdLst) const
void Read_ParaContextualSpacing(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
void SetToggleBiDiAttr(sal_uInt8 nId, bool bOn)
void Read_Border(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
std::deque< FootnoteDescriptor > m_aFootnoteStack
static void SetLeftRight(wwSection &rSection)
void Read_LFOPosition(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
read and interpret the sprmPIlfo used to determine which list contains the paragraph.
void Read_ParaAutoAfter(sal_uInt16, const sal_uInt8 *pData, short nLen)
wwSprmParser maSprmParser
sal_Int32 StandardColSeparation() const
const SwNumRule * m_pPrevNumRule
wwSectionManager(SwWW8ImplReader &rReader)
void emulateMSWordAddTextToParagraph(const OUString &rAddString)
void GetSmartTagInfo(SwFltRDFMark &rMark)
bool HasOwnHeaderFooter(sal_uInt8 nWhichItems, sal_uInt8 grpfIhdt, int nSect)
Stores RDF statements on a paragraph (key-value pairs where the subject is the paragraph).
sal_uInt16 GetWWStyleId() const
void Read_Relief(sal_uInt16, const sal_uInt8 *pData, short nLen)
SwMacroInfo & operator=(SwMacroInfo const &)=delete
bool IsInlineEscherHack() const
void Read_Kern(sal_uInt16, const sal_uInt8 *pData, short nLen)
ErrCode DecryptDRMPackage()
std::unique_ptr< SwWW8ReferencedFltEndStack > m_xReffedStck
std::unique_ptr< SfxItemSet > m_xScratchSet
virtual SdrObject * ImportOLE(sal_uInt32 nOLEId, const Graphic &rGrf, const tools::Rectangle &rBoundRect, const tools::Rectangle &rVisArea, const int _nCalledByGroup) const override
std::shared_ptr< WW8FlyPara > m_xWWFly
std::vector< SwWW8StyInf > m_vColl
void ProcessCurrentCollChange(WW8PLCFManResult &rRes, bool *pStartAttr, bool bCallProcessSpecial)
void SetRelativeJustify(bool bRel)
void Read_Shade(sal_uInt16, const sal_uInt8 *pData, short nLen)
SwFormat * m_pStandardFormatColl
Knows which writer style a given word style should be imported as.
SwFlyFrameFormat * ImportReplaceableDrawables(SdrObject *&rpObject, SdrObject *&rpOurNewObject, SvxMSDffImportRec *pRecord, WW8_FSPA *pF, SfxItemSet &rFlySet)
void Read_ParaAutoBefore(sal_uInt16, const sal_uInt8 *pData, short nLen)
SwMSConvertControls(SfxObjectShell const *pDSh, SwPaM *pP)
std::unique_ptr< SfxItemSet > WW8aISet[nMaxLevel]
eF_ResT Read_F_DBNum(WW8FieldDesc *, OUString &)
std::unique_ptr< SwPosition > m_pLastAnchorPos
void Read_Obj(sal_uInt16, const sal_uInt8 *, short nLen)
wwSectionNamer & operator=(const wwSectionNamer &)=delete
const SwTextFormatColl * m_pDfltTextFormatColl
sw::util::ParaStyleMapper m_aParaStyleMapper
virtual bool CheckSdOD(sal_Int32 nStart, sal_Int32 nEnd) override
SwSectionFormat * InsertSection(SwPaM const &rMyPaM, wwSection &rSection)
void Read_Justify(sal_uInt16, const sal_uInt8 *, short nLen)
virtual bool HasGlossaries() const override
sal_uInt32 GetPageLeft() const
void Read_Hyphenation(sal_uInt16, const sal_uInt8 *pData, short nLen)
exports com.sun.star. drawing
bool IsWW8BuiltInHeadingStyle() const
virtual void ClearParaEndPosition() override
Clear the para end position recorded in reader intermittently for the least impact on loading perform...
void InsertTxbxText(SdrTextObj *pTextObj, Size const *pObjSiz, sal_uInt16 nTxBxS, sal_uInt16 nSequence, tools::Long nPosCp, SwFrameFormat const *pFlyFormat, bool bMakeSdrGrafObj, bool &rbEraseTextObj, bool *pbTestTxbxContainsText=nullptr, tools::Long *pnStartCp=nullptr, tools::Long *pnEndCp=nullptr, bool *pbContainsGraphics=nullptr, SvxMSDffImportRec const *pRecord=nullptr)
static bool GetPictGrafFromStream(Graphic &rGraphic, SvStream &rSrc)
void SetBookmarkCode(const OUString &bookmarkCode)
void InsertTxbxStyAttrs(SfxItemSet &rS, sal_uInt16 nColl)
void ProcessSpecificSpacing(const sal_uInt8 *pParamsTInsert)
eF_ResT Read_F_IncludeText(WW8FieldDesc *, OUString &rStr)
::sw::mark::IFieldmark::parameter_map_t maParams
void Read_TextColor(sal_uInt16, const sal_uInt8 *, short nLen)
bool m_bLoadingTOXHyperlink
bool operator==(const WW8FlyPara &rSrc) const
std::map< OUString, OUString, SwWW8::ltstr > aFieldVarNames
void ProcessSprmTDxaCol(const sal_uInt8 *pParamsTDxaCol)
SwFltStackEntry * RefToVar(const SwField *pField, SwFltStackEntry &rEntry)
static sal_uInt8 nTablePos
eF_ResT Read_F_PgRef(WW8FieldDesc *, OUString &rStr)
bool StartApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
void Read_FontKern(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Swap(WW8FieldEntry &rOther)
void DisableFallbackStream()
tools::Long ReadTextAttr(WW8_CP &rTextPos, tools::Long nTextEnd, bool &rbStartLine, int nDepthGuard=0)
void Read_ScaleWidth(sal_uInt16, const sal_uInt8 *pData, short nLen)
bool IsNotProtected() const
SwWW8ImplReader(const SwWW8ImplReader &)=delete
#define SAL_N_ELEMENTS(arr)
sal_uInt16 GetCurrentColl() const
wwSectionManager(const wwSectionManager &)=delete
void Read_CFRMarkDel(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_Symbol(sal_uInt16, const sal_uInt8 *pData, short nLen)
void SetStylesList(sal_uInt16 nStyle, sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel)
tools::Long MapBookmarkVariables(const WW8FieldDesc *pF, OUString &rOrigName, const OUString &rData)
void Read_KeepParas(sal_uInt16, const sal_uInt8 *pData, short nLen)
WW8_CP Read_F_Tag(WW8FieldDesc *pF)
void ExportControl(WW8Export &rWrt, const SdrUnoObj &rFormObj)
void Read_SubF_Ruby(msfilter::util::WW8ReadFieldParams &rReadParam)
SwFrameFormat * Read_GrafLayer(tools::Long nGrafAnchorCp)
void Read_CharBorder(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
void StopAllAnl(bool bGoBack=true)
eF_ResT Read_F_FormCheckBox(WW8FieldDesc *pF, OUString &rStr)
WW8FlyPara(bool bIsVer67, const WW8FlyPara *pSrc=nullptr)
eF_ResT Read_F_DBField(WW8FieldDesc *, OUString &rStr)
PaM is Point and Mark: a selection of the document model.
void PrependedInlineNode(const SwPosition &rPos, const SwNode &rNode)
sal_uInt16 GetToggleAttrFlags() const
std::unique_ptr< wwZOrderer > m_xWWZOrder
eF_ResT Read_F_TemplName(WW8FieldDesc *, OUString &)
bool CurrentSectionIsProtected() const
void Read_CRevisionMark(RedlineType eType, const sal_uInt8 *pData, short nLen)
WW8_BRCVer9 WW8_BRCVer9_5[5]
short ImportSprm(const sal_uInt8 *pPos, sal_Int32 nMemLen, sal_uInt16 nId=0)
ApoTestResults TestApo(int nCellLevel, bool bTableRowEnd, const WW8_TablePos *pTabPos)
void MatchEscherMirrorIntoFlySet(const SvxMSDffImportRec &rRecord, SfxItemSet &rFlySet)
sal_Int32 GetPtContent() const
eF_ResT Read_F_Symbol(WW8FieldDesc *, OUString &rStr)
sal_uInt16 TabRowSprm(int nLevel) const
SwWW8FltRefStack(SwDoc &rDo, sal_uLong nFieldFl)
std::vector< WW8_CP > m_aEndParaPos
static bool IsBorder(const WW8_BRCVer9 *pbrc, bool bChkBtwn=false)
void CopyPageDescHdFt(const SwPageDesc *pOrgPageDesc, SwPageDesc *pNewPageDesc, sal_uInt8 nCode)
void SetUniqueGraphName(SwFrameFormat *pFrameFormat, std::u16string_view rFixedPart)
bool TestSameApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
void Read_UL(sal_uInt16 nId, const sal_uInt8 *, short nLen)
sal_uInt16 m_nCurrentColl
wwSectionManager m_aSectionManager
o3tl::sorted_vector< const SwNode * > m_aTextNodesHavingFirstLineOfstSet
bool HasWW8OutlineLevel() const
void EnableFallbackStream()
bool operator()(const OUString &r1, std::u16string_view r2) const
void SetShapeId(sal_Int32 rShapeId)
wwFrameNamer(bool bIsDisabled, const OUString &rSeed)
among others for fields, that is, the same number of attr as positions, if Ctor-Param bNoEnd = false ...
std::unique_ptr< WW8ScannerBase > m_xSBase
void SetToggleAttrFlags(sal_uInt16 nFlags)
class SAL_NO_VTABLE XPropertySet
std::unique_ptr< SfxItemSet > SetCurrentItemSet(std::unique_ptr< SfxItemSet > pItemSet)
void Read_Majority(sal_uInt16, const sal_uInt8 *, short)
Read_Majority is for Majority (103) and Majority50 (108)
std::map< short, OUString > m_aLinkStringMap
bool ReadText(WW8_CP nStartCp, WW8_CP nTextLen, ManTypes nType)
void DeleteStack(std::unique_ptr< SwFltControlStack > prStck)
bool TxbxChainContainsRealText(sal_uInt16 nTxBxS, tools::Long &rStartCp, tools::Long &rEndCp)
void ClearParaEndPosition()
void Read_StyleCode(sal_uInt16, const sal_uInt8 *pData, short nLen)
Special FastSave - Attributes.
bool GetTxbxTextSttEndCp(WW8_CP &rStartCp, WW8_CP &rEndCp, sal_uInt16 nTxBxS, sal_uInt16 nSequence)
eF_ResT Read_F_FileName(WW8FieldDesc *, OUString &rStr)
bool IsWW8BuiltInDefaultStyle() const
tools::Long Read_Footnote(WW8PLCFManResult *pRes)
void Read_HdFt(int nSect, const SwPageDesc *pPrev, const wwSection &rSection)
SwFrameFormat * AddAutoAnchor(SwFrameFormat *pFormat)
void Read_AmbiguousSPRM(sal_uInt16 nId, const sal_uInt8 *, short nLen)
tools::Long ImportExtSprm(WW8PLCFManResult *pRes)
std::unique_ptr< OutlinerParaObject > ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType)
void SetAnld(SwNumRule *pNumR, WW8_ANLD const *pAD, sal_uInt8 nSwLevel, bool bOutLine)
bool IsListOrDropcap() const
SdrObject * ReadRect(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
bool ReadPlainChars(WW8_CP &rPos, sal_Int32 nEnd, sal_Int32 nCpOfs)
Return value: true for non special chars.
void Read_ANLevelNo(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_WidowControl(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::unique_ptr< SwMSConvertControls > m_xFormImpl
std::shared_ptr< SvxLRSpaceItem > maWordLR
static sal_uInt16 GetParagraphAutoSpace(bool fDontUseHTMLAutoSpacing)
SwWW8Shade(Color nFore, Color nBack, sal_uInt16 nIndex)
rtl_TextEncoding GetCurrentCharSet()
virtual ~SwMacroInfo() override
void SetNumOlst(SwNumRule *pNumR, WW8_OLST *pO, sal_uInt8 nSwLevel)
static void StripNegativeAfterIndent(SwFrameFormat const *pFlyFormat)
std::unique_ptr< SwWW8FltAnchorStack > mxOldAnchorStck
void Read_BoldUsw(sal_uInt16 nId, const sal_uInt8 *, short nLen)
void RegisterNumFormatOnStyle(sal_uInt16 nStyle)
rtl_TextEncoding m_eTextCharSet
virtual SdrObject * ProcessObj(SvStream &rSt, DffObjData &rObjData, SvxMSDffClientData &rData, tools::Rectangle &rTextRect, SdrObject *pObj) override
std::unique_ptr< WW8TabDesc > mxTableDesc
sal_uInt8 transCell(sal_uInt8 nWwCol) const
void NewAttr(const SfxPoolItem &rAttr, const bool bFirstLineOfStSet=false, const bool bLeftIndentSet=false)
void AppendTextNode(SwPosition &rPos)
WW8TabBandDesc * pNextBand
virtual bool InsertControl(const css::uno::Reference< css::form::XFormComponent > &rFComp, const css::awt::Size &rSize, css::uno::Reference< css::drawing::XShape > *pShape, bool bFloatingCtrl) override
bool ForceFieldLanguage(SwField &rField, LanguageType nLang)
Handle requirements for table formatting in insert->file mode.
eF_ResT Read_F_Embedd(WW8FieldDesc *, OUString &rStr)
eF_ResT Read_F_Ref(WW8FieldDesc *pF, OUString &)
wwSectionNamer(const SwDoc &rDoc, const OUString &rSeed)
std::set< sal_uLong > m_aGrafPosSet
eF_ResT Read_F_FormTextBox(WW8FieldDesc *pF, OUString &rStr)
void SetAnlvStrings(SwNumFormat &rNum, WW8_ANLV const &rAV, const sal_uInt8 *pText, size_t nStart, size_t nElements, bool bOutline)
void Restore(SwWW8ImplReader *pRdr)
void ImportTox(int nFieldId, const OUString &aStr)
std::set< WW8_CP > cp_set
const SfxPoolItem * GetStackAttr(const SwPosition &rPos, sal_uInt16 nWhich)
tools::Long GetListFirstLineIndent(const SwNumFormat &rFormat)
eF_ResT Read_F_Tox(WW8FieldDesc *pF, OUString &rStr)
sal_uInt16 nLastLFOPosition
SwWW8FltAnchorStack & operator=(const SwWW8FltAnchorStack &)=delete
std::unique_ptr< WW8PostProcessAttrsInfo > m_pPostProcessAttrsInfo
void SetTarFrame(const OUString &rTarFrame)
bool PageRestartNo() const
std::unique_ptr< WW8Dop > m_xWDop
void Read_UsePgsuSettings(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::stack< rtl_TextEncoding > m_aFontSrcCharSets
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
sal_uInt16 GetToggleAttrFlags() const
const OUString & GetBookmarkCode() const
Marks a node in the document model.
void Read_LR(sal_uInt16 nId, const sal_uInt8 *, short nLen)
const SwNodeIndex & GetPtNode() const
void Read_UnderlineColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_FontSize(sal_uInt16, const sal_uInt8 *, short nLen)
short nOverrideValues[MAX_COL+1][4]
const OUString & GetBookmarkName() const
SwWW8StyInf * GetStyle(sal_uInt16 nColl) const
std::vector< std::unique_ptr< WW8LSTInfo > > maLSTInfos
void ProcessSpacing(const sal_uInt8 *pParamsTInsert)
std::unique_ptr< WW8SwFlyPara > mpSFlyPara
void SetBookmarkName(const OUString &bookmarkName)
::sw::mark::IFieldmark::parameter_map_t & getParameters()
bool SearchTableEnd(WW8PLCFx_Cp_FKP *pPap) const
Seek to the end of the table with pPap, returns true on success.
const SwNumRule * GetOutlineNumrule() const
void NewAttr(const SwPosition &rPos, const SfxPoolItem &rAttr)
Stack.
sal_uInt32 m_nFieldTagBad[3]
eF_ResT Read_F_FormListBox(WW8FieldDesc *pF, OUString &rStr)
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
bool IsContinuous() const
sal_uInt16 StyleUsingLFO(sal_uInt16 nLFOIndex) const
tools::Long Read_FactoidBook(WW8PLCFManResult *)
std::unique_ptr< WW8Fonts > m_xFonts
std::vector< std::unique_ptr< WW8LFOInfo > > m_LFOInfos
std::set< OUString, SwWW8::ltstr > aReferencedTOCBookmarks
SvStream * pFallbackStream
SwFlyFrameFormat * MakeGrafNotInContent(const WW8PicDesc &rPD, const Graphic *pGraph, const OUString &rFileName, const SfxItemSet &rGrfSet)
static void MapWrapIntoFlyFormat(SvxMSDffImportRec const *pRecord, SwFrameFormat *pFlyFormat)
SwWW8ImplReader & mrReader
std::stack< rtl_TextEncoding > m_aFontSrcCJKCharSets
std::deque< bool > m_aApos
void Read_TextForeColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Knows which writer style a given word style should be imported as.
bool ReadGrafStart(void *pData, short nDataSiz, WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
SwFrameFormat * MungeTextIntoDrawBox(SvxMSDffImportRec *pRecord, tools::Long nGrafAnchorCp, SwFrameFormat *pRetFrameFormat)
void EndSprm(sal_uInt16 nId)
std::stack< std::unique_ptr< WW8TabDesc > > m_aTableStack
void Read_CPropRMark(sal_uInt16, const sal_uInt8 *pData, short nLen)
static sal_Unicode TranslateToHindiNumbers(sal_Unicode)
void SetDocumentGrid(SwFrameFormat &rFormat, const wwSection &rSection)
bool IsFixedHeightHeader() const
sal_uInt32 GetPageRight() const
tools::Long Read_AtnBook(WW8PLCFManResult *)
void RegisterNumFormatOnTextNode(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel, const bool bSetAttr=true)
WW8PostProcessAttrsInfo(WW8_CP nCpStart, WW8_CP nCpEnd, SwPaM &rPaM)
void Read_TabCellEnd(sal_uInt16, const sal_uInt8 *pData, short nLen)
SwPaM * m_pPreviousNumPaM
static bool LangUsesHindiNumbers(LanguageType nLang)
SwTextNode * m_pPreviousNode
void SetToggleBiDiAttrFlags(sal_uInt16 nFlags)
bool SetLowerSpacing(SwPaM &rMyPam, int nSpace)
const OUString & GetOrgWWName() const
sw::util::InsertedTablesManager m_aInsertedTables
static void AdjustULWrapForWordMargins(const SvxMSDffImportRec &rRecord, SvxULSpaceItem &rUL)
bool SetSpacing(SwPaM &rMyPam, int nSpace, bool bIsUpper)
void Read_CharHighlight(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_BreakBefore(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::vector< const SwCharFormat * > m_aRubyCharFormats
bool m_bCareFirstParaEndInToc
OUString ConvertFFileName(const OUString &rRaw)
translate FieldParameter names into the system character set and at the same time, double backslashes are converted into single ones
exports com.sun.star. beans
static bool SetCols(SwFrameFormat &rFormat, const wwSection &rSection, sal_uInt32 nNetWidth)
SwFlyFrameFormat * ConvertDrawTextToFly(SdrObject *&rpObject, SdrObject *&rpOurNewObject, SvxMSDffImportRec const *pRecord, RndStdIds eAnchor, WW8_FSPA const *pF, SfxItemSet &rFlySet)
SdrObject * ReadTextBox(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
tools::Long Read_Field(WW8PLCFManResult *pRes)
void SetToggleBiDiAttrFlags(sal_uInt16 nFlags)
exports com.sun.star. form
Position(const SwPosition &rPos)
std::unique_ptr< SwWW8FltControlStack > mxOldStck
OUString GetFieldResult(WW8FieldDesc const *pF)
SwTextNode is a paragraph in the document model.
WW8ListManager(SvStream &rSt_, SwWW8ImplReader &rReader_)
void openFont(sal_uInt16 nFCode, sal_uInt16 nId)
ErrCode OpenMainStream(tools::SvRef< SotStorageStream > &rRef, sal_uInt16 &rBuffSize)
SwWW8ImplReader & rReader
ErrCode LoadDoc(WW8Glossary *pGloss=nullptr)
std::unique_ptr< WW8_OLST > m_xNumOlst
WW8ListManager & operator=(const WW8ListManager &)=delete
SwWW8Shade(bool bVer67, const WW8_SHD &rSHD)
static void SetPage(SwPageDesc &rPageDesc, SwFrameFormat &rFormat, const wwSection &rSection, bool bIgnoreCols)
SwWW8FltControlStack(const SwWW8FltControlStack &)=delete
void ChkToggleBiDiAttr_(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
bool InEqualApo(int nLvl) const
void Read_ParaBackColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
void ApplyTabPos(const WW8_TablePos *pTabPos)
void ReadEmbeddedData(SvStream &rStrm, SwDocShell const *pDocShell, struct HyperLinksTable &hlStr)
SvNumFormatType GetTimeDatePara(OUString const &rStr, sal_uInt32 &rFormat, LanguageType &rLang, int nWhichDefault, bool bHijri=false)
const SwNumRule * mpPrevNumRule
bool IsOutlineNumbered() const
bool m_bCurrentAND_fNumberAcross
void Read_TextAnim(sal_uInt16, const sal_uInt8 *pData, short nLen)
sal_uInt16 GetToggleBiDiAttrFlags() const
virtual bool ShapeHasText(sal_uLong nShapeId, sal_uLong nFilePos) const override
When reading a single Box (which possibly is part of a group), we do not yet have enough information ...
OUString BookmarkToWriter(const OUString &rBookmark)
void ChkToggleAttr_(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
bool SectionIsProtected(const wwSection &rSection) const
sal_uInt16 PageStartAt() const
virtual std::unique_ptr< SdrObjUserData > Clone(SdrObject *pObj) const override
eF_ResT Read_F_DBNext(WW8FieldDesc *, OUString &)
SdrObject * ImportOleBase(Graphic &rGraph, const Graphic *pGrf=nullptr, const SfxItemSet *pFlySet=nullptr, const tools::Rectangle &aVisArea=tools::Rectangle())
bool ParseTabPos(WW8_TablePos *aTabPos, WW8PLCFx_Cp_FKP *pPap)
void SetToggleAttr(sal_uInt8 nAttrId, bool bOn)
void Read_LineSpace(sal_uInt16, const sal_uInt8 *, short nLen)
sal_uInt16 End_Footnote()
exports com.sun.star. lang
const o3tl::enumarray< SvxAdjust, unsigned short > aSvxToUnoAdjust USHRT_MAX
static void PicRead(SvStream *pDataStream, WW8_PIC *pPic, bool bVer67)
void SetToggleAttrFlags(sal_uInt16 nFlags)
WW8ReaderSave(SwWW8ImplReader *pRdr, WW8_CP nStart=-1)
Footnotes and Endnotes.
sal_uInt32 GetPageHeight() const
void Read_HdFtFootnoteText(const SwNodeIndex *pSttIdx, WW8_CP nStartCp, WW8_CP nLen, ManTypes nType)
wwSprmParser knows how to take a sequence of bytes and split it up into sprms and their arguments ...
sal_uInt16 CurrentSectionColCount() const
SwFormatPageDesc SetSwFormatPageDesc(mySegIter const &rIter, mySegIter const &rStart, bool bIgnoreCols)
Map a word section to a writer page descriptor.
void ReadGrafLayer1(WW8PLCFspecial *pPF, tools::Long nGrafAnchorCp)
bool operator()(const SwTextNode *r1, const SwTextNode *r2) const
eF_ResT Read_F_OCX(WW8FieldDesc *, OUString &)
eF_ResT Read_F_Input(WW8FieldDesc *, OUString &rStr)
iterator for Piece Table Exceptions of Fkps works on CPs (high-level)
eF_ResT Read_F_ANumber(WW8FieldDesc *, OUString &)
static bool SetFlyBordersShadow(SfxItemSet &rFlySet, const WW8_BRCVer9 *pbrc, short *SizeArray)
void SetOrgWWIdent(const OUString &rName, const sal_uInt16 nId)
void InsertAttrsAsDrawingAttrs(WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType, bool bONLYnPicLocFc=false)
ErrCode CoreLoad(WW8Glossary const *pGloss)
bool ReadLVL(SwNumFormat &rNumFormat, std::unique_ptr< SfxItemSet > &rpItemSet, sal_uInt16 nLevelStyle, bool bSetStartNo, sal_uInt16 nLevel, ww::bytes &rParaSprms)
void ReadRevMarkAuthorStrTabl(SvStream &rStrm, sal_Int32 nTablePos, sal_Int32 nTableSiz, SwDoc &rDoc)
bool IsInvalidOrToBeMergedTabCell() const
FIB - the File Information Block.
eF_ResT Read_F_DocInfo(WW8FieldDesc *pF, OUString &rStr)
SdrObject * CreateContactObject(SwFrameFormat *pFlyFormat)
static bool SetShadow(SvxShadowItem &rShadow, const short *pSizeArray, const WW8_BRCVer9 &aRightBrc)
~WW8ListManager() COVERITY_NOEXCEPT_FALSE
SdrObject * ReadGrafPrimitive(short &rLeft, SfxAllItemSet &rSet)
std::shared_ptr< SwUnoCursor > mpCursor
void SetStyleIndent(SwWW8StyInf &rStyleInfo, const SwNumFormat &rFormat)
auto FilterControlChars(OUString const &rString) -> OUString
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(91)
std::shared_ptr< SvStream > mDecodedStream
void closeFont(sal_uInt16 nId)
eF_ResT Read_F_Styleref(WW8FieldDesc *, OUString &rStr)
Reads a STYLEREF field.
std::deque< bool > maOldApos
void Read_CharShadow(sal_uInt16, const sal_uInt8 *pData, short nLen)
void ChkToggleAttr(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
void Read_Emphasis(sal_uInt16, const sal_uInt8 *pData, short nLen)
std::unique_ptr< WW8FlyPara > mpWFlyPara
void ResetCJKCharSetVars()
void SetUseOn(wwSection &rSection)
static Color GetCol(sal_uInt8 nIco)
void SetShade(Color nFore, Color nBack, sal_uInt16 nIndex)
wwSectionNamer(const wwSectionNamer &)=delete
SwFrameFormat * ImportGraf(SdrTextObj const *pTextObj=nullptr, SwFrameFormat const *pFlyFormat=nullptr)
SwWW8FltRefStack & operator=(const SwWW8FltRefStack &)=delete
sal_uInt16 nToggleBiDiAttrFlags
eF_ResT Read_F_Hyperlink(WW8FieldDesc *, OUString &rStr)
SwNumRule * CreateNextRule(bool bSimple)
virtual ErrCode Read(SwDoc &, const OUString &rBaseURL, SwPaM &, const OUString &) override
std::unique_ptr< wwSprmParser > m_xSprmParser
WW8FieldEntry(SwPosition const &rPos, sal_uInt16 nFieldId)
const sal_Int32 & GetShapeId() const
void Read_PicLoc(sal_uInt16, const sal_uInt8 *pData, short nLen)
void Read_NoLineNumb(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
std::unique_ptr< WW8FlyPara > ConstructApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
static void SetPageBorder(SwFrameFormat &rFormat, const wwSection &rSection)
void UseListIndent(SwWW8StyInf &rStyle, const SwNumFormat &rFormat)
bool m_bCareLastParaEndInToc
void ProcessSprmTTableBorders(int nBrcVer, const sal_uInt8 *pParams, sal_uInt16 nParamsLen)
sal_uInt32 GetPageRight() const
bool IsFootnoteEdnBkmField(const SwFormatField &rFormatField, sal_uInt16 &rBkmNo)
const SwNumFormat * GetNumFormatFromStack(const SwPosition &rPos, const SwTextNode &rTextNode)
SdrObject * ReadArc(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
std::shared_ptr< WW8PLCFMan > m_xPlcxMan
sal_uInt16 GetToggleBiDiAttrFlags() const
void Read_TabRowEnd(sal_uInt16, const sal_uInt8 *pData, short nLen)
sal_uInt32 GetPageWidth() const
bool WillHavePageDescHere(const SwNodeIndex &rIdx) const
SdrObject * ReadLine(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
sal_uInt8 nOverrideSpacing[MAX_COL+1]
std::unique_ptr< WW8SwFlyPara > m_xSFlyPara
wwFrameNamer(wwFrameNamer const &)=delete
static sal_uInt8 WW8OutlineLevelToOutlinelevel(const sal_uInt8 nWW8OutlineLevel)
OUString GetMappedBookmark(const OUString &rOrigName)
bool SetUpperSpacing(SwPaM &pMyPam, int nSpace)
wwSectionNamer m_aSectionNameGenerator
void ChkToggleBiDiAttr(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
bool HasStartStop() const
const SprmReadInfo & GetSprmReadInfo(sal_uInt16 nId) const
const SwFormat * GetStyleWithOrgWWName(std::u16string_view rName) const
bool ReadOCXStream(tools::SvRef< SotStorage > const &rSrc1, css::uno::Reference< css::drawing::XShape > *pShapeRef, bool bFloatingCtrl=false)
void Read_Tab(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
std::shared_ptr< WW8PLCFMan > mxOldPlcxMan
void Read_SubSuper(sal_uInt16, const sal_uInt8 *, short nLen)
sw::hack::Position maStartPos
sal_uInt16 maDirections[MAX_COL+1]
SwFrameFormat * MakeGrafInContent(const WW8_PIC &rPic, const WW8PicDesc &rPD, const Graphic *pGraph, const OUString &rFileName, const SfxItemSet &rGrfSet)
const SwPosition & GetStartPos() const
bool HandlePageBreakChar()
bool ReadGrafFile(OUString &rFileName, std::unique_ptr< Graphic > &rpGraphic, const WW8_PIC &rPic, SvStream *pSt, sal_uLong nFilePos, bool *pDelIt)
virtual bool GetOLEStorageName(sal_uInt32 nOLEId, OUString &rStorageName, tools::SvRef< SotStorage > &rSrcStorage, css::uno::Reference< css::embed::XStorage > &rDestStorage) const override
static void ReplaceObj(const SdrObject &rReplaceTextObj, SdrObject &rSubObj)
void Read_Special(sal_uInt16, const sal_uInt8 *, short nLen)
std::unique_ptr< SwWW8FltAnchorStack > m_xAnchorStck
std::deque< WW8FieldEntry > m_aFieldStack
SwFormat * m_pCurrentColl
void Read_FontCode(sal_uInt16, const sal_uInt8 *, short nLen)
SwWW8ReferencedFltEndStack(SwDoc &rDo, sal_uLong nFieldFl)
OUString msNumberingNumRule
SdrObject * ReadGroup(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
const T * GetFormatAttr(const SwPosition &rPos, TypedWhichId< T > nWhich)
std::unique_ptr< SfxItemSet > m_xCurrentItemSet
void GetPageULData(const wwSection &rNewSection, wwULSpaceData &rData) const
rtl_TextEncoding GetCJKCharSetFromLanguage()
void JoinNode(const SwPosition &rPos, const SwNode &rNode)
eF_ResT Read_F_CurPage(WW8FieldDesc *, OUString &)
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
eF_ResT Read_F_IncludePicture(WW8FieldDesc *, OUString &rStr)
OUString msOutlineNumRule
sal_Int32 GetPtContent() const
void AddAnchor(const SwPosition &rPos, SwFrameFormat *pFormat)
std::deque< wwSection > maSegments
void Read_RTLJustify(sal_uInt16, const sal_uInt8 *, short nLen)
void Read_BoldBiDiUsw(sal_uInt16 nId, const sal_uInt8 *, short nLen)
eF_ResT Read_F_NoteReference(WW8FieldDesc *pF, OUString &rStr)
void ProcessSprmTSetBRC(int nBrcVer, const sal_uInt8 *pParamsTSetBRC, sal_uInt16 nParamsLen)
css::drawing::TextVerticalAdjust mnVerticalAdjustment
void Read_ParaBiDi(sal_uInt16, const sal_uInt8 *pData, short nLen)
tools::Long Read_Book(WW8PLCFManResult *)
SvStream * m_pTableStream
bool SetTextFormatCollAndListLevel(const SwPaM &rRg, SwWW8StyInf &rStyleInfo)
bool CurrentSectionIsVertical() const
void Read_KeepLines(sal_uInt16, const sal_uInt8 *pData, short nLen)
void NextAnlLine(const sal_uInt8 *pSprm13)
bool SetNewFontAttr(sal_uInt16 nFCode, bool bSetEnums, sal_uInt16 nWhich)
WW8TabBandDesc & operator=(WW8TabBandDesc const &)=default
SwMSDffManager & operator=(const SwMSDffManager &)=delete
std::unique_ptr< ImportProgress > m_xProgress
bool isValid_HdFt_CP(WW8_CP nHeaderCP) const
bool IsParaEndInCPs(sal_Int32, sal_Int32, bool bSdOD=true) const
void Read_DoubleLine_Rotate(sal_uInt16, const sal_uInt8 *pDATA, short nLen)
void ProcessDirection(const sal_uInt8 *pParams)
sal_uInt16 m_nLFOPosition
void SetToggleBiDiAttr(sal_uInt8 nAttrId, bool bOn)
void SetName(const OUString &rName)
eF_ResT Read_F_Equation(WW8FieldDesc *, OUString &)
void Read_AlignFont(sal_uInt16, const sal_uInt8 *pData, short nLen)
SwWW8ImplReader & operator=(const SwWW8ImplReader &)=delete
SwWW8ImplReader & rReader
SwNumRule * GetNumRuleForActivation(sal_uInt16 nLFOPosition, const sal_uInt8 nLevel, std::vector< sal_uInt8 > &rParaSprms, SwTextNode *pNode=nullptr)
const OUString & GetBaseURL() const
sal_uInt8 nTransCell[MAX_COL+2]
static void SetPageULSpaceItems(SwFrameFormat &rFormat, wwULSpaceData const &rData, const wwSection &rSection)
void SetNumRule(const OUString &rNumRule, sal_uInt8 nNumType)
SprmResult GrpprlHasSprm(sal_uInt16 nId, sal_uInt8 &rSprms, sal_uInt8 nLen)
WW8FieldEntry & operator=(const WW8FieldEntry &rOther)
css::awt::Size MiserableDropDownFormHack(const OUString &rString, css::uno::Reference< css::beans::XPropertySet > const &rPropSet)
sal_Int16 m_nRelativeJustify
void ReadNewShd(const sal_uInt8 *pS, bool bVer67, sal_uInt8 nStart)
void Read_CharSet(sal_uInt16, const sal_uInt8 *pData, short nLen)
eF_ResT Read_F_HTMLControl(WW8FieldDesc *pF, OUString &rStr)
Base class of the Writer document model elements.
void ProcessSprmTInsert(const sal_uInt8 *pParamsTInsert)
bool MiserableRTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth, sal_Int16 eHoriOri, sal_Int16 eHoriRel)