LibreOffice Module sw (master) 1
ww8par.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#ifndef INCLUDED_SW_SOURCE_FILTER_WW8_WW8PAR_HXX
21#define INCLUDED_SW_SOURCE_FILTER_WW8_WW8PAR_HXX
22
23#include <rtl/ustring.hxx>
26#include <editeng/frmdir.hxx>
27#include <svl/zforlist.hxx>
28#include <fltshell.hxx>
29
30#include <svx/svdobj.hxx>
31
32#include <utility>
33#include <vector>
34#include <stack>
35#include <string_view>
36#include <deque>
37#include <map>
38#include <memory>
39#include <optional>
40
41#include "ww8struc.hxx"
42#include "ww8scan.hxx"
43#include "ww8glsy.hxx"
44#include "ww8graf.hxx"
45#include "wrtww8.hxx"
46#include <msfilter.hxx>
47#include <xmloff/odffields.hxx>
48#include <IMark.hxx>
49
50#include <com/sun/star/drawing/TextVerticalAdjust.hpp>
51#include <swtypes.hxx>
52#include <fmtfsize.hxx>
53#include <fmtornt.hxx>
54#include <fmtsrnd.hxx>
55#include <ndtxt.hxx>
56#include <editeng/lrspitem.hxx>
58#include <oox/ole/olehelper.hxx>
59
60#define SW_UD_IMAPDATA 2
61
62class SwDoc;
63class SwPaM;
64class SfxPoolItem;
66class SwPageDesc;
67class SvxBoxItem;
68class SwFormat;
69class SwNodeIndex;
71class SwAttrSet;
72class SwNumRule;
73class SwFrameFormat;
74class Writer;
75class SwFormatField;
76class WW8Fib;
77class WW8PLCFMan;
78struct WW8PLCFManResult;
79class WW8RStyle;
80class WW8PLCF_HdFt;
81class WW8ScannerBase;
82struct WW8FlyPara;
83struct WW8SwFlyPara;
84struct WW8_PIC;
85class WW8TabDesc;
86struct WW8_SHD;
87struct WW8_OLST;
88class SwNumFormat;
89struct WW8_ANLD;
90struct WW8_ANLV;
91struct WW8_DO;
92struct WW8_DPHEAD;
93struct WW8_FSPA;
94class SdrModel;
95class SdrPage;
96class SdrObject;
97class SdrTextObj;
98class SdrUnoObj;
99class Size;
100class EditEngine;
101struct SwPosition;
102class WW8ReaderSave;
103struct WW8PicDesc;
104class Graphic;
105class SwFieldType;
106class SotStorage;
107class SwAttrSet;
108class GDIMetaFile;
109struct ESelection;
110class SfxItemSet;
112enum class SwLineBreakClear;
113
114namespace com::sun::star{
115 namespace beans{ class XPropertySet;}
116 namespace form { class XFormComponent;}
117 namespace drawing{class XShape;}
118 namespace lang{class XMultiServiceFactory;}
119}
120
121// defines only for the WW8-variable of the INI file
122#define WW8FL_NO_STYLES 2
123#define WW8FL_NO_GRAF 0x80
124
125#define WW8FL_NO_OUTLINE 0x1000
126#define WW8FL_NO_IMPLPASP 0x4000 // no implicit para space
127#define WW8FL_NO_GRAFLAYER 0x8000
128
129// Add-on-filter-flags, valid from Winword 8 on
130#define WW8FL_NO_FLY_FOR_TXBX 1
131
132// List-Manager (from Ver8 on)
133
134struct WW8LFOInfo;
135
136class WW8Reader : public StgReader
137{
138 std::shared_ptr<SvStream> mDecodedStream;
139 virtual ErrCode Read(SwDoc &, const OUString& rBaseURL, SwPaM &, const OUString &) override;
140 ErrCode OpenMainStream( tools::SvRef<SotStorageStream>& rRef, sal_uInt16& rBuffSize );
142public:
144 virtual SwReaderType GetReaderType() override;
145
146 virtual bool HasGlossaries() const override;
147 virtual bool ReadGlossaries( SwTextBlocks&, bool bSaveRelFiles ) const override;
148};
149
150class SwWW8ImplReader;
151struct WW8LSTInfo;
153{
154public:
155 WW8ListManager(SvStream& rSt_, SwWW8ImplReader& rReader_);
156 //Min and Max possible List Levels in Word
158 //the rParaSprms returns back the original word paragraph indent
159 //sprms which were attached to the original numbering format
160 SwNumRule* GetNumRuleForActivation(sal_uInt16 nLFOPosition, const sal_uInt8 nLevel,
161 std::vector<sal_uInt8> &rParaSprms, SwTextNode *pNode=nullptr);
162 SwNumRule* CreateNextRule(bool bSimple);
164 SwNumRule* GetNumRule(size_t i);
165 size_t GetWW8LSTInfoNum() const{return maLSTInfos.size();}
166 static SvxNumType GetSvxNumTypeFromMSONFC(sal_uInt16 nMSONFC);
167
168private:
174 std::vector<std::unique_ptr<WW8LSTInfo>> maLSTInfos;
175 std::vector<std::unique_ptr<WW8LFOInfo>> m_LFOInfos;// D. from PLF LFO, sorted exactly like in the WW8 Stream
176 sal_uInt16 m_nUniqueList; // current number for creating unique list names
177 SprmResult GrpprlHasSprm(sal_uInt16 nId, sal_uInt8& rSprms, sal_uInt8 nLen);
178 WW8LSTInfo* GetLSTByListId( sal_uInt32 nIdLst ) const;
179 //the rParaSprms returns back the original word paragraph indent
180 //sprms which are attached to this numbering level
181 bool ReadLVL(SwNumFormat& rNumFormat, std::unique_ptr<SfxItemSet>& rpItemSet, sal_uInt16 nLevelStyle,
182 bool bSetStartNo, sal_uInt16 nLevel, ww::bytes &rParaSprms);
183
184 // character attributes from GrpprlChpx
185 typedef std::unique_ptr<SfxItemSet> WW8aISet[nMaxLevel];
186 // character style pointer
188
189 void AdjustLVL(sal_uInt8 nLevel, SwNumRule& rNumRule, WW8aISet const & rListItemSet,
190 WW8aCFormat& aCharFormat, bool& bNewCharFormatCreated,
191 const OUString& aPrefix = OUString());
192
193 void ImplDestroy();
194
198};
199
201{ // WinWord-attributes
202 // Attention: *DO NOT* reorder, since parts will be
203 // compared using memcmp
204 bool bVer67;
205 sal_Int16 nSp26, nSp27; // raw position
206 sal_Int16 nSp45, nSp28; // width / height
207 sal_Int16 nLeMgn, nRiMgn, nUpMgn, nLoMgn; // borders
208 sal_uInt8 nSp29; // raw binding + alignment
209 sal_uInt8 nSp37; // Wrap-Mode ( 1 / 2; 0 = no Apo ? )
210 WW8_BRCVer9_5 brc; // borders Top, Left, Bottom, Right, Between
211 bool bBorderLines; // border lines
212 bool bGrafApo; // true: this frame is only used to position
213 // the contained graphics *not* as a character
214 bool mbVertSet; // true if vertical positioning has been set
215
216 WW8FlyPara(bool bIsVer67, const WW8FlyPara* pSrc = nullptr);
217 bool operator==(const WW8FlyPara& rSrc) const;
218 void Read(sal_uInt8 nSprm29, WW8PLCFx_Cp_FKP* pPap);
219 void ReadFull(sal_uInt8 nSprm29, SwWW8ImplReader* pIo);
220 void Read(sal_uInt8 nSprm29, WW8RStyle const * pStyle);
221 void ApplyTabPos(const WW8_TablePos *pTabPos);
222 bool IsEmpty() const;
223};
224
226{
228 sal_uInt16 m_nWWStyleId;
229public:
230 rtl_TextEncoding m_eLTRFontSrcCharSet; // rtl_TextEncoding for the font
231 rtl_TextEncoding m_eRTLFontSrcCharSet; // rtl_TextEncoding for the font
232 rtl_TextEncoding m_eCJKFontSrcCharSet; // rtl_TextEncoding for the font
234 std::shared_ptr<WW8FlyPara> m_xWWFly;
237 sal_uInt16 m_nBase;
238 sal_uInt16 m_nFollow;
239 sal_uInt16 m_nLFOIndex;
241
242 // WW8 outline level is zero-based:
243 // 0: outline level 1
244 // 1: outline level 2
245 // ...
246 // 8: outline level 9
247 // 9: body text
249
250 sal_uInt16 m_n81Flags; // for bold, italic, ...
251 sal_uInt16 m_n81BiDiFlags; // for bold, italic, ...
252 std::shared_ptr<SvxLRSpaceItem> maWordLR;
253 bool m_bValid; // empty of valid
254 bool m_bImported; // for recursive imports
255 bool m_bColl; // true-> pFormat is SwTextFormatColl
256 bool m_bImportSkipped; // only true if !bNewDoc && existing style
257 bool m_bHasStyNumRule; // true-> named NumRule in style
258 bool m_bHasBrokenWW6List; // true-> WW8+ style has a WW7- list
259 bool m_bListRelevantIndentSet; //true if this style's indent has
260 //been explicitly set, it's set to the value
261 //of pFormat->GetItemState(RES_LR_SPACE, false)
262 //if it was possible to get the ItemState
263 //for L of the LR space independently
264 bool m_bParaAutoBefore; // For Auto spacing before a paragraph
265 bool m_bParaAutoAfter; // For Auto Spacing after a paragraph
267
269 m_sWWStyleName( OUString() ),
270 m_nWWStyleId( 0 ),
274 m_pFormat( nullptr ),
275 m_pOutlineNumrule( nullptr ),
276 m_nFilePos( 0 ),
277 m_nBase( 0 ),
278 m_nFollow( 0 ),
279 m_nLFOIndex( USHRT_MAX ),
282 m_n81Flags( 0 ),
285 m_bValid(false),
286 m_bImported(false),
287 m_bColl(false),
288 m_bImportSkipped(false),
289 m_bHasStyNumRule(false),
290 m_bHasBrokenWW6List(false),
292 m_bParaAutoBefore(false),
293 m_bParaAutoAfter(false),
295
296 {}
297
298 void SetOrgWWIdent( const OUString& rName, const sal_uInt16 nId )
299 {
300 m_sWWStyleName = rName;
302
303 // apply default WW8 outline level to WW8 Built-in Heading styles
305 {
307 }
308 }
309
310 const OUString& GetOrgWWName() const
311 {
312 return m_sWWStyleName;
313 }
314
316 {
317 return (m_pFormat != nullptr && (MAXLEVEL > mnWW8OutlineLevel));
318 }
319
320 bool IsOutlineNumbered() const
321 {
323 }
324
326 {
327 return m_pOutlineNumrule;
328 }
329 rtl_TextEncoding GetCharSet() const;
330 rtl_TextEncoding GetCJKCharSet() const;
331
332 sal_uInt16 GetWWStyleId() const
333 {
334 return m_nWWStyleId;
335 }
336
338 {
339 return GetWWStyleId() >= 1 && GetWWStyleId() <= 9;
340 }
341
343 {
344 return GetWWStyleId() == 0;
345 }
346
347 static sal_uInt8
349 {
350 if (nWW8OutlineLevel < MAXLEVEL)
351 {
352 if (nWW8OutlineLevel == 9)
353 {
354 return 0; // no outline level --> body text
355 }
356 else
357 {
358 return nWW8OutlineLevel + 1; // outline level 1..9
359 }
360 }
361
362 return 0;
363 }
364};
365
366// Stack
367
369{
370private:
372 std::unique_ptr<SfxItemSet> m_xScratchSet;
378 const SwTextNode &rTextNode);
379protected:
380 virtual void SetAttrInDoc(const SwPosition& rTmpPos,
381 SwFltStackEntry& rEntry) override;
382
383public:
385 : SwFltControlStack( rDo, nFieldFl ), m_rReader( rReader_ ),
387 {}
388
389 void NewAttr(const SwPosition& rPos, const SfxPoolItem& rAttr);
390
391 virtual SwFltStackEntry* SetAttr(const SwPosition& rPos, sal_uInt16 nAttrId, bool bTstEnd=true, tools::Long nHand=LONG_MAX, bool consumedByField=false) override;
392
393 void SetToggleAttr(sal_uInt8 nId, bool bOn)
394 {
395 if( bOn )
396 m_nToggleAttrFlags |= (1 << nId);
397 else
398 m_nToggleAttrFlags &= ~(1 << nId);
399 }
400
401 sal_uInt16 GetToggleAttrFlags() const { return m_nToggleAttrFlags; }
402
403 void SetToggleBiDiAttr(sal_uInt8 nId, bool bOn)
404 {
405 if( bOn )
406 m_nToggleBiDiAttrFlags |= (1 << nId);
407 else
408 m_nToggleBiDiAttrFlags &= ~(1 << nId);
409 }
410
411 sal_uInt16 GetToggleBiDiAttrFlags() const { return m_nToggleBiDiAttrFlags; }
412 void SetToggleAttrFlags(sal_uInt16 nFlags) { m_nToggleAttrFlags = nFlags; }
413 void SetToggleBiDiAttrFlags(sal_uInt16 nFlags) {m_nToggleBiDiAttrFlags = nFlags;}
414
415 const SfxPoolItem* GetFormatAttr(const SwPosition& rPos, sal_uInt16 nWhich);
416 template<class T> const T* GetFormatAttr( const SwPosition& rPos, TypedWhichId<T> nWhich )
417 {
418 return static_cast<const T*>(GetFormatAttr(rPos, sal_uInt16(nWhich)));
419 }
420 const SfxPoolItem* GetStackAttr(const SwPosition& rPos, sal_uInt16 nWhich);
421};
422
423//The only thing this is for is RES_FLTR_ANCHOR, anything else is an error.
424//For graphics whose anchoring position would otherwise be automatically moved
425//along by the insertion of text.
427{
428public:
430 : SwFltControlStack( rDo, nFieldFl ) {}
431 void AddAnchor(const SwPosition& rPos,SwFrameFormat *pFormat);
432 void Flush();
433private:
436};
437
438
439namespace SwWW8
440{
441 struct ltstr
442 {
443 bool operator()(std::u16string_view r1, std::u16string_view r2) const
444 {
445 return o3tl::compareToIgnoreAsciiCase(r1, r2)<0;
446 }
447 };
448};
449
451{
452public:
454 : SwFltEndStack( rDo, nFieldFl )
456 {}
457
458 // Keep track of referenced TOC bookmarks in order to suppress the import
459 // of unreferenced ones.
460 std::set<OUString, SwWW8::ltstr> m_aReferencedTOCBookmarks;
461protected:
462 virtual void SetAttrInDoc( const SwPosition& rTmpPos,
463 SwFltStackEntry& rEntry ) override;
464};
465
466class SwWW8FltRefStack final : public SwFltEndStack
467{
468public:
470 : SwFltEndStack( rDo, nFieldFl )
472 {}
473 bool IsFootnoteEdnBkmField(const SwFormatField& rFormatField, sal_uInt16& rBkmNo);
474
475 //Keep track of variable names created with fields, and the bookmark
476 //mapped to their position, hopefully the same, but very possibly
477 //an additional pseudo bookmark
478 std::map<OUString, OUString, SwWW8::ltstr> m_aFieldVarNames;
479private:
480 SwFltStackEntry *RefToVar(const SwField* pField,SwFltStackEntry& rEntry);
481 virtual void SetAttrInDoc(const SwPosition& rTmpPos,
482 SwFltStackEntry& rEntry) override;
485};
486
487template< typename Type >
488inline bool get_flag( Type nBitField, Type nMask )
489{ return (nBitField & nMask) != 0; }
490
491template< typename ReturnType, typename Type >
492inline ReturnType ulimit_cast( Type nValue, ReturnType nMax )
493{ return static_cast< ReturnType >( std::min< Type >( nValue, nMax ) ); }
494
495template< typename ReturnType, typename Type >
496inline ReturnType ulimit_cast( Type nValue )
497{ return ulimit_cast( nValue, std::numeric_limits< ReturnType >::max() ); }
498
500{
501public:
502 SwMacroInfo();
503 virtual ~SwMacroInfo() override;
504
505 SwMacroInfo(SwMacroInfo const &) = default;
507 SwMacroInfo & operator =(SwMacroInfo const &) = delete; // due to SdrObjUserData
508 SwMacroInfo & operator =(SwMacroInfo &&) = delete; // due to SdrObjUserData
509
510 virtual std::unique_ptr<SdrObjUserData> Clone( SdrObject* pObj ) const override;
511
512 void SetHlink( const OUString& rHlink ) { maHlink = rHlink; }
513 const OUString& GetHlink() const { return maHlink; }
514 void SetTarFrame( const OUString& rTarFrame ) { maTarFrame = rTarFrame; }
515 const OUString& GetTarFrame() const { return maTarFrame; }
516 void SetShapeId( sal_Int32 rShapeId ) { mnShapeId = rShapeId; }
517 const sal_Int32& GetShapeId() const { return mnShapeId; }
518 void SetName( const OUString& rName ) { maNameStr = rName; }
519 const OUString& GetName() const { return maNameStr; }
520
521private:
522 sal_Int32 mnShapeId;
523 OUString maHlink;
524 OUString maNameStr;
525 OUString maTarFrame;
526};
527
529{
530 OUString hLinkAddr;
531 OUString tarFrame;
532};
533
534namespace sw
535{
536 namespace hack
537 {
539 {
540 private:
542 sal_Int32 mnPtContent;
543 public:
544 explicit Position(const SwPosition &rPos);
545 operator SwPosition() const;
546 const SwNodeIndex& GetPtNode() const { return maPtNode; };
547 sal_Int32 GetPtContent() const { return mnPtContent; };
548 };
549 }
550
551 auto FilterControlChars(OUString const& rString) -> OUString;
552}
553
555{
556 private:
558 OUString msMarkType;
559 OUString msMarkCode;
561
562 public:
564 sal_uInt16 mnFieldId;
566 WW8FieldEntry(SwPosition const &rPos, sal_uInt16 nFieldId) noexcept;
567 WW8FieldEntry(const WW8FieldEntry &rOther) noexcept;
568 WW8FieldEntry &operator=(const WW8FieldEntry &rOther) noexcept;
569 void Swap(WW8FieldEntry &rOther) noexcept;
570
571 const SwNodeIndex& GetPtNode() const { return maStartPos.GetPtNode(); };
572 sal_Int32 GetPtContent() const { return maStartPos.GetPtContent(); };
573
574 const OUString& GetBookmarkName() const { return msBookmarkName;}
575 const OUString& GetBookmarkCode() const { return msMarkCode;}
576 void SetBookmarkName(const OUString& bookmarkName);
577 void SetBookmarkType(const OUString& bookmarkType);
578 void SetBookmarkCode(const OUString& bookmarkCode);
580};
581
582// mini marker for some flags
583
585{
586private:
588 std::shared_ptr<SwUnoCursor> mxTmpPos;
589 std::deque<bool> maOldApos;
590 std::deque<WW8FieldEntry> maOldFieldStack;
591 std::unique_ptr<SwWW8FltControlStack> mxOldStck;
592 std::unique_ptr<SwWW8FltAnchorStack> mxOldAnchorStck;
593 std::unique_ptr<sw::util::RedlineStack> mxOldRedlines;
594 std::shared_ptr<WW8PLCFMan> mxOldPlcxMan;
595 std::unique_ptr<WW8FlyPara> mpWFlyPara;
596 std::unique_ptr<WW8SwFlyPara> mpSFlyPara;
599 std::unique_ptr<WW8TabDesc> mxTableDesc;
601 sal_uInt16 mnCurrentColl;
607 bool mbAnl;
613public:
614 WW8ReaderSave(SwWW8ImplReader* pRdr, WW8_CP nStart=-1);
615 void Restore(SwWW8ImplReader* pRdr);
616 const SwPosition &GetStartPos() const { return *mxTmpPos->GetPoint(); }
617};
618
619enum class eF_ResT { OK, TEXT, TAGIGN, READ_FSPA };
620
622{
623public:
625 SwWW8Shade(bool bVer67, const WW8_SHD& rSHD);
626 SwWW8Shade(Color nFore, Color nBack, sal_uInt16 nIndex)
627 {
628 SetShade(nFore, nBack, nIndex);
629 }
630private:
631 void SetShade(Color nFore, Color nBack, sal_uInt16 nIndex);
632};
633
634// Formulas
635
637{
642
644{
645protected:
647
650
651public:
653 : mrRdr(rRdr), mfUnknown(0), mfDropdownIndex(0),
654 mfToolTip(0), mfNoMark(0), mfType(0),
655 mfUnused(0), mhpsCheckBox(20), mnChecked(0), mnMaxLen(0),
656 mbHelp(false), msName(std::move( aN ))
657 {
658 }
665
666 sal_uInt16 mhpsCheckBox;
667 sal_uInt16 mnChecked;
668
670 sal_uInt16 mnMaxLen;
671 OUString msTitle;
672 OUString msDefault;
673 OUString msFormatting;
674 bool mbHelp;
675 OUString msHelp;
676 OUString msToolTip;
677 OUString msEntryMcr;
678 OUString msExitMcr;
679 std::vector<OUString> maListEntries;
681 void FormulaRead(SwWw8ControlType nWhich,SvStream *pD);
682 virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
683 css::uno::Reference< css::form::XFormComponent> &rFComp,
684 css::awt::Size &rSz) = 0;
685 OUString msName;
686};
687
689{
690private:
693
694public:
696
697 virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
698 css::uno::Reference< css::form::XFormComponent> &rFComp,
699 css::awt::Size &rSz) override;
700};
701
703{
704private:
707
708public:
710
711 virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
712 css::uno::Reference< css::form::XFormComponent> &rFComp,
713 css::awt::Size &rSz) override;
714};
715
717{
718private:
721public:
723 //no real implementation, return false
724 virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> & /* rServiceFactory */,
725 css::uno::Reference< css::form::XFormComponent> & /* rFComp */,
726 css::awt::Size & /* rSz */) override { return false; }
727};
728
730{
731public:
732 SwMSConvertControls( SfxObjectShell const *pDSh, SwPaM *pP );
733 void InsertFormula( WW8FormulaControl &rFormula);
734 virtual bool InsertControl(const css::uno::Reference< css::form::XFormComponent >& rFComp,
735 const css::awt::Size& rSize,
736 css::uno::Reference< css::drawing::XShape > *pShape, bool bFloatingCtrl) override;
737 void ExportControl(WW8Export &rWrt, const SdrUnoObj& rFormObj);
738 bool ReadOCXStream( tools::SvRef<SotStorage> const & rSrc1,
739 css::uno::Reference< css::drawing::XShape > *pShapeRef,
740 bool bFloatingCtrl=false );
741private:
743 sal_uInt32 mnObjectId;
744};
745
747{
748private:
751 std::unordered_map<sal_uInt32, Graphic> m_aOldEscherBlipCache;
752
753 virtual bool GetOLEStorageName( sal_uInt32 nOLEId, OUString& rStorageName,
754 tools::SvRef<SotStorage>& rSrcStorage, css::uno::Reference < css::embed::XStorage >& rDestStorage ) const override;
755 virtual bool ShapeHasText( sal_uLong nShapeId, sal_uLong nFilePos ) const override;
756 // #i32596# - new parameter <_nCalledByGroup>, which
757 // indicates, if the OLE object is imported inside a group object
758 virtual rtl::Reference<SdrObject> ImportOLE( sal_uInt32 nOLEId,
759 const Graphic& rGrf,
760 const tools::Rectangle& rBoundRect,
761 const tools::Rectangle& rVisArea,
762 const int _nCalledByGroup ) const override;
763
766public:
767 static sal_uInt32 GetFilterFlags();
768 static sal_Int32 GetEscherLineMatch(MSO_LineStyle eStyle, MSO_SPT eShapeType,
769 sal_Int32 &rThick);
770 SwMSDffManager( SwWW8ImplReader& rRdr, bool bSkipImages );
773protected:
774 virtual rtl::Reference<SdrObject> ProcessObj( SvStream& rSt, DffObjData& rObjData, SvxMSDffClientData& rData, tools::Rectangle& rTextRect, SdrObject* pObj ) override;
775};
776
778{
779public:
780 explicit wwSection(const SwPosition &rPos);
787
788 sal_uInt32 m_nPgWidth;
789 sal_uInt32 m_nPgLeft;
790 sal_uInt32 m_nPgRight;
791 sal_uInt32 m_nPgGutter;
792 bool m_bRtlGutter = false;
793
794 css::drawing::TextVerticalAdjust mnVerticalAdjustment;
797 void SetDirection();
798 bool IsContinuous() const { return maSep.bkc == 0; }
799 bool IsNotProtected() const { return maSep.fUnlocked != 0; }
800 bool IsVertical() const;
801 sal_Int16 NoCols() const { return maSep.ccolM1 + 1; }
802 sal_Int32 StandardColSeparation() const { return maSep.dxaColumns; }
803 bool HasTitlePage() const { return maSep.fTitlePage != 0; }
804 sal_uInt16 PageStartAt() const { return maSep.pgnStart; }
805 bool PageRestartNo() const { return maSep.fPgnRestart != 0; }
806 bool IsBiDi() const { return maSep.fBiDi != 0; }
807 sal_uInt32 GetPageWidth() const { return m_nPgWidth; }
808 sal_uInt32 GetTextAreaWidth() const
809 { return GetPageWidth() - GetPageLeft() - m_nPgGutter - GetPageRight(); }
810 sal_uInt32 GetPageHeight() const { return maSep.yaPage; }
811 sal_uInt32 GetPageLeft() const { return m_nPgLeft; }
812 sal_uInt32 GetPageRight() const { return m_nPgRight; }
813 bool IsLandScape() const { return maSep.dmOrientPage != 0; }
814 bool IsFixedHeightHeader() const { return maSep.dyaTop < 0; }
815 bool IsFixedHeightFooter() const { return maSep.dyaBottom < 0; }
816};
817
819{
820private:
821 /*
822 A queue of the ms sections in the document
823 */
825 std::deque<wwSection> maSegments;
826 typedef std::deque<wwSection>::iterator mySegIter;
827
828 //Num of page desc's entered into the document
829 sal_uInt16 mnDesc;
830
832 {
834 sal_uInt32 nSwHLo, nSwFUp, nSwUp, nSwLo;
836 : bHasHeader(false)
837 , bHasFooter(false)
838 , nSwHLo(0)
839 , nSwFUp(0)
840 , nSwUp(0)
841 , nSwLo(0)
842 {}
843 };
844
845 void SetSegmentToPageDesc(const wwSection &rSection, bool bIgnoreCols);
846
847 void GetPageULData(const wwSection &rNewSection,
848 wwULSpaceData& rData) const;
849 static void SetPageULSpaceItems(SwFrameFormat &rFormat, wwULSpaceData const & rData,
850 const wwSection &rSection);
851
852 static void SetPage(SwPageDesc &rPageDesc, SwFrameFormat &rFormat,
853 const wwSection &rSection, bool bIgnoreCols);
854
855 static void SetNumberingType(const wwSection &rNewSection, SwPageDesc &rPageDesc);
856
857 void SetUseOn(wwSection &rSection);
858 void SetHdFt(wwSection const &rSection, int nSect, const wwSection *pPrevious);
859
860 SwSectionFormat *InsertSection(SwPaM const & rMyPaM, wwSection &rSection);
861 static bool SetCols(SwFrameFormat &rFormat, const wwSection &rSection,
862 sal_uInt32 nNetWidth);
863 bool SectionIsProtected(const wwSection &rSection) const;
864 static void SetLeftRight(wwSection &rSection);
865 /*
866 The segment we're inserting, the start of the segments container, and the
867 nodeindex of where we want the page break to (normally the segments start
868 position
869 */
870 SwFormatPageDesc SetSwFormatPageDesc(mySegIter const &rIter, mySegIter const &rStart,
871 bool bIgnoreCols);
872
875public:
876 explicit wwSectionManager(SwWW8ImplReader &rReader) : mrReader(rReader), mnDesc(0)
877 {}
879 void SetCurrentSectionVerticalAdjustment(const css::drawing::TextVerticalAdjust nVA);
880 bool CurrentSectionIsVertical() const;
881 bool CurrentSectionIsProtected() const;
882 void PrependedInlineNode(const SwPosition &rPos, const SwNode &rNode);
883 sal_uInt16 CurrentSectionColCount() const;
884 bool WillHavePageDescHere(const SwNode&) const;
885 void CreateSep(const tools::Long nTextPos);
886 void InsertSegments();
887 void JoinNode(const SwPosition &rPos, const SwNode &rNode);
888 sal_uInt32 GetPageLeft() const;
889 sal_uInt32 GetPageRight() const;
890 sal_uInt32 GetPageWidth() const;
891 sal_uInt32 GetWWPageTopMargin() const;
892 sal_uInt32 GetTextAreaWidth() const;
893};
894
896{
897protected:
899
900 virtual void SwClientNotify(const SwModify&, const SfxHint&) override;
901
902public:
903 TextNodeListener(SwTextNode* pTextNode);
904 bool operator<(const TextNodeListener& rOther) const
905 {
906 return m_pTextNode->GetIndex() < rOther.m_pTextNode->GetIndex();
907 }
908 void StopListening(SwModify* pTextNode);
909 SwTextNode* GetTextNode() const { return m_pTextNode; }
910 virtual void removed(SwModify* pTextNode);
911 virtual ~TextNodeListener() override;
912};
913
914//Various writer elements like frames start off containing a blank paragraph,
915//sometimes this paragraph turns out to be extraneous, e.g. the frame should
916//only contain a table with no trailing paragraph.
917
918//We want to remove these extra paragraphs, but removing them during the parse
919//is problematic, because we don't want to remove any paragraphs that are still
920//addressed by property entries in a SwFltControlStack which have not yet been
921//committed to the document.
922
923//Safest thing is to not delete SwTextNodes from a document during import, and
924//remove these extraneous paragraphs at the end after all SwFltControlStack are
925//destroyed.
927{
928private:
930 {
931 private:
933 public:
935 : TextNodeListener(pTextNode)
937 {
938 }
939 virtual void removed(SwModify* pTextNode) override;
940 };
941
942 /*
943 A vector of SwTextNodes to erase from a document after import is complete
944 */
945 std::set<ExtraTextNodeListener> m_aTextNodes;
947
948 void remove_if_present(SwModify* pModify);
949
952public:
953 explicit wwExtraneousParas(SwDoc &rDoc) : m_rDoc(rDoc) {}
955 void insert(SwTextNode *pTextNode);
957 {
958 remove_if_present(static_cast<SwModify*>(pTextNode));
959 }
960 void delete_all_from_doc();
961};
962
964{
965private:
966 OUString msSeed;
969
970 wwFrameNamer(wwFrameNamer const&) = delete;
972
973public:
974 void SetUniqueGraphName(SwFrameFormat *pFrameFormat, std::u16string_view rFixedPart);
975 wwFrameNamer(bool bIsDisabled, OUString aSeed)
976 : msSeed(std::move(aSeed)), mnImportedGraphicsCount(0), mbIsDisabled(bIsDisabled)
977 {
978 }
979};
980
982{
983private:
984 const SwDoc &mrDoc;
989public:
990 OUString UniqueName();
991 wwSectionNamer(const SwDoc &rDoc, OUString aSeed)
992 : mrDoc(rDoc), msFileLinkSeed(std::move(aSeed)), mnFileSectionNo(0)
993 { }
994};
995
997{
998public:
1003};
1004
1006{
1014 : mbStartApo(false), mbStopApo(false), m_bHasSprm37(false)
1015 , m_bHasSprm29(false), m_nSprm29(0), mpStyleApo(nullptr) {}
1016 bool HasStartStop() const { return (mbStartApo || mbStopApo); }
1017 bool HasFrame() const { return (m_bHasSprm29 || m_bHasSprm37 || mpStyleApo); }
1018};
1019
1021{
1022 OUString msOutlineNumRule; // WinWord 6 numbering, variant 1
1023 OUString msNumberingNumRule; // WinWord 6 numbering, variant 2
1024 SwNumRule* GetNumRule(const SwDoc& rDoc, sal_uInt8 nNumType);
1025 void SetNumRule(const OUString& rNumRule, sal_uInt8 nNumType);
1026};
1027
1028struct SprmReadInfo;
1029class SwDocShell;
1031{
1037
1038 WW8PostProcessAttrsInfo(WW8_CP nCpStart, WW8_CP nCpEnd, SwPaM & rPaM);
1039};
1040
1041#define MAX_COL 64 // WW6-description: 32, WW6-UI: 31 & WW8-UI: 63!
1042
1044{
1053 short nRows;
1054 sal_uInt16 maDirections[MAX_COL + 1];
1055 short nCenter[MAX_COL + 1]; // X-edge of all cells of this band
1056 short nWidth[MAX_COL + 1]; // length of all cells of this band
1057 short nWwCols; // sal_uInt8 would be sufficient, alignment -> short
1058 short nSwCols; // SW: number of columns for the writer
1059 bool bLEmptyCol; // SW: an additional empty column at the left
1060 bool bREmptyCol; // SW: same at the right
1069
1070 bool bExist[MAX_COL]; // does this cell exist ?
1071 sal_uInt8 nTransCell[MAX_COL + 2]; // translation WW-Index -> SW-Index
1072
1074 {
1075 return nWwCol < SAL_N_ELEMENTS(nTransCell) ? nTransCell[nWwCol] : 0xFF;
1076 }
1077
1079 WW8TabBandDesc(WW8TabBandDesc const & rBand); // deep copy
1081 void ReadDef(bool bVer67, const sal_uInt8* pS, short nLen);
1082 void ProcessDirection(const sal_uInt8* pParams);
1083 void ProcessSprmTSetBRC(int nBrcVer, const sal_uInt8* pParamsTSetBRC, sal_uInt16 nParamsLen);
1084 void ProcessSprmTTableBorders(int nBrcVer, const sal_uInt8* pParams, sal_uInt16 nParamsLen);
1085 void ProcessSprmTDxaCol(const sal_uInt8* pParamsTDxaCol);
1086 void ProcessSprmTDelete(const sal_uInt8* pParamsTDelete);
1087 void ProcessSprmTInsert(const sal_uInt8* pParamsTInsert);
1088 void ProcessSpacing(const sal_uInt8* pParamsTInsert);
1089 void ProcessSpecificSpacing(const sal_uInt8* pParamsTInsert);
1090 void ReadShd(const sal_uInt8* pS );
1091 void ReadNewShd(const sal_uInt8* pS, bool bVer67, sal_uInt8 nStart);
1092
1093 enum wwDIR {wwTOP = 0, wwLEFT = 1, wwBOTTOM = 2, wwRIGHT = 3};
1094
1095private:
1096 WW8TabBandDesc & operator =(WW8TabBandDesc const &) = default; // only for use in copy ctor
1097};
1098
1099// Storage-Reader
1100
1101typedef std::set<WW8_CP> cp_set;
1102
1104{
1105private:
1106 SwDocShell *m_pDocShell; // The Real DocShell
1107
1108friend class WW8RStyle;
1109friend class WW8TabDesc;
1110friend class WW8ReaderSave;
1111friend struct WW8FlyPara;
1112friend struct WW8SwFlyPara;
1113friend class WW8FlySet;
1114friend class SwMSDffManager;
1117friend class wwSectionManager;
1118
1119private:
1120
1121 SotStorage* m_pStg; // Input-Storage
1122 SvStream* m_pStrm; // Input-(Storage)Stream
1123 SvStream* m_pTableStream; // Input-(Storage)Stream
1124 SvStream* m_pDataStream; // Input-(Storage)Stream
1125
1126// general stuff
1128 std::shared_ptr<SwUnoCursor> mpCursor;
1130
1131 std::unique_ptr<SwWW8FltControlStack> m_xCtrlStck; // stack for the attributes
1132
1133 /*
1134 This stack is for redlines, because their sequence of discovery can
1135 be out of order of their order of insertion into the document.
1136 */
1137 std::unique_ptr<sw::util::RedlineStack> m_xRedlineStack;
1138
1139 /*
1140 This stack is for fields that get referenced later, e.g. BookMarks and TOX.
1141 They get inserted at the end of the document, it is the same stack for
1142 headers/footers/main text/textboxes/tables etc...
1143 */
1144 std::unique_ptr<SwWW8ReferencedFltEndStack> m_xReffedStck;
1145
1146 /*
1147 This stack is for fields whose true conversion cannot be determined until
1148 the end of the document, it is the same stack for headers/footers/main
1149 text/textboxes/tables etc... They are things that reference other things
1150 e.g. NoteRef and Ref, they are processed after m_xReffedStck
1151 */
1152 std::unique_ptr<SwWW8FltRefStack> m_xReffingStck;
1153
1154 /*
1155 For graphics anchors. Determines the graphics whose anchors are in the
1156 current paragraph, and works around the difficulty in inserting a graphic
1157 anchored to character before a character to be anchored to has been
1158 inserted. Is emptied at the end of each paragraph.
1159 */
1160 std::unique_ptr<SwWW8FltAnchorStack> m_xAnchorStck;
1161
1162 /*
1163 A stack of fields identifiers to keep track of any open fields that need
1164 to be closed. Generally word fields are inserted as writer fields as soon
1165 as they are encountered, and so their end point is normally unimportant.
1166 But hyperlink fields need to be applied as attributes to text and it is
1167 far easier and safer to set the end point of an attribute when we
1168 encounter the end marker of the field instead of calculating in advance
1169 where the end point will fall, to do so fully correctly duplicates the
1170 main logic of the filter itself.
1171 */
1172 std::deque<WW8FieldEntry> m_aFieldStack;
1173
1174 /*
1175 A stack of open footnotes. Should only be one in it at any time.
1176 */
1177 std::deque<FootnoteDescriptor> m_aFootnoteStack;
1178
1179 std::optional<SwLineBreakClear> m_oLineBreakClear;
1180
1181 /*
1182 A queue of the ms sections in the document
1183 */
1185
1186 /*
1187 A vector of surplus-to-requirements paragraph in the final document,
1188 that exist because of quirks of the SwDoc document model and/or API,
1189 which need to be removed.
1190 */
1192
1193 /*
1194 A map of tables to their follow nodes for use in inserting tables into
1195 already existing document, i.e. insert file
1196 */
1198
1199 /*
1200 Creates unique names to give to (file link) sections (WW1/WW2/...)
1201 */
1203
1204 /*
1205 Knows how to split a series of bytes into sprms and their arguments
1206 */
1207 std::unique_ptr<wwSprmParser> m_xSprmParser;
1208
1209 /*
1210 Creates unique names to give to graphics
1211 */
1213
1214 /*
1215 Knows which writer style a given word style should be imported as.
1216 */
1219
1220 /*
1221 Stack of textencoding being used as we progress through the document text
1222 */
1223 std::stack<rtl_TextEncoding> m_aFontSrcCharSets;
1224 std::stack<rtl_TextEncoding> m_aFontSrcCJKCharSets;
1225
1226 /*
1227 Progress bar
1228 */
1229 std::unique_ptr<ImportProgress> m_xProgress;
1230
1231 std::unique_ptr<SwMSConvertControls> m_xFormImpl; // implementation of control
1232
1234 std::unique_ptr<FrameDeleteWatch> m_xFormatOfJustInsertedApo;
1237
1238 //Keep track of APO environments
1239 std::deque<bool> m_aApos;
1240 /*
1241 Keep track of generated Ruby character formats we can minimize the
1242 number of character formats created
1243 */
1244 std::vector<const SwCharFormat*> m_aRubyCharFormats;
1245
1246 /*
1247 For fuzzing keep track of source offset of inserted graphics
1248 */
1249 std::set<sal_uLong> m_aGrafPosSet;
1250
1251 std::unique_ptr<WW8PostProcessAttrsInfo> m_pPostProcessAttrsInfo;
1252
1253 std::shared_ptr<WW8Fib> m_xWwFib;
1254 std::unique_ptr<WW8Fonts> m_xFonts;
1255 std::unique_ptr<WW8Dop> m_xWDop;
1256 std::unique_ptr<WW8ListManager> m_xLstManager;
1257 std::unique_ptr<WW8ScannerBase> m_xSBase;
1258 std::shared_ptr<WW8PLCFMan> m_xPlcxMan;
1259 std::map<short, OUString> m_aLinkStringMap;
1260
1263
1264 std::unique_ptr<WW8RStyle> m_xStyles; // pointer to the style reading class
1265 SwFormat* m_pCurrentColl; // collection to be created now
1266 // ( always 0 outside of a Style-Def )
1267 std::unique_ptr<SfxItemSet> m_xCurrentItemSet;// character attributes to be read in now
1268 // (always 0 outside of the WW8ListManager Ctor)
1269 std::vector<SwWW8StyInf> m_vColl;
1272
1273 std::unique_ptr<WW8PLCF_HdFt> m_xHdFt; // pointer to Header / Footer - scanner class
1274
1275 std::unique_ptr<WW8FlyPara> m_xWFlyPara; // WW-parameter
1276 std::unique_ptr<WW8SwFlyPara> m_xSFlyPara; // Sw parameters created from previous
1277
1278 std::unique_ptr<WW8TabDesc> m_xTableDesc; // description of table properties
1279 //Keep track of tables within tables
1280 std::stack<std::unique_ptr<WW8TabDesc>> m_aTableStack;
1281
1283 std::unique_ptr<WW8_OLST> m_xNumOlst; // position in text
1284
1287 std::unique_ptr<EditEngine> m_pDrawEditEngine;
1288 std::unique_ptr<wwZOrderer> m_xWWZOrder;
1289
1290 SwFieldType* m_pNumFieldType; // for number circle
1291
1292 std::unique_ptr<SwMSDffManager> m_xMSDffManager;
1293
1294 std::optional<std::vector<OUString>> m_xAtnNames;
1295
1296 std::unique_ptr<WW8SmartTagData> m_pSmartTagData;
1297
1299 std::map<sal_uInt16, std::size_t> m_aAuthorInfos;
1300 OUString m_sBaseURL;
1301
1302 // Ini-Flags:
1303 sal_uInt32 m_nIniFlags; // flags from writer.ini
1304 sal_uInt32 m_nIniFlags1; // ditto ( additional flags )
1305 sal_uInt32 m_nFieldFlags; // ditto for fields
1306 sal_uInt32 m_nFieldTagAlways[3]; // ditto for tagging of fields
1307 sal_uInt32 m_nFieldTagBad[3]; // ditto for tagging of fields that can't be imported
1308 bool m_bRegardHindiDigits; // import digits in CTL scripts as Hindi numbers
1309
1311 WW8_CP m_nDrawCpO; // start of Txbx-SubDocs
1312
1313 sal_uLong m_nPicLocFc; // Picture Location in File (FC)
1314 sal_uLong m_nObjLocFc; // Object Location in File (FC)
1315
1316 sal_Int32 m_nIniFlyDx; // X-offset of Flys
1317 sal_Int32 m_nIniFlyDy; // Y-offset of Flys
1318
1319 rtl_TextEncoding m_eTextCharSet; // Default charset for Text
1320 rtl_TextEncoding m_eStructCharSet; // rtl_TextEncoding for structures
1321 rtl_TextEncoding m_eHardCharSet; // Hard rtl_TextEncoding-Attribute
1322 sal_uInt16 m_nProgress; // percentage for Progressbar
1323 sal_uInt16 m_nCurrentColl; // per WW-count
1324 sal_uInt16 m_nFieldNum; // serial number for that
1325 sal_uInt16 m_nLFOPosition;
1326
1327 short m_nCharFormat; // per WW-count, <0 for none
1328
1331
1332 sal_Unicode m_cSymbol; // symbol to be read now
1333
1334 sal_uInt8 m_nWantedVersion; // originally requested WW-Doc version by Writer
1335
1336 sal_uInt8 m_nSwNumLevel; // level number for outline / enumeration
1337 sal_uInt8 m_nWwNumType; // outline / number / enumeration
1338 const SwNumRule* m_pChosenWW8OutlineStyle; // copied to the "Outline" Chapter Numbering style
1340
1341 bool m_bNewDoc; // new document?
1342 bool m_bSkipImages; // skip images for text extraction/indexing
1343 bool m_bReadNoTable; // no tables
1344 bool m_bPgSecBreak; // Page- or Sectionbreak is still to be added
1345 bool m_bSpec; // special char follows in text
1346 bool m_bObj; // Obj in Text
1347 bool m_bTxbxFlySection; // FlyFrame that was inserted as replacement for Winword Textbox
1348 bool m_bHasBorder; // for bundling of the borders
1349 bool m_bSymbol; // e.g. Symbol instead of Times
1350 bool m_bIgnoreText; // e.g. for FieldVanish
1351 int m_nInTable; // are we currently reading a table?
1352 bool m_bWasTabRowEnd; // table : Row End Mark
1353 bool m_bWasTabCellEnd; // table: Cell End Mark
1354
1355 bool m_bAnl; // enumeration in work
1356 // Anl stands for "Autonumber level"
1357
1358 bool m_bHdFtFootnoteEdn; // special text: header/footer/and so on
1359 bool m_bFootnoteEdn; // footnote or endnote
1360 bool m_bIsHeader; // text is read from header ( line height )
1361 bool m_bIsFooter; // text is read from footer ( line height )
1362
1363 bool m_bIsUnicode; // current piece of text is encoded as 2-byte Unicode
1364 // please do NOT handle this as bit field!
1365
1366 bool m_bCpxStyle; // style in the complex part
1367 bool m_bStyNormal; // style with Id 0 is currently read
1368 bool m_bWWBugNormal; // WW-Version with Bug Dya in Style Normal
1369 bool m_bNoAttrImport; // ignore attributes for ignoring styles
1370 bool m_bInHyperlink; // special case for reading 0x01
1371 // see also: SwWW8ImplReader::Read_F_Hyperlink()
1373
1374 // useful helper variables
1375 bool m_bVer67; // ( (6 == nVersion) || (7 == nVersion) );
1376 bool m_bVer6; // (6 == nVersion);
1377 bool m_bVer7; // (7 == nVersion);
1378 bool m_bVer8; // (8 == nVersion);
1379
1380 bool m_bEmbeddObj; // EmbeddField is being read
1381
1382 bool m_bCurrentAND_fNumberAcross; // current active Annotated List Descriptor - ROW flag
1383
1384 bool m_bNoLnNumYet; // no Line Numbering has been activated yet (we import
1385 // the very 1st Line Numbering and ignore the rest)
1386
1387 bool m_bFirstPara; // first paragraph?
1391
1393 sal_Int32 m_nDropCap;
1394
1397 // Indicate that currently on loading a TOC, managed by Read_F_TOX() and End_Field()
1400 // Indicate that current on loading a hyperlink, which is inside a TOC; Managed by Read_F_Hyperlink() and End_Field()
1402 // a document position recorded the after-position of TOC section, managed by Read_F_TOX() and End_Field()
1403 std::optional<SwPaM> m_oPosAfterTOC;
1404 // used for some dropcap tweaking
1405 std::unique_ptr<TextNodeListener> m_xPreviousNode;
1406
1407 std::optional< SwPosition > m_oLastAnchorPos;
1408
1412
1415
1416 const SprmReadInfo& GetSprmReadInfo(sal_uInt16 nId) const;
1417
1418 bool StyleExists(unsigned int nColl) const { return (nColl < m_vColl.size()); }
1419 SwWW8StyInf *GetStyle(sal_uInt16 nColl) const;
1420 void AppendTextNode(SwPosition& rPos);
1421
1422 void Read_HdFt(int nSect, const SwPageDesc *pPrev,
1423 const wwSection &rSection);
1424 void Read_HdFtText(WW8_CP nStartCp, WW8_CP nLen, SwFrameFormat const * pHdFtFormat);
1425 void Read_HdFtTextAsHackedFrame(WW8_CP nStart, WW8_CP nLen,
1426 SwFrameFormat const &rHdFtFormat, sal_uInt16 nPageWidth);
1427
1428 bool isValid_HdFt_CP(WW8_CP nHeaderCP) const;
1429
1430 bool HasOwnHeaderFooter(sal_uInt8 nWhichItems, sal_uInt8 grpfIhdt, int nSect);
1431
1432 void HandleLineNumbering(const wwSection &rSection);
1433
1434 void CopyPageDescHdFt( const SwPageDesc* pOrgPageDesc,
1435 SwPageDesc* pNewPageDesc, sal_uInt8 nCode );
1436
1437 void DeleteStack(std::unique_ptr<SwFltControlStack> prStck);
1439 {
1440 DeleteStack(std::move(m_xCtrlStck));
1441 }
1443 {
1444 DeleteStack(std::move(m_xReffedStck));
1445 DeleteStack(std::move(m_xReffingStck));
1446 }
1448 {
1449 DeleteStack(std::move(m_xAnchorStck));
1450 }
1451 void emulateMSWordAddTextToParagraph(const OUString& rAddString);
1452 void simpleAddTextToParagraph(const OUString& rAddString);
1453 bool HandlePageBreakChar();
1454 bool ReadChar(tools::Long nPosCp, tools::Long nCpOfs);
1455 bool ReadPlainChars(WW8_CP& rPos, sal_Int32 nEnd, sal_Int32 nCpOfs);
1456 bool ReadChars(WW8_CP& rPos, WW8_CP nNextAttr, tools::Long nTextEnd, tools::Long nCpOfs);
1459
1460 void SetDocumentGrid(SwFrameFormat &rFormat, const wwSection &rSection);
1461
1462 void ProcessCurrentCollChange(WW8PLCFManResult& rRes, bool* pStartAttr,
1463 bool bCallProcessSpecial);
1464 tools::Long ReadTextAttr(WW8_CP& rTextPos, tools::Long nTextEnd, bool& rbStartLine, int nDepthGuard = 0);
1465 void ReadAttrs(WW8_CP& rTextPos, WW8_CP& rNext, tools::Long nTextEnd, bool& rbStartLine);
1466 void CloseAttrEnds();
1467 bool ReadText(WW8_CP nStartCp, WW8_CP nTextLen, ManTypes nType);
1468
1469 void ReadRevMarkAuthorStrTabl( SvStream& rStrm, sal_Int32 nTablePos,
1470 sal_Int32 nTableSiz, SwDoc& rDoc );
1471
1472 void Read_HdFtFootnoteText(const SwNodeIndex* pSttIdx, WW8_CP nStartCp,
1473 WW8_CP nLen, ManTypes nType);
1474
1475 void ImportTox( int nFieldId, const OUString& aStr );
1476
1477 void EndSprm( sal_uInt16 nId );
1478 // #i103711#
1479 // #i105414#
1480 void NewAttr( const SfxPoolItem& rAttr,
1481 const bool bFirstLineOfStSet = false,
1482 const bool bLeftIndentSet = false );
1483
1484 bool GetFontParams(sal_uInt16, FontFamily&, OUString&, FontPitch&,
1485 rtl_TextEncoding&);
1486 bool SetNewFontAttr(sal_uInt16 nFCode, bool bSetEnums, sal_uInt16 nWhich);
1487 void ResetCharSetVars();
1488 void ResetCJKCharSetVars();
1489
1490 const SfxPoolItem* GetFormatAttr( sal_uInt16 nWhich );
1491 bool JoinNode(SwPaM &rPam, bool bStealAttr = false);
1492
1493 static bool IsBorder(const WW8_BRCVer9* pbrc, bool bChkBtwn = false);
1494
1495 //Set closest writer border equivalent into rBox from pbrc, optionally
1496 //recording true winword dimensions in pSizeArray. nSetBorders to mark a
1497 //border which has been previously set to a value and for which becoming
1498 //empty is valid. Set bCheBtwn to work with paragraphs that have a special
1499 //between paragraphs border
1500
1501 // Note #i20672# we can't properly support between lines so best to ignore
1502 // them for now
1503 static bool SetBorder(SvxBoxItem& rBox, const WW8_BRCVer9* pbrc,
1504 short *pSizeArray=nullptr, sal_uInt8 nSetBorders=0xFF);
1505 static void GetBorderDistance(const WW8_BRCVer9* pbrc, tools::Rectangle& rInnerDist);
1506 static sal_uInt16 GetParagraphAutoSpace(bool fDontUseHTMLAutoSpacing);
1507 static bool SetShadow(SvxShadowItem& rShadow, const short *pSizeArray,
1508 const WW8_BRCVer9& aRightBrc);
1509 //returns true is a shadow was set
1510 static bool SetFlyBordersShadow(SfxItemSet& rFlySet, const WW8_BRCVer9 *pbrc,
1511 short *SizeArray);
1512 static void SetPageBorder(SwFrameFormat &rFormat, const wwSection &rSection);
1513
1514 static sal_Int32 MatchSdrBoxIntoFlyBoxItem( const Color& rLineColor,
1515 MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, sal_Int32 &rLineWidth,
1516 SvxBoxItem& rBox );
1517 void MatchSdrItemsIntoFlySet( SdrObject const * pSdrObj, SfxItemSet &aFlySet,
1518 MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, tools::Rectangle &rInnerDist );
1519 static void AdjustLRWrapForWordMargins(const SvxMSDffImportRec &rRecord,
1520 SvxLRSpaceItem &rLR);
1521 static void AdjustULWrapForWordMargins(const SvxMSDffImportRec &rRecord,
1522 SvxULSpaceItem &rUL);
1523 static void MapWrapIntoFlyFormat(const SvxMSDffImportRec& rRecord, SwFrameFormat& rFlyFormat);
1524
1525 void SetAttributesAtGrfNode(const SvxMSDffImportRec& rRecord, const SwFrameFormat& rFlyFormat,
1526 WW8_FSPA const* pF);
1527
1528 bool IsDropCap() const;
1529 bool IsListOrDropcap() const { return (!m_xCurrentItemSet || m_bDropCap); };
1530
1531 //Apo == Absolutely Positioned Object, MSWord's old-style frames
1532 std::unique_ptr<WW8FlyPara> ConstructApo(const ApoTestResults &rApo,
1533 const WW8_TablePos *pTabPos);
1534 bool StartApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos);
1535 void StopApo();
1536 bool TestSameApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos);
1537 ApoTestResults TestApo(int nCellLevel, bool bTableRowEnd,
1538 const WW8_TablePos *pTabPos);
1539 static void StripNegativeAfterIndent(SwFrameFormat const *pFlyFormat);
1540
1541 void EndSpecial();
1542 bool ProcessSpecial(bool &rbReSync, WW8_CP nStartCp);
1543 sal_uInt16 TabRowSprm(int nLevel) const;
1544
1545 bool ReadGrafFile(OUString& rFileName, std::optional<Graphic>& rpGraphic,
1546 const WW8_PIC& rPic, SvStream* pSt, sal_uLong nFilePos, bool* pDelIt);
1547
1548 static void ReplaceObj(const SdrObject &rReplaceTextObj,
1549 SdrObject &rSubObj);
1550
1552 const Graphic* pGraph, const OUString& rFileName,
1553 const SfxItemSet& rGrfSet);
1554
1555 SwFrameFormat* MakeGrafInContent(const WW8_PIC& rPic, const WW8PicDesc& rPD,
1556 const Graphic* pGraph, const OUString& rFileName,
1557 const SfxItemSet& rGrfSet);
1558
1560 SwFrameFormat* ImportGraf1(WW8_PIC const & rPic, SvStream* pSt, sal_uLong nFilePos);
1561 SwFrameFormat* ImportGraf(SdrTextObj const * pTextObj = nullptr, SwFrameFormat const * pFlyFormat = nullptr);
1562
1563 rtl::Reference<SdrObject> ImportOleBase( Graphic& rGraph, const Graphic* pGrf=nullptr,
1564 const SfxItemSet* pFlySet=nullptr, const tools::Rectangle& aVisArea = tools::Rectangle() );
1565
1566 SwFrameFormat* ImportOle( const Graphic* = nullptr, const SfxItemSet* pFlySet = nullptr,
1567 const SfxItemSet* pGrfSet = nullptr, const tools::Rectangle& aVisArea = tools::Rectangle() );
1568 SwFlyFrameFormat* InsertOle(SdrOle2Obj &rObject, const SfxItemSet &rFlySet,
1569 const SfxItemSet *rGrfSet);
1570
1572 SwWw8ControlType nWhich);
1573
1574 void ImportDop();
1575
1576 //This converts MS Asian Typography information into OOo's
1577 void ImportDopTypography(const WW8DopTypography &rTypo);
1578
1581 ErrCode CoreLoad(WW8Glossary const *pGloss);
1582
1583 void ReadDocVars();
1584
1585 bool StartTable(WW8_CP nStartCp);
1586 bool InEqualApo(int nLvl) const;
1587 bool InLocalApo() const { return InEqualApo(m_nInTable); }
1588 bool InEqualOrHigherApo(int nLvl) const;
1589 void TabCellEnd();
1590 void StopTable();
1591 bool IsInvalidOrToBeMergedTabCell() const;
1592
1593// Enumerations / lists ( Autonumbered List Data Descriptor )
1594// list: ANLD ( Autonumbered List Data Descriptor )
1595// one level: ANLV ( Autonumber Level Descriptor )
1596
1597// Chg7-8:
1598// lists are separate structures in WW8 that are handled via the following three tables:
1599// rglst, hpllfo and hsttbListNames
1600// the corresponding structures are: LSTF, LVLF, LFO LFOLVL
1601
1602 void SetAnlvStrings(SwNumFormat &rNum, int nLevel, WW8_ANLV const &rAV, const sal_uInt8* pText,
1603 size_t nStart, size_t nElements, bool bOutline);
1604 void SetAnld(SwNumRule* pNumR, WW8_ANLD const * pAD, sal_uInt8 nSwLevel, bool bOutLine);
1605 void SetNumOlst( SwNumRule* pNumR, WW8_OLST* pO, sal_uInt8 nSwLevel );
1607
1608 void StartAnl(const sal_uInt8* pSprm13);
1609 void NextAnlLine(const sal_uInt8* pSprm13);
1610 void StopAllAnl(bool bGoBack = true);
1611 void StopAnlToRestart(sal_uInt8 nType, bool bGoBack = true);
1612
1613// graphics layer
1614
1615 bool ReadGrafStart(void* pData, short nDataSiz, WW8_DPHEAD const * pHd,
1616 SfxAllItemSet &rSet);
1622 void InsertTxbxStyAttrs( SfxItemSet& rS, sal_uInt16 nColl );
1623 void InsertAttrsAsDrawingAttrs(WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType, bool bONLYnPicLocFc=false);
1624
1625 bool GetTxbxTextSttEndCp(WW8_CP& rStartCp, WW8_CP& rEndCp, sal_uInt16 nTxBxS,
1626 sal_uInt16 nSequence);
1627 sal_Int32 GetRangeAsDrawingString(OUString& rString, tools::Long StartCp, tools::Long nEndCp, ManTypes eType);
1628 std::optional<OutlinerParaObject> ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType);
1629 void InsertTxbxText(SdrTextObj* pTextObj, Size const * pObjSiz,
1630 sal_uInt16 nTxBxS, sal_uInt16 nSequence, tools::Long nPosCp, SwFrameFormat const * pFlyFormat,
1631 bool bMakeSdrGrafObj, bool& rbEraseTextObj,
1632 bool* pbTestTxbxContainsText = nullptr, tools::Long* pnStartCp = nullptr,
1633 tools::Long* pnEndCp = nullptr, bool* pbContainsGraphics = nullptr,
1634 SvxMSDffImportRec const * pRecord = nullptr);
1635 bool TxbxChainContainsRealText( sal_uInt16 nTxBxS,
1636 tools::Long& rStartCp,
1637 tools::Long& rEndCp );
1642 void ReadGrafLayer1(WW8PLCFspecial& rPF, tools::Long nGrafAnchorCp);
1645 bool MiserableRTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth,
1646 sal_Int16 eHoriOri, sal_Int16 eHoriRel);
1647 SwFrameFormat* Read_GrafLayer( tools::Long nGrafAnchorCp );
1649 SvxMSDffImportRec& rRecord, WW8_FSPA& rF,
1650 SfxItemSet& rFlySet);
1652 const SvxMSDffImportRec& rRecord, RndStdIds eAnchor,
1653 const WW8_FSPA& rF, SfxItemSet& rFlySet);
1655 SwFrameFormat* pRetFrameFormat);
1656
1657 void GraphicCtor();
1658 void GraphicDtor();
1659
1660// other stuff
1661 OUString GetFieldResult( WW8FieldDesc const * pF );
1662 void MakeTagString( OUString& rStr, const OUString& rOrg );
1663 void UpdateFields();
1664 OUString ConvertFFileName(const OUString& rRaw);
1666 void InsertTagField( const sal_uInt16 nId, const OUString& rTagText );
1668 void EndExtSprm(sal_uInt16 nSprmId);
1669 void ReadDocInfo();
1670
1671// Ver8 lists
1672
1673 void RegisterNumFormatOnTextNode(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel,
1674 const bool bSetAttr = true);
1675
1676 void RegisterNumFormatOnStyle(sal_uInt16 nStyle);
1677 void SetStylesList(sal_uInt16 nStyle, sal_uInt16 nCurrentLFO,
1678 sal_uInt8 nCurrentLevel);
1679 void RegisterNumFormat(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel);
1680
1681// to be replaced by calls in the appropriate extended SvxMSDffManager
1682
1683 const OUString* GetAnnotationAuthor(sal_uInt16 nIdx);
1684
1685 void GetSmartTagInfo(SwFltRDFMark& rMark);
1686
1687 // interfaces for the toggle attributes
1688 void SetToggleAttr(sal_uInt8 nAttrId, bool bOn);
1689 void SetToggleBiDiAttr(sal_uInt8 nAttrId, bool bOn);
1690 void ChkToggleAttr_( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask );
1691
1692 void ChkToggleAttr( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask )
1693 {
1694 if( nOldStyle81Mask != nNewStyle81Mask &&
1695 m_xCtrlStck->GetToggleAttrFlags() )
1696 ChkToggleAttr_( nOldStyle81Mask, nNewStyle81Mask );
1697 }
1698
1699 void ChkToggleBiDiAttr_( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask );
1700
1701 void ChkToggleBiDiAttr( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask )
1702 {
1703 if( nOldStyle81Mask != nNewStyle81Mask &&
1704 m_xCtrlStck->GetToggleBiDiAttrFlags() )
1705 ChkToggleBiDiAttr_( nOldStyle81Mask, nNewStyle81Mask );
1706 }
1707
1708 void PopTableDesc();
1709 void MoveInsideFly(const SwFrameFormat *pFlyFormat);
1710 SwTwips MoveOutsideFly(SwFrameFormat *pFlyFormat, const SwPosition &rPos,
1711 bool bTableJoin = true);
1712
1713 void SetOutlineStyles();
1714
1715 bool SetSpacing(SwPaM &rMyPam, int nSpace, bool bIsUpper);
1716 bool SetUpperSpacing(SwPaM &pMyPam, int nSpace);
1717 bool SetLowerSpacing(SwPaM &rMyPam, int nSpace);
1718
1720 { return !m_aFieldStack.empty() && m_aFieldStack.back().mnFieldId == 95; };
1721
1722 void StoreMacroCmds();
1723
1724 // #i84783#
1725 // determine object attribute "Layout in Table Cell"
1726 bool IsObjectLayoutInTableCell(const sal_uInt32 nGroupShapeBooleanProperties) const;
1727 void ReadGlobalTemplateSettings( std::u16string_view sCreatedFrom, const css::uno::Reference< css::container::XNameContainer >& xPrjNameMap );
1730public: // really private, but can only be done public
1732 sal_uInt16 GetToggleAttrFlags() const;
1733 sal_uInt16 GetToggleBiDiAttrFlags() const;
1734 void SetToggleAttrFlags(sal_uInt16 nFlags);
1735 void SetToggleBiDiAttrFlags(sal_uInt16 nFlags);
1736
1738 sal_uInt16 End_Footnote();
1740 sal_uInt16 End_Field();
1745
1746 // attributes
1747
1748 void Read_Special(sal_uInt16, const sal_uInt8*, short nLen);
1749 void Read_Obj(sal_uInt16, const sal_uInt8*, short nLen);
1750 void Read_PicLoc(sal_uInt16, const sal_uInt8* pData, short nLen );
1751 void Read_BoldUsw(sal_uInt16 nId, const sal_uInt8*, short nLen);
1752 void Read_Bidi(sal_uInt16 nId, const sal_uInt8*, short nLen);
1753 void Read_BoldBiDiUsw(sal_uInt16 nId, const sal_uInt8*, short nLen);
1754 void Read_AmbiguousSPRM(sal_uInt16 nId, const sal_uInt8*, short nLen);
1755 void Read_SubSuper( sal_uInt16, const sal_uInt8*, short nLen );
1757 static SwFrameFormat *ContainsSingleInlineGraphic(const SwPaM &rRegion);
1758 void Read_SubSuperProp( sal_uInt16, const sal_uInt8*, short nLen );
1759 void Read_Underline( sal_uInt16, const sal_uInt8*, short nLen );
1760 void Read_TextColor( sal_uInt16, const sal_uInt8*, short nLen );
1761 void openFont(sal_uInt16 nFCode, sal_uInt16 nId);
1762 void closeFont(sal_uInt16 nId);
1763 void Read_FontCode( sal_uInt16, const sal_uInt8*, short nLen );
1764 void Read_FontSize( sal_uInt16, const sal_uInt8*, short nLen );
1765 void Read_CharSet(sal_uInt16 , const sal_uInt8* pData, short nLen);
1766 void Read_Language( sal_uInt16, const sal_uInt8*, short nLen );
1767 void Read_CColl( sal_uInt16, const sal_uInt8*, short nLen );
1768 void Read_Kern( sal_uInt16, const sal_uInt8* pData, short nLen );
1769 void Read_FontKern( sal_uInt16, const sal_uInt8* pData, short nLen );
1770 void Read_Emphasis( sal_uInt16, const sal_uInt8* pData, short nLen );
1771 void Read_ScaleWidth( sal_uInt16, const sal_uInt8* pData, short nLen );
1772 void Read_Relief( sal_uInt16, const sal_uInt8* pData, short nLen);
1773 void Read_TextAnim( sal_uInt16, const sal_uInt8* pData, short nLen);
1774
1775 void Read_NoLineNumb( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1776
1777 void Read_LR( sal_uInt16 nId, const sal_uInt8*, short nLen );
1778 void Read_UL( sal_uInt16 nId, const sal_uInt8*, short nLen );
1779 void Read_ParaAutoBefore(sal_uInt16 , const sal_uInt8 *pData, short nLen);
1780 void Read_ParaAutoAfter(sal_uInt16 , const sal_uInt8 *pData, short nLen);
1781 void Read_ParaContextualSpacing( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1782 void Read_LineBreakClear(sal_uInt16 nId, const sal_uInt8* pData, short nLen);
1783 void Read_LineSpace( sal_uInt16, const sal_uInt8*, short nLen );
1784
1785 void SetRelativeJustify( bool bRel );
1786 bool IsRelativeJustify();
1787 bool IsRelativeJustify(sal_uInt16 nColl, o3tl::sorted_vector<sal_uInt16>& rVisitedStyles);
1788 void Read_Justify(sal_uInt16, const sal_uInt8*, short nLen);
1789
1790 void Read_IdctHint(sal_uInt16, const sal_uInt8*, short nLen);
1791 bool IsRightToLeft();
1792 void Read_RTLJustify(sal_uInt16, const sal_uInt8*, short nLen);
1793 void Read_Hyphenation( sal_uInt16, const sal_uInt8* pData, short nLen );
1794 void Read_WidowControl( sal_uInt16, const sal_uInt8* pData, short nLen );
1795 void Read_AlignFont( sal_uInt16, const sal_uInt8* pData, short nLen );
1796 void Read_UsePgsuSettings( sal_uInt16, const sal_uInt8* pData, short nLen );
1797 void Read_KeepLines( sal_uInt16, const sal_uInt8* pData, short nLen );
1798 void Read_KeepParas( sal_uInt16, const sal_uInt8* pData, short nLen );
1799 void Read_BreakBefore( sal_uInt16, const sal_uInt8* pData, short nLen );
1800 void Read_ApoPPC(sal_uInt16, const sal_uInt8* pData, short);
1801
1802 void Read_BoolItem( sal_uInt16 nId, const sal_uInt8*, short nLen );
1803
1804 void Read_Border( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1805 void Read_CharBorder(sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1806 void Read_Tab( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1807 void Read_Symbol(sal_uInt16, const sal_uInt8* pData, short nLen);
1808 void Read_FieldVanish( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1809
1810 // Revision Marks ( == Redlining )
1811
1812 // insert or delete content (change char attributes resp.)
1813 void Read_CRevisionMark(RedlineType eType, const sal_uInt8* pData, short nLen);
1814 // insert new content
1815 void Read_CFRMark(sal_uInt16 , const sal_uInt8* pData, short nLen);
1816 // delete old content
1817 void Read_CFRMarkDel(sal_uInt16 , const sal_uInt8* pData, short nLen);
1818 // change properties of content (e.g. char formatting)
1819 void Read_CPropRMark(sal_uInt16 , const sal_uInt8* pData, short nLen); // complex!
1820
1821 void Read_TabRowEnd( sal_uInt16, const sal_uInt8* pData, short nLen );
1822 void Read_TabCellEnd( sal_uInt16, const sal_uInt8* pData, short nLen );
1823 bool ParseTabPos(WW8_TablePos *aTabPos, WW8PLCFx_Cp_FKP* pPap);
1824 void Read_Shade( sal_uInt16, const sal_uInt8* pData, short nLen );
1825 void Read_ANLevelNo( sal_uInt16, const sal_uInt8* pData, short nLen );
1826 void Read_ANLevelDesc( sal_uInt16, const sal_uInt8* pData, short nLen );
1827
1828 // outline level Ver8
1829 void Read_POutLvl(sal_uInt16, const sal_uInt8* pData, short nLen);
1830
1831 void Read_OLST( sal_uInt16, const sal_uInt8* pData, short nLen );
1832
1833 void Read_CharShadow( sal_uInt16, const sal_uInt8* pData, short nLen );
1834 void Read_CharHighlight( sal_uInt16, const sal_uInt8* pData, short nLen );
1835 // Ver8-Listen
1836
1837 void Read_ListLevel( sal_uInt16 nId, const sal_uInt8* pData, short nLen);
1838
1847 void Read_LFOPosition( sal_uInt16 nId, const sal_uInt8* pData, short nLen);
1848 bool SetTextFormatCollAndListLevel(const SwPaM& rRg, SwWW8StyInf& rStyleInfo);
1849
1850 void Read_StyleCode(sal_uInt16, const sal_uInt8* pData, short nLen);
1851 void Read_Majority(sal_uInt16, const sal_uInt8* , short );
1852 void Read_DoubleLine_Rotate( sal_uInt16, const sal_uInt8* pDATA, short nLen);
1853
1854 void Read_TextForeColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1855 void Read_TextBackColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1856 void Read_ParaBackColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1857 void Read_ParaBiDi(sal_uInt16, const sal_uInt8* pData, short nLen);
1858 static Color ExtractColour(const sal_uInt8* &rpData, bool bVer67);
1859
1860 void Read_TextVerticalAdjustment(sal_uInt16, const sal_uInt8* pData, short nLen);
1861 void Read_UnderlineColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1862 tools::Long MapBookmarkVariables(const WW8FieldDesc* pF, OUString &rOrigName,
1863 const OUString &rData);
1864 OUString GetMappedBookmark(std::u16string_view rOrigName);
1865
1866 // fields
1867 eF_ResT Read_F_Input(WW8FieldDesc*, OUString& rStr);
1868 eF_ResT Read_F_InputVar(WW8FieldDesc*, OUString& rStr);
1869 eF_ResT Read_F_ANumber( WW8FieldDesc*, OUString& );
1870 eF_ResT Read_F_DocInfo( WW8FieldDesc* pF, OUString& rStr );
1871 eF_ResT Read_F_Author( WW8FieldDesc*, OUString& );
1872 eF_ResT Read_F_TemplName( WW8FieldDesc*, OUString& );
1873 SvNumFormatType GetTimeDatePara(OUString const & rStr, sal_uInt32& rFormat, LanguageType &rLang,
1874 int nWhichDefault, bool bHijri = false);
1876 eF_ResT Read_F_DateTime( WW8FieldDesc*, OUString& rStr );
1877 eF_ResT Read_F_FileName( WW8FieldDesc*, OUString& rStr);
1878 eF_ResT Read_F_Num( WW8FieldDesc* pF, OUString& );
1879 eF_ResT Read_F_CurPage( WW8FieldDesc*, OUString& );
1880 eF_ResT Read_F_Ref( WW8FieldDesc* pF, OUString& );
1881
1882 eF_ResT Read_F_Set( WW8FieldDesc*, OUString& rStr );
1883 eF_ResT Read_F_PgRef( WW8FieldDesc*, OUString& rStr );
1884 eF_ResT Read_F_NoteReference( WW8FieldDesc* pF, OUString& rStr );
1885
1886 eF_ResT Read_F_Tox( WW8FieldDesc* pF, OUString& rStr );
1887 eF_ResT Read_F_Symbol( WW8FieldDesc*, OUString& rStr );
1888 eF_ResT Read_F_Embedd( WW8FieldDesc*, OUString& rStr );
1889 eF_ResT Read_F_FormTextBox( WW8FieldDesc* pF, OUString& rStr);
1890 eF_ResT Read_F_FormCheckBox( WW8FieldDesc* pF, OUString& rStr );
1891 eF_ResT Read_F_FormListBox( WW8FieldDesc* pF, OUString& rStr);
1892 css::awt::Size MiserableDropDownFormHack(const OUString &rString,
1893 css::uno::Reference<css::beans::XPropertySet> const & rPropSet);
1894
1895 eF_ResT Read_F_Macro( WW8FieldDesc*, OUString& rStr);
1896 eF_ResT Read_F_DBField( WW8FieldDesc*, OUString& rStr );
1897 eF_ResT Read_F_DBNext( WW8FieldDesc*, OUString& );
1898 eF_ResT Read_F_DBNum( WW8FieldDesc*, OUString& );
1899 eF_ResT Read_F_Equation( WW8FieldDesc*, OUString& );
1901 eF_ResT Read_F_IncludePicture( WW8FieldDesc*, OUString& rStr );
1902 eF_ResT Read_F_IncludeText( WW8FieldDesc*, OUString& rStr );
1903 eF_ResT Read_F_Seq( WW8FieldDesc*, OUString& rStr );
1905 eF_ResT Read_F_Styleref(WW8FieldDesc*, OUString& rStr);
1906
1907 eF_ResT Read_F_OCX(WW8FieldDesc*, OUString&);
1908 eF_ResT Read_F_Hyperlink(WW8FieldDesc*, OUString& rStr);
1909 eF_ResT Read_F_Shape(WW8FieldDesc* pF, OUString& rStr);
1910 eF_ResT Read_F_HTMLControl( WW8FieldDesc* pF, OUString& rStr);
1911
1912 short ImportSprm(const sal_uInt8* pPos, sal_Int32 nMemLen, sal_uInt16 nId = 0);
1913
1914 bool SearchRowEnd(WW8PLCFx_Cp_FKP* pPap,WW8_CP &rStartCp, int nLevel) const;
1916 bool SearchTableEnd(WW8PLCFx_Cp_FKP* pPap) const;
1918
1919 const WW8Fib& GetFib() const { return *m_xWwFib; }
1920 SwDoc& GetDoc() const { return m_rDoc; }
1921 sal_uInt16 GetCurrentColl() const { return m_nCurrentColl; }
1922 void SetNCurrentColl( sal_uInt16 nColl ) { m_nCurrentColl = nColl; }
1923 std::unique_ptr<SfxItemSet> SetCurrentItemSet(std::unique_ptr<SfxItemSet> pItemSet);
1924 sal_uInt16 StyleUsingLFO( sal_uInt16 nLFOIndex ) const ;
1925 const SwFormat* GetStyleWithOrgWWName( std::u16string_view rName ) const ;
1926
1927 static bool GetPictGrafFromStream(Graphic& rGraphic, SvStream& rSrc);
1928 SAL_WARN_UNUSED_RESULT static bool PicRead(SvStream *pDataStream, WW8_PIC *pPic, bool bVer67);
1929 static bool ImportOleWMF(const tools::SvRef<SotStorage>& xSrc1, GDIMetaFile& rWMF, tools::Long& rX,
1930 tools::Long& rY);
1931 static Color GetCol(sal_uInt8 nIco);
1932
1933 SwWW8ImplReader( sal_uInt8 nVersionPara, SotStorage* pStorage, SvStream* pSt,
1934 SwDoc& rD, OUString aBaseURL, bool bNewDoc, bool bSkipImages, SwPosition const &rPos );
1935
1936 const OUString& GetBaseURL() const { return m_sBaseURL; }
1937 // load a complete doc file
1938 ErrCode LoadDoc(WW8Glossary *pGloss=nullptr);
1939 rtl_TextEncoding GetCurrentCharSet();
1940 rtl_TextEncoding GetCurrentCJKCharSet();
1941 rtl_TextEncoding GetCharSetFromLanguage();
1942 rtl_TextEncoding GetCJKCharSetFromLanguage();
1943
1944 void PostProcessAttrs();
1945 void ReadEmbeddedData(SvStream& rStrm, SwDocShell const * pDocShell, struct HyperLinksTable& hlStr);
1946 void NotifyMacroEventRead();
1947};
1948
1949bool CanUseRemoteLink(const OUString &rGrfName);
1950void UseListIndent(SwWW8StyInf &rStyle, const SwNumFormat &rFormat);
1951void SetStyleIndent(SwWW8StyInf &rStyleInfo, const SwNumFormat &rFormat);
1952// #i103711#
1953// #i105414#
1955 const SwNumFormat &rFormat,
1956 const bool bFirstLineOfStSet,
1957 const bool bLeftIndentSet );
1959OUString BookmarkToWriter(std::u16string_view rBookmark);
1960bool RTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth,
1961 sal_Int16 eHoriOri, sal_Int16 eHoriRel, SwTwips nPageLeft,
1962 SwTwips nPageRight, SwTwips nPageSize);
1964 SfxItemSet &rFlySet);
1965#endif
1966
1967/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
static sal_uInt8 nTablePos
Definition: basesh.cxx:117
ManTypes meType
Definition: ww8par.hxx:999
Represents the style of a text portion.
Definition: charfmt.hxx:27
Definition: doc.hxx:192
Instances of SwFields and those derived from it occur 0 to n times.
Definition: fldbas.hxx:242
Base class of all fields.
Definition: fldbas.hxx:292
Stores RDF statements on a paragraph (key-value pairs where the subject is the paragraph).
Definition: fltshell.hxx:244
Pagedescriptor Client of SwPageDesc that is "described" by the attribute.
Definition: fmtpdsc.hxx:36
Base class for various Writer styles.
Definition: format.hxx:47
Style of a layout element.
Definition: frmfmt.hxx:62
sal_uInt32 mnObjectId
Definition: ww8par.hxx:743
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
Definition: ww8par3.cxx:2540
bool ReadOCXStream(tools::SvRef< SotStorage > const &rSrc1, css::uno::Reference< css::drawing::XShape > *pShapeRef, bool bFloatingCtrl=false)
Definition: wrtw8esh.cxx:3001
SwMSConvertControls(SfxObjectShell const *pDSh, SwPaM *pP)
Definition: wrtw8esh.cxx:2993
void ExportControl(WW8Export &rWrt, const SdrUnoObj &rFormObj)
Definition: wrtw8esh.cxx:3015
void InsertFormula(WW8FormulaControl &rFormula)
Definition: ww8par3.cxx:2128
virtual bool GetOLEStorageName(sal_uInt32 nOLEId, OUString &rStorageName, tools::SvRef< SotStorage > &rSrcStorage, css::uno::Reference< css::embed::XStorage > &rDestStorage) const override
Definition: ww8par.cxx:6617
SwMSDffManager & operator=(const SwMSDffManager &)=delete
virtual rtl::Reference< SdrObject > ProcessObj(SvStream &rSt, DffObjData &rObjData, SvxMSDffClientData &rData, tools::Rectangle &rTextRect, SdrObject *pObj) override
Definition: ww8par.cxx:600
virtual rtl::Reference< SdrObject > ImportOLE(sal_uInt32 nOLEId, const Graphic &rGrf, const tools::Rectangle &rBoundRect, const tools::Rectangle &rVisArea, const int _nCalledByGroup) const override
Definition: ww8par.cxx:511
static sal_uInt32 GetFilterFlags()
Definition: ww8par.cxx:490
void DisableFallbackStream()
Definition: ww8par.cxx:560
static sal_Int32 GetEscherLineMatch(MSO_LineStyle eStyle, MSO_SPT eShapeType, sal_Int32 &rThick)
Definition: ww8graf.cxx:1539
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 ...
Definition: ww8par.cxx:6707
SvStream * m_pFallbackStream
Definition: ww8par.hxx:750
void EnableFallbackStream()
Definition: ww8par.cxx:570
std::unordered_map< sal_uInt32, Graphic > m_aOldEscherBlipCache
Definition: ww8par.hxx:751
SwMSDffManager(const SwMSDffManager &)=delete
SwWW8ImplReader & m_rReader
Definition: ww8par.hxx:749
void SetName(const OUString &rName)
Definition: ww8par.hxx:518
const OUString & GetHlink() const
Definition: ww8par.hxx:513
SwMacroInfo(SwMacroInfo &&)=default
void SetHlink(const OUString &rHlink)
Definition: ww8par.hxx:512
const OUString & GetTarFrame() const
Definition: ww8par.hxx:515
void SetShapeId(sal_Int32 rShapeId)
Definition: ww8par.hxx:516
SwMacroInfo(SwMacroInfo const &)=default
OUString maTarFrame
Definition: ww8par.hxx:525
virtual ~SwMacroInfo() override
Definition: ww8par.cxx:6754
SwMacroInfo & operator=(SwMacroInfo const &)=delete
OUString maHlink
Definition: ww8par.hxx:523
void SetTarFrame(const OUString &rTarFrame)
Definition: ww8par.hxx:514
const OUString & GetName() const
Definition: ww8par.hxx:519
const sal_Int32 & GetShapeId() const
Definition: ww8par.hxx:517
OUString maNameStr
Definition: ww8par.hxx:524
virtual std::unique_ptr< SdrObjUserData > Clone(SdrObject *pObj) const override
Definition: ww8par.cxx:6758
sal_Int32 mnShapeId
Definition: ww8par.hxx:522
Marks a node in the document model.
Definition: ndindex.hxx:31
Base class of the Writer document model elements.
Definition: node.hxx:84
SwNodeOffset GetIndex() const
Definition: node.hxx:296
PaM is Point and Mark: a selection of the document model.
Definition: pam.hxx:187
Represents the style of a paragraph.
Definition: fmtcol.hxx:59
SwTextNode is a paragraph in the document model.
Definition: ndtxt.hxx:86
void AddAnchor(const SwPosition &rPos, SwFrameFormat *pFormat)
Definition: ww8graf.cxx:3214
SwWW8FltAnchorStack(const SwWW8FltAnchorStack &)=delete
SwWW8FltAnchorStack(SwDoc &rDo, sal_uLong nFieldFl)
Definition: ww8par.hxx:429
SwWW8FltAnchorStack & operator=(const SwWW8FltAnchorStack &)=delete
void SetToggleBiDiAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.hxx:413
const T * GetFormatAttr(const SwPosition &rPos, TypedWhichId< T > nWhich)
Definition: ww8par.hxx:416
sal_uInt16 GetToggleAttrFlags() const
Definition: ww8par.hxx:401
SwWW8FltControlStack(SwDoc &rDo, sal_uLong nFieldFl, SwWW8ImplReader &rReader_)
Definition: ww8par.hxx:384
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
Definition: ww8par.cxx:1338
const SwNumFormat * GetNumFormatFromStack(const SwPosition &rPos, const SwTextNode &rTextNode)
Definition: ww8par.cxx:1286
void SetToggleAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.hxx:412
const SfxPoolItem * GetFormatAttr(const SwPosition &rPos, sal_uInt16 nWhich)
Definition: ww8par.cxx:1448
std::unique_ptr< SfxItemSet > m_xScratchSet
Definition: ww8par.hxx:372
sal_uInt16 GetToggleBiDiAttrFlags() const
Definition: ww8par.hxx:411
void SetToggleBiDiAttr(sal_uInt8 nId, bool bOn)
Definition: ww8par.hxx:403
void SetToggleAttr(sal_uInt8 nId, bool bOn)
Definition: ww8par.hxx:393
const SfxPoolItem * GetStackAttr(const SwPosition &rPos, sal_uInt16 nWhich)
Definition: ww8par.cxx:1493
SwWW8ImplReader & m_rReader
Definition: ww8par.hxx:371
void NewAttr(const SwPosition &rPos, const SfxPoolItem &rAttr)
Stack.
Definition: ww8par.cxx:1174
virtual SwFltStackEntry * SetAttr(const SwPosition &rPos, sal_uInt16 nAttrId, bool bTstEnd=true, tools::Long nHand=LONG_MAX, bool consumedByField=false) override
Definition: ww8par.cxx:1188
sal_uInt16 m_nToggleBiDiAttrFlags
Definition: ww8par.hxx:374
sal_uInt16 m_nToggleAttrFlags
Definition: ww8par.hxx:373
SwWW8FltControlStack & operator=(const SwWW8FltControlStack &)=delete
SwWW8FltControlStack(const SwWW8FltControlStack &)=delete
bool IsFootnoteEdnBkmField(const SwFormatField &rFormatField, sal_uInt16 &rBkmNo)
Definition: ww8par.cxx:1524
SwWW8FltRefStack & operator=(const SwWW8FltRefStack &)=delete
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
Definition: ww8par.cxx:1547
SwWW8FltRefStack(SwDoc &rDo, sal_uLong nFieldFl)
Definition: ww8par.hxx:469
SwWW8FltRefStack(const SwWW8FltRefStack &)=delete
SwFltStackEntry * RefToVar(const SwField *pField, SwFltStackEntry &rEntry)
Definition: ww8par5.cxx:1339
std::map< OUString, OUString, SwWW8::ltstr > m_aFieldVarNames
Definition: ww8par.hxx:478
eF_ResT Read_F_Num(WW8FieldDesc *pF, OUString &)
Definition: ww8par5.cxx:1923
void Read_Justify(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4598
void Read_DoubleLine_Rotate(sal_uInt16, const sal_uInt8 *pDATA, short nLen)
Definition: ww8par6.cxx:3582
bool InEqualOrHigherApo(int nLvl) const
Definition: ww8par.cxx:6712
void Read_POutLvl(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:2928
void ReadGlobalTemplateSettings(std::u16string_view sCreatedFrom, const css::uno::Reference< css::container::XNameContainer > &xPrjNameMap)
Definition: ww8par.cxx:4984
bool ReadChar(tools::Long nPosCp, tools::Long nCpOfs)
Definition: ww8par.cxx:3610
void CloseAttrEnds()
CloseAttrEnds to only read the attribute ends at the end of a text or a text area (Header,...
Definition: ww8par.cxx:4039
std::optional< SwPosition > m_oLastAnchorPos
Definition: ww8par.hxx:1407
bool ReadText(WW8_CP nStartCp, WW8_CP nTextLen, ManTypes nType)
Definition: ww8par.cxx:4057
SwPaM * m_pPaM
Definition: ww8par.hxx:1129
std::stack< rtl_TextEncoding > m_aFontSrcCJKCharSets
Definition: ww8par.hxx:1224
sal_uInt16 m_nLFOPosition
Definition: ww8par.hxx:1325
void SetToggleBiDiAttr(sal_uInt8 nAttrId, bool bOn)
Definition: ww8par6.cxx:3277
void Read_FontSize(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3948
eF_ResT Read_F_FormTextBox(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par3.cxx:93
SwFieldType * m_pNumFieldType
Definition: ww8par.hxx:1290
void Read_Symbol(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:2961
bool InLocalApo() const
Definition: ww8par.hxx:1587
css::awt::Size MiserableDropDownFormHack(const OUString &rString, css::uno::Reference< css::beans::XPropertySet > const &rPropSet)
Definition: ww8par3.cxx:2272
RndStdIds ProcessEscherAlign(SvxMSDffImportRec &rRecord, WW8_FSPA &rFSPA, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:2259
SwDocShell * m_pDocShell
Definition: ww8par.hxx:1106
rtl::Reference< SdrObject > ReadGroup(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1358
sal_uInt16 End_Footnote()
Definition: ww8par2.cxx:170
bool m_bCareFirstParaEndInToc
Definition: ww8par.hxx:1409
SvStream * m_pTableStream
Definition: ww8par.hxx:1123
void GraphicDtor()
Definition: ww8graf.cxx:3208
void Read_AlignFont(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5235
void Read_LR(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4212
rtl::Reference< SdrObject > ReadPolyLine(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:430
o3tl::sorted_vector< const SwNode * > m_aTextNodesHavingFirstLineOfstSet
Definition: ww8par.hxx:1261
std::unique_ptr< WW8PostProcessAttrsInfo > m_pPostProcessAttrsInfo
Definition: ww8par.hxx:1251
bool m_bDrawCpOValid
Definition: ww8par.hxx:1310
const WW8Fib & GetFib() const
Definition: ww8par.hxx:1919
void Read_Underline(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3527
static void StripNegativeAfterIndent(SwFrameFormat const *pFlyFormat)
Definition: ww8par6.cxx:2608
std::vector< SwWW8StyInf > m_vColl
Definition: ww8par.hxx:1269
void PopTableDesc()
Definition: ww8par2.cxx:3526
void ChkToggleAttr(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par.hxx:1692
void Read_ScaleWidth(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4783
static sal_Unicode TranslateToHindiNumbers(sal_Unicode)
Definition: ww8par.cxx:3022
bool IsObjectLayoutInTableCell(const sal_uInt32 nGroupShapeBooleanProperties) const
Definition: ww8graf.cxx:2460
void emulateMSWordAddTextToParagraph(const OUString &rAddString)
Definition: ww8par.cxx:3325
sal_Int32 m_nDropCap
Definition: ww8par.hxx:1393
eF_ResT Read_F_DocInfo(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:1545
sal_Int32 m_nIniFlyDx
Definition: ww8par.hxx:1316
void Read_AmbiguousSPRM(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3193
const SwNumRule * m_pPrevNumRule
Definition: ww8par.hxx:1236
bool m_bCurrentAND_fNumberAcross
Definition: ww8par.hxx:1382
sal_uInt32 m_nFieldFlags
Definition: ww8par.hxx:1305
eF_ResT Read_F_Author(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1806
void SetDocumentGrid(SwFrameFormat &rFormat, const wwSection &rSection)
Definition: ww8par6.cxx:214
std::optional< std::vector< OUString > > m_xAtnNames
Definition: ww8par.hxx:1294
rtl_TextEncoding m_eHardCharSet
Definition: ww8par.hxx:1321
void Read_WidowControl(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5202
std::deque< FootnoteDescriptor > m_aFootnoteStack
Definition: ww8par.hxx:1177
std::unique_ptr< WW8SmartTagData > m_pSmartTagData
Definition: ww8par.hxx:1296
const SwTextFormatColl * m_pDfltTextFormatColl
Definition: ww8par.hxx:1270
SwNumRule * GetStyRule()
Definition: ww8par2.cxx:737
void Read_TabRowEnd(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:3520
void Read_FontKern(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4099
void closeFont(sal_uInt16 nId)
Definition: ww8par6.cxx:3884
void Read_ANLevelNo(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:756
OUString m_sBaseURL
Definition: ww8par.hxx:1300
std::unique_ptr< WW8_OLST > m_xNumOlst
Definition: ww8par.hxx:1283
void Read_Border(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5066
void Read_TextColor(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3618
bool ReadGrafFile(OUString &rFileName, std::optional< Graphic > &rpGraphic, const WW8_PIC &rPic, SvStream *pSt, sal_uLong nFilePos, bool *pDelIt)
Definition: ww8graf2.cxx:238
static Color ExtractColour(const sal_uInt8 *&rpData, bool bVer67)
Definition: ww8par6.cxx:5024
void DeleteCtrlStack()
Definition: ww8par.hxx:1438
SwFrameFormat * ImportGraf1(WW8_PIC const &rPic, SvStream *pSt, sal_uLong nFilePos)
Definition: ww8graf2.cxx:409
static bool ImportOleWMF(const tools::SvRef< SotStorage > &xSrc1, GDIMetaFile &rWMF, tools::Long &rX, tools::Long &rY)
Definition: ww8par4.cxx:303
std::unique_ptr< ImportProgress > m_xProgress
Definition: ww8par.hxx:1229
SvNumFormatType GetTimeDatePara(OUString const &rStr, sal_uInt32 &rFormat, LanguageType &rLang, int nWhichDefault, bool bHijri=false)
Definition: ww8par5.cxx:433
void HandleLineNumbering(const wwSection &rSection)
Definition: ww8par6.cxx:775
void Read_SubSuper(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3396
std::unique_ptr< SwMSConvertControls > m_xFormImpl
Definition: ww8par.hxx:1231
SwDoc & GetDoc() const
Definition: ww8par.hxx:1920
static void AdjustULWrapForWordMargins(const SvxMSDffImportRec &rRecord, SvxULSpaceItem &rUL)
Definition: ww8graf.cxx:1978
bool m_bWasTabCellEnd
Definition: ww8par.hxx:1353
bool isValid_HdFt_CP(WW8_CP nHeaderCP) const
Definition: ww8par.cxx:2259
void Read_BoolItem(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4697
SwFrameFormat * ImportOle(const Graphic *=nullptr, const SfxItemSet *pFlySet=nullptr, const SfxItemSet *pGrfSet=nullptr, const tools::Rectangle &aVisArea=tools::Rectangle())
Definition: ww8par4.cxx:239
static void ReplaceObj(const SdrObject &rReplaceTextObj, SdrObject &rSubObj)
Definition: ww8graf2.cxx:324
sal_Int32 GetRangeAsDrawingString(OUString &rString, tools::Long StartCp, tools::Long nEndCp, ManTypes eType)
Definition: ww8graf.cxx:903
bool SetUpperSpacing(SwPaM &pMyPam, int nSpace)
Definition: ww8par.cxx:2543
void Read_UL(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4486
bool m_bLoadingTOXCache
Definition: ww8par.hxx:1398
eF_ResT Read_F_PgRef(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2217
SwFlyFrameFormat * ImportReplaceableDrawables(rtl::Reference< SdrObject > &rpObject, rtl::Reference< SdrObject > &rpOurNewObject, SvxMSDffImportRec &rRecord, WW8_FSPA &rF, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:3081
void InsertAttrsAsDrawingAttrs(WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType, bool bONLYnPicLocFc=false)
Definition: ww8graf.cxx:595
eF_ResT Read_F_OCX(WW8FieldDesc *, OUString &)
Definition: ww8par3.cxx:85
void SetAttributesAtGrfNode(const SvxMSDffImportRec &rRecord, const SwFrameFormat &rFlyFormat, WW8_FSPA const *pF)
Definition: ww8graf.cxx:2128
void ImportTox(int nFieldId, const OUString &aStr)
Definition: ww8par5.cxx:3693
eF_ResT Read_F_FormCheckBox(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par3.cxx:186
void Read_CharHighlight(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4158
void Read_Bidi(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3114
eF_ResT Read_F_TemplName(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1816
std::unique_ptr< SwWW8FltControlStack > m_xCtrlStck
Definition: ww8par.hxx:1131
void Read_CharSet(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4009
eF_ResT Read_F_ANumber(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1434
eF_ResT Read_F_HTMLControl(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par3.cxx:318
SwDoc & m_rDoc
Definition: ww8par.hxx:1127
std::optional< SwPaM > m_oPosAfterTOC
Definition: ww8par.hxx:1403
void Read_FontCode(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3896
eF_ResT Read_F_Shape(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:3518
SwFlyFrameFormat * ConvertDrawTextToFly(rtl::Reference< SdrObject > &rpObject, rtl::Reference< SdrObject > &rpOurNewObject, const SvxMSDffImportRec &rRecord, RndStdIds eAnchor, const WW8_FSPA &rF, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:2958
static void SetPageBorder(SwFrameFormat &rFormat, const wwSection &rSection)
Definition: ww8par6.cxx:558
eF_ResT Read_F_FileName(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1893
bool ReadGrafStart(void *pData, short nDataSiz, WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:174
bool m_bWasParaEnd
Definition: ww8par.hxx:1372
tools::Long Read_Field(WW8PLCFManResult *pRes)
Definition: ww8par5.cxx:775
bool m_bCareLastParaEndInToc
Definition: ww8par.hxx:1410
void Read_Emphasis(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4725
bool ImportFormulaControl(WW8FormulaControl &rBox, WW8_CP nStart, SwWw8ControlType nWhich)
Definition: ww8par3.cxx:2074
sal_uInt16 End_Field()
Definition: ww8par5.cxx:506
std::unique_ptr< WW8SwFlyPara > m_xSFlyPara
Definition: ww8par.hxx:1276
std::unique_ptr< WW8FlyPara > m_xWFlyPara
Definition: ww8par.hxx:1275
SvStream * m_pStrm
Definition: ww8par.hxx:1122
void DeleteStack(std::unique_ptr< SwFltControlStack > prStck)
Definition: ww8par.cxx:4377
rtl_TextEncoding m_eTextCharSet
Definition: ww8par.hxx:1319
void Read_TabCellEnd(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:3514
std::unique_ptr< WW8PLCF_HdFt > m_xHdFt
Definition: ww8par.hxx:1273
tools::Long Read_And(WW8PLCFManResult *pRes)
Use authornames, if not available fall back to initials.
Definition: ww8par.cxx:2123
static void MapWrapIntoFlyFormat(const SvxMSDffImportRec &rRecord, SwFrameFormat &rFlyFormat)
Definition: ww8graf.cxx:2008
eF_ResT Read_F_Equation(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:2668
std::optional< SwLineBreakClear > m_oLineBreakClear
Definition: ww8par.hxx:1179
eF_ResT Read_F_Input(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1172
void openFont(sal_uInt16 nFCode, sal_uInt16 nId)
Definition: ww8par6.cxx:3870
sal_uInt32 m_nFieldTagBad[3]
Definition: ww8par.hxx:1307
bool m_bWasTabRowEnd
Definition: ww8par.hxx:1352
ErrCode CoreLoad(WW8Glossary const *pGloss)
Definition: ww8par.cxx:5034
SwFlyFrameFormat * InsertOle(SdrOle2Obj &rObject, const SfxItemSet &rFlySet, const SfxItemSet *rGrfSet)
Definition: ww8par4.cxx:195
static sal_uInt16 GetParagraphAutoSpace(bool fDontUseHTMLAutoSpacing)
Definition: ww8par6.cxx:4423
rtl_TextEncoding GetCurrentCJKCharSet()
Definition: ww8par.cxx:2887
void Read_UsePgsuSettings(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5222
short m_nDrawXOfs
Definition: ww8par.hxx:1329
rtl_TextEncoding GetCharSetFromLanguage()
Definition: ww8par.cxx:2825
bool ParseTabPos(WW8_TablePos *aTabPos, WW8PLCFx_Cp_FKP *pPap)
Definition: ww8par6.cxx:5309
SwTwips MoveOutsideFly(SwFrameFormat *pFlyFormat, const SwPosition &rPos, bool bTableJoin=true)
Definition: ww8par6.cxx:2332
eF_ResT Read_F_Seq(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1448
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.
Definition: ww8par3.cxx:1964
sal_uInt16 GetToggleAttrFlags() const
Definition: ww8par.cxx:578
void ImportDop()
DOP.
Definition: ww8par.cxx:1778
void Read_TextVerticalAdjustment(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5043
tools::Long ReadTextAttr(WW8_CP &rTextPos, tools::Long nTextEnd, bool &rbStartLine, int nDepthGuard=0)
Definition: ww8par.cxx:3885
bool ProcessSpecial(bool &rbReSync, WW8_CP nStartCp)
Definition: ww8par.cxx:2660
void ResetCJKCharSetVars()
Definition: ww8par6.cxx:3863
bool TestSameApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:2775
std::shared_ptr< WW8Fib > m_xWwFib
Definition: ww8par.hxx:1253
rtl::Reference< SdrObject > ReadRect(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:346
void Read_KeepParas(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5277
void Read_ParaContextualSpacing(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4530
wwSectionManager m_aSectionManager
Definition: ww8par.hxx:1184
void Read_CharBorder(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5140
SwFrameFormat * ImportGraf(SdrTextObj const *pTextObj=nullptr, SwFrameFormat const *pFlyFormat=nullptr)
Definition: ww8graf2.cxx:472
void EndExtSprm(sal_uInt16 nSprmId)
Definition: ww8par6.cxx:5375
bool m_bSkipImages
Definition: ww8par.hxx:1342
void Read_RTLJustify(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4653
bool m_bLoadingTOXHyperlink
Definition: ww8par.hxx:1401
sal_Int32 m_nIniFlyDy
Definition: ww8par.hxx:1317
bool ForceFieldLanguage(SwField &rField, LanguageType nLang)
Definition: ww8par5.cxx:392
int m_nEmbeddedTOXLevel
Definition: ww8par.hxx:1399
bool JoinNode(SwPaM &rPam, bool bStealAttr=false)
Definition: ww8par6.cxx:2550
void Read_Special(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:2877
void StopAnlToRestart(sal_uInt8 nType, bool bGoBack=true)
Definition: ww8par2.cxx:1064
void ReadGrafLayer1(WW8PLCFspecial &rPF, tools::Long nGrafAnchorCp)
Definition: ww8graf.cxx:1452
static bool LangUsesHindiNumbers(LanguageType nLang)
Definition: ww8par.cxx:2991
std::optional< OutlinerParaObject > ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType)
Definition: ww8graf.cxx:970
bool SetNewFontAttr(sal_uInt16 nFCode, bool bSetEnums, sal_uInt16 nWhich)
Definition: ww8par6.cxx:3774
void Read_SubSuperProp(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3487
eF_ResT Read_F_IncludeText(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2526
bool FloatingTableConversion(WW8PLCFx_Cp_FKP *pPap)
Definition: ww8par.cxx:2576
void SetToggleAttr(sal_uInt8 nAttrId, bool bOn)
Definition: ww8par6.cxx:3302
sal_uInt16 m_nCurrentColl
Definition: ww8par.hxx:1323
rtl::Reference< SdrObject > ReadEllipse(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:369
OUString ConvertFFileName(const OUString &rRaw)
translate FieldParameter names into the system character set and at the same time,...
Definition: ww8par5.cxx:269
sw::util::InsertedTablesManager m_aInsertedTables
Definition: ww8par.hxx:1197
void SetNCurrentColl(sal_uInt16 nColl)
Definition: ww8par.hxx:1922
std::unique_ptr< EditEngine > m_pDrawEditEngine
Definition: ww8par.hxx:1287
SwFlyFrameFormat * MakeGrafNotInContent(const WW8PicDesc &rPD, const Graphic *pGraph, const OUString &rFileName, const SfxItemSet &rGrfSet)
Definition: ww8graf2.cxx:347
wwExtraneousParas m_aExtraneousParas
Definition: ww8par.hxx:1191
void ReadDocVars()
Definition: ww8par.cxx:4823
sw::util::CharStyleMapper m_aCharStyleMapper
Definition: ww8par.hxx:1218
void Read_BoldUsw(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3010
std::unique_ptr< WW8Dop > m_xWDop
Definition: ww8par.hxx:1255
eF_ResT Read_F_DBNext(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:2634
bool IsListOrDropcap() const
Definition: ww8par.hxx:1529
bool m_bHdFtFootnoteEdn
Definition: ww8par.hxx:1358
std::unique_ptr< SfxItemSet > m_xCurrentItemSet
Definition: ww8par.hxx:1267
std::unique_ptr< WW8FlyPara > ConstructApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:2410
bool m_bIgnoreText
Definition: ww8par.hxx:1350
std::unique_ptr< TextNodeListener > m_xPreviousNode
Definition: ww8par.hxx:1405
bool m_bFirstParaOfPage
Definition: ww8par.hxx:1388
void Read_CColl(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4058
bool m_bReadNoTable
Definition: ww8par.hxx:1343
bool m_bTxbxFlySection
Definition: ww8par.hxx:1347
void Read_ParaAutoBefore(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4431
bool ConvertSubToGraphicPlacement()
Definition: ww8par6.cxx:3457
void Read_CharShadow(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4110
const OUString & GetBaseURL() const
Definition: ww8par.hxx:1936
void PostProcessAttrs()
Definition: ww8par.cxx:2910
void ChkToggleBiDiAttr_(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par6.cxx:3380
eF_ResT Read_F_Macro(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2314
void Read_TextBackColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4136
sal_uInt8 m_nListLevel
Definition: ww8par.hxx:1339
bool GetFontParams(sal_uInt16, FontFamily &, OUString &, FontPitch &, rtl_TextEncoding &)
Definition: ww8par6.cxx:3704
void StopTable()
Definition: ww8par2.cxx:3541
eF_ResT Read_F_NoteReference(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:2167
SwFlyFrameFormat * m_pFlyFormatOfJustInsertedGraphic
Definition: ww8par.hxx:1233
bool StartTable(WW8_CP nStartCp)
Definition: ww8par2.cxx:3386
void ChkToggleAttr_(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par6.cxx:3364
static sal_Int32 MatchSdrBoxIntoFlyBoxItem(const Color &rLineColor, MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, sal_Int32 &rLineWidth, SvxBoxItem &rBox)
Definition: ww8graf.cxx:1597
bool SetSpacing(SwPaM &rMyPam, int nSpace, bool bIsUpper)
Definition: ww8par.cxx:2512
sal_uInt32 m_nFieldTagAlways[3]
Definition: ww8par.hxx:1306
void Read_Tab(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par.cxx:1618
void Read_HdFt(int nSect, const SwPageDesc *pPrev, const wwSection &rSection)
Definition: ww8par.cxx:2294
SdrPage * m_pDrawPg
Definition: ww8par.hxx:1286
bool GetTxbxTextSttEndCp(WW8_CP &rStartCp, WW8_CP &rEndCp, sal_uInt16 nTxBxS, sal_uInt16 nSequence)
Definition: ww8graf.cxx:806
rtl_TextEncoding GetCurrentCharSet()
Definition: ww8par.cxx:2861
void ReadRevMarkAuthorStrTabl(SvStream &rStrm, sal_Int32 nTablePos, sal_Int32 nTableSiz, SwDoc &rDoc)
Definition: ww8par4.cxx:450
void Read_LineBreakClear(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4542
std::unique_ptr< FrameDeleteWatch > m_xFormatOfJustInsertedApo
Definition: ww8par.hxx:1234
SdrModel * m_pDrawModel
Definition: ww8par.hxx:1285
void SetAnld(SwNumRule *pNumR, WW8_ANLD const *pAD, sal_uInt8 nSwLevel, bool bOutLine)
Definition: ww8par2.cxx:717
void Read_ListLevel(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par3.cxx:1917
rtl::Reference< SdrObject > ReadGrafPrimitive(short &rLeft, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1395
rtl::Reference< SdrObject > ImportOleBase(Graphic &rGraph, const Graphic *pGrf=nullptr, const SfxItemSet *pFlySet=nullptr, const tools::Rectangle &aVisArea=tools::Rectangle())
Definition: ww8par4.cxx:326
sal_uInt16 StyleUsingLFO(sal_uInt16 nLFOIndex) const
Definition: ww8par2.cxx:3576
std::shared_ptr< WW8PLCFMan > m_xPlcxMan
Definition: ww8par.hxx:1258
sal_uInt16 GetToggleBiDiAttrFlags() const
Definition: ww8par.cxx:583
WW8_CP Read_F_Tag(WW8FieldDesc *pF)
Definition: ww8par5.cxx:1149
tools::Long MapBookmarkVariables(const WW8FieldDesc *pF, OUString &rOrigName, const OUString &rData)
Definition: ww8par5.cxx:1299
rtl::Reference< SdrObject > ReadTextBox(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1249
SwPaM * m_pPreviousNumPaM
Definition: ww8par.hxx:1235
void EndSprm(sal_uInt16 nId)
Definition: ww8par6.cxx:6178
std::stack< std::unique_ptr< WW8TabDesc > > m_aTableStack
Definition: ww8par.hxx:1280
std::unique_ptr< SwMSDffManager > m_xMSDffManager
Definition: ww8par.hxx:1292
void Read_KeepLines(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5269
bool m_bInHyperlink
Definition: ww8par.hxx:1370
bool m_bFootnoteEdn
Definition: ww8par.hxx:1359
bool SetLowerSpacing(SwPaM &rMyPam, int nSpace)
Definition: ww8par.cxx:2538
SwWW8ImplReader & operator=(const SwWW8ImplReader &)=delete
static Color GetCol(sal_uInt8 nIco)
Definition: ww8par6.cxx:119
void SetRelativeJustify(bool bRel)
Definition: ww8par6.cxx:315
rtl_TextEncoding GetCJKCharSetFromLanguage()
Definition: ww8par.cxx:2843
void Read_ParaBackColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5001
void RegisterNumFormat(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel)
Definition: ww8par3.cxx:1908
void SetToggleAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.cxx:588
bool m_bPgSecBreak
Definition: ww8par.hxx:1344
void Read_ApoPPC(sal_uInt16, const sal_uInt8 *pData, short)
Definition: ww8par6.cxx:5294
void Read_StyleCode(sal_uInt16, const sal_uInt8 *pData, short nLen)
Special FastSave - Attributes.
Definition: ww8par.cxx:1145
short m_nDrawXOfs2
Definition: ww8par.hxx:1330
sal_uInt32 m_nIniFlags1
Definition: ww8par.hxx:1304
void Read_HdFtTextAsHackedFrame(WW8_CP nStart, WW8_CP nLen, SwFrameFormat const &rHdFtFormat, sal_uInt16 nPageWidth)
Definition: ww8par.cxx:2198
bool HandlePageBreakChar()
Definition: ww8par.cxx:3570
void Read_Hyphenation(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5179
bool StyleExists(unsigned int nColl) const
Definition: ww8par.hxx:1418
bool IsInlineEscherHack() const
Definition: ww8par.hxx:1719
cp_set m_aTOXEndCps
Definition: ww8par.hxx:1411
OUString GetMappedBookmark(std::u16string_view rOrigName)
Definition: ww8par5.cxx:1362
eF_ResT Read_F_CurPage(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1937
std::deque< WW8FieldEntry > m_aFieldStack
Definition: ww8par.hxx:1172
void UpdateFields()
Definition: ww8par5.cxx:500
void Read_CPropRMark(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:538
static bool IsBorder(const WW8_BRCVer9 *pbrc, bool bChkBtwn=false)
Definition: ww8par6.cxx:1506
std::map< sal_uInt16, std::size_t > m_aAuthorInfos
Redlining Authors, map word author key to writer author value.
Definition: ww8par.hxx:1299
SwFrameFormat * MungeTextIntoDrawBox(SvxMSDffImportRec &rRecord, tools::Long nGrafAnchorCp, SwFrameFormat *pRetFrameFormat)
Definition: ww8graf.cxx:2865
void SetOutlineStyles()
Definition: ww8par.cxx:5984
ErrCode LoadDoc(WW8Glossary *pGloss=nullptr)
Definition: ww8par.cxx:6251
void NextAnlLine(const sal_uInt8 *pSprm13)
Definition: ww8par2.cxx:993
void ChkToggleBiDiAttr(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par.hxx:1701
tools::Long Read_Footnote(WW8PLCFManResult *pRes)
Definition: ww8par2.cxx:298
ErrCode LoadThroughDecryption(WW8Glossary *pGloss)
Definition: ww8par.cxx:5790
SvStream * m_pDataStream
Definition: ww8par.hxx:1124
tools::Long Read_AtnBook(WW8PLCFManResult *)
Definition: ww8par5.cxx:236
void Read_BoldBiDiUsw(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3207
eF_ResT Read_F_Tox(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:3000
short m_nCharFormat
Definition: ww8par.hxx:1327
bool SearchTableEnd(WW8PLCFx_Cp_FKP *pPap) const
Seek to the end of the table with pPap, returns true on success.
Definition: ww8par2.cxx:389
void MoveInsideFly(const SwFrameFormat *pFlyFormat)
Definition: ww8par6.cxx:2318
sal_uInt8 m_nWantedVersion
Definition: ww8par.hxx:1334
void Read_Obj(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:2888
bool StartApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:2460
std::stack< rtl_TextEncoding > m_aFontSrcCharSets
Definition: ww8par.hxx:1223
ErrCode SetSubStreams(tools::SvRef< SotStorageStream > &rTableStream, tools::SvRef< SotStorageStream > &rDataStream)
Definition: ww8par.cxx:5526
sal_uInt8 m_nSwNumLevel
Definition: ww8par.hxx:1336
void Read_CFRMarkDel(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:532
std::unique_ptr< wwSprmParser > m_xSprmParser
Definition: ww8par.hxx:1207
bool m_bParaAutoAfter
Definition: ww8par.hxx:1390
wwFrameNamer m_aGrfNameGenerator
Definition: ww8par.hxx:1212
void GraphicCtor()
Definition: ww8graf.cxx:3186
eF_ResT Read_F_IncludePicture(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2460
bool m_bNoAttrImport
Definition: ww8par.hxx:1369
std::unique_ptr< wwZOrderer > m_xWWZOrder
Definition: ww8par.hxx:1288
bool SearchRowEnd(WW8PLCFx_Cp_FKP *pPap, WW8_CP &rStartCp, int nLevel) const
Definition: ww8par2.cxx:335
void Read_TextAnim(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4824
std::unique_ptr< WW8TabDesc > m_xTableDesc
Definition: ww8par.hxx:1278
bool InEqualApo(int nLvl) const
Definition: ww8par.cxx:6725
const SwNumRule * m_pChosenWW8OutlineStyle
Definition: ww8par.hxx:1338
std::shared_ptr< SwUnoCursor > mpCursor
Definition: ww8par.hxx:1128
void GetSmartTagInfo(SwFltRDFMark &rMark)
Definition: ww8par.cxx:6206
tools::Long Read_FactoidBook(WW8PLCFManResult *)
Definition: ww8par5.cxx:248
void Read_BreakBefore(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5285
eF_ResT Read_F_DBField(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2593
const SwFormat * GetStyleWithOrgWWName(std::u16string_view rName) const
Definition: ww8par2.cxx:3589
bool IsRightToLeft()
Definition: ww8par6.cxx:4635
o3tl::sorted_vector< const SwNode * > m_aTextNodesHavingLeftIndentSet
Definition: ww8par.hxx:1262
void Read_FieldVanish(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par5.cxx:3699
bool IsInvalidOrToBeMergedTabCell() const
Definition: ww8par2.cxx:3557
sal_uLong m_nObjLocFc
Definition: ww8par.hxx:1314
void Read_PicLoc(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:2911
void Read_CFRMark(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:526
void AppendTextNode(SwPosition &rPos)
Definition: ww8par.cxx:2419
void Read_SubF_Ruby(msfilter::util::WW8ReadFieldParams &rReadParam)
Definition: ww8par5.cxx:2695
bool m_bRegardHindiDigits
Definition: ww8par.hxx:1308
SotStorage * m_pStg
Definition: ww8par.hxx:1121
eF_ResT Read_F_Ref(WW8FieldDesc *pF, OUString &)
Definition: ww8par5.cxx:2084
std::unique_ptr< WW8ListManager > m_xLstManager
Definition: ww8par.hxx:1256
void SetAnlvStrings(SwNumFormat &rNum, int nLevel, WW8_ANLV const &rAV, const sal_uInt8 *pText, size_t nStart, size_t nElements, bool bOutline)
Definition: ww8par2.cxx:599
eF_ResT Read_F_Embedd(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2021
void Read_Relief(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4797
void StopAllAnl(bool bGoBack=true)
Definition: ww8par2.cxx:1057
rtl::Reference< SdrObject > ReadArc(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:393
ANLDRuleMap m_aANLDRules
Definition: ww8par.hxx:1282
std::unique_ptr< SwWW8ReferencedFltEndStack > m_xReffedStck
Definition: ww8par.hxx:1144
std::unique_ptr< WW8Fonts > m_xFonts
Definition: ww8par.hxx:1254
std::set< sal_uLong > m_aGrafPosSet
Definition: ww8par.hxx:1249
eF_ResT Read_F_Hyperlink(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:3528
SdrObject * CreateContactObject(SwFrameFormat *pFlyFormat)
Definition: ww8graf.cxx:2229
bool m_bParaAutoBefore
Definition: ww8par.hxx:1389
rtl_TextEncoding m_eStructCharSet
Definition: ww8par.hxx:1320
void Read_OLST(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:873
std::unique_ptr< SwWW8FltRefStack > m_xReffingStck
Definition: ww8par.hxx:1152
void InsertTxbxStyAttrs(SfxItemSet &rS, sal_uInt16 nColl)
Definition: ww8graf.cxx:497
sal_uInt16 m_nProgress
Definition: ww8par.hxx:1322
std::unique_ptr< WW8ScannerBase > m_xSBase
Definition: ww8par.hxx:1257
void NewAttr(const SfxPoolItem &rAttr, const bool bFirstLineOfStSet=false, const bool bLeftIndentSet=false)
Definition: ww8par6.cxx:2799
void Read_ANLevelDesc(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:800
OUString GetFieldResult(WW8FieldDesc const *pF)
Definition: ww8par5.cxx:1209
bool m_bNotifyMacroEventRead
Definition: ww8par.hxx:1413
void Read_ParaAutoAfter(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4458
void ProcessCurrentCollChange(WW8PLCFManResult &rRes, bool *pStartAttr, bool bCallProcessSpecial)
Definition: ww8par.cxx:3844
std::unique_ptr< sw::util::RedlineStack > m_xRedlineStack
Definition: ww8par.hxx:1137
bool IsDropCap() const
Definition: ww8par6.cxx:2431
void NotifyMacroEventRead()
Definition: ww8par.cxx:6770
eF_ResT Read_F_Set(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2048
std::unique_ptr< SwWW8FltAnchorStack > m_xAnchorStck
Definition: ww8par.hxx:1160
std::vector< const SwCharFormat * > m_aRubyCharFormats
Definition: ww8par.hxx:1244
void SetNumOlst(SwNumRule *pNumR, WW8_OLST *pO, sal_uInt8 nSwLevel)
Definition: ww8par2.cxx:851
bool HasOwnHeaderFooter(sal_uInt8 nWhichItems, sal_uInt8 grpfIhdt, int nSect)
Definition: ww8par.cxx:2265
ApoTestResults TestApo(int nCellLevel, bool bTableRowEnd, const WW8_TablePos *pTabPos)
Definition: ww8par2.cxx:428
WW8_CP m_nDrawCpO
Definition: ww8par.hxx:1311
eF_ResT Read_F_Styleref(WW8FieldDesc *, OUString &rStr)
Reads a STYLEREF field.
Definition: ww8par5.cxx:1524
void DeleteRefStacks()
Definition: ww8par.hxx:1442
eF_ResT Read_F_FormListBox(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par3.cxx:245
void SetStylesList(sal_uInt16 nStyle, sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel)
Definition: ww8par3.cxx:1729
SwFrameFormat * AddAutoAnchor(SwFrameFormat *pFormat)
Definition: ww8graf.cxx:2850
static bool SetShadow(SvxShadowItem &rShadow, const short *pSizeArray, const WW8_BRCVer9 &aRightBrc)
Definition: ww8par6.cxx:1552
std::deque< bool > m_aApos
Definition: ww8par.hxx:1239
void Read_Majority(sal_uInt16, const sal_uInt8 *, short)
Read_Majority is for Majority (103) and Majority50 (108)
Definition: ww8par.cxx:1167
void EndSpecial()
Definition: ww8par.cxx:2555
static bool GetPictGrafFromStream(Graphic &rGraphic, SvStream &rSrc)
Definition: ww8graf2.cxx:233
static void AdjustLRWrapForWordMargins(const SvxMSDffImportRec &rRecord, SvxLRSpaceItem &rLR)
Definition: ww8graf.cxx:1940
void CopyPageDescHdFt(const SwPageDesc *pOrgPageDesc, SwPageDesc *pNewPageDesc, sal_uInt8 nCode)
Definition: ww8par6.cxx:1271
void Read_Kern(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4088
bool ReadPlainChars(WW8_CP &rPos, sal_Int32 nEnd, sal_Int32 nCpOfs)
Return value: true for non special chars.
Definition: ww8par.cxx:3047
tools::Long Read_Book(WW8PLCFManResult *)
Definition: ww8par5.cxx:120
short m_nDrawYOfs
Definition: ww8par.hxx:1329
void ResetCharSetVars()
Definition: ww8par6.cxx:3856
rtl::Reference< SdrObject > ReadLine(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:311
void RegisterNumFormatOnTextNode(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel, const bool bSetAttr=true)
Definition: ww8par3.cxx:1800
void TabCellEnd()
Definition: ww8par2.cxx:3505
void Read_IdctHint(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4580
void StartAnl(const sal_uInt8 *pSprm13)
Definition: ww8par2.cxx:921
eF_ResT Read_F_Symbol(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1948
std::map< short, OUString > m_aLinkStringMap
Definition: ww8par.hxx:1259
void StoreMacroCmds()
Definition: ww8par.cxx:4793
static void GetBorderDistance(const WW8_BRCVer9 *pbrc, tools::Rectangle &rInnerDist)
Definition: ww8par6.cxx:1571
sal_uInt16 m_nFieldNum
Definition: ww8par.hxx:1324
sal_uInt32 m_nIniFlags
Definition: ww8par.hxx:1303
SwFormat * m_pCurrentColl
Definition: ww8par.hxx:1265
std::unique_ptr< WW8RStyle > m_xStyles
Definition: ww8par.hxx:1264
bool MiserableRTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth, sal_Int16 eHoriOri, sal_Int16 eHoriRel)
Definition: ww8graf.cxx:2248
void Read_HdFtText(WW8_CP nStartCp, WW8_CP nLen, SwFrameFormat const *pHdFtFormat)
Definition: ww8par.cxx:2246
SwWW8StyInf * GetStyle(sal_uInt16 nColl) const
Definition: ww8par6.cxx:3003
eF_ResT Read_F_InputVar(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1378
sal_uInt16 GetCurrentColl() const
Definition: ww8par.hxx:1921
wwSectionNamer m_aSectionNameGenerator
Definition: ww8par.hxx:1202
void ImportDopTypography(const WW8DopTypography &rTypo)
Definition: ww8par.cxx:1952
SwFrameFormat * MakeGrafInContent(const WW8_PIC &rPic, const WW8PicDesc &rPD, const Graphic *pGraph, const OUString &rFileName, const SfxItemSet &rGrfSet)
Definition: ww8graf2.cxx:383
sw::util::ParaStyleMapper m_aParaStyleMapper
Definition: ww8par.hxx:1217
void Read_Shade(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4979
eF_ResT Read_F_DateTime(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1825
void MakeTagString(OUString &rStr, const OUString &rOrg)
Definition: ww8par5.cxx:1056
bool m_bWWBugNormal
Definition: ww8par.hxx:1368
const OUString * GetAnnotationAuthor(sal_uInt16 nIdx)
Definition: ww8par.cxx:6168
void SetToggleBiDiAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.cxx:594
void Read_ParaBiDi(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:375
bool m_bNoLnNumYet
Definition: ww8par.hxx:1384
static SAL_WARN_UNUSED_RESULT bool PicRead(SvStream *pDataStream, WW8_PIC *pPic, bool bVer67)
Definition: ww8graf2.cxx:442
SwWW8ImplReader(const SwWW8ImplReader &)=delete
void Read_LineSpace(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4358
eF_ResT Read_F_DBNum(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:2647
sal_uInt16 TabRowSprm(int nLevel) const
Definition: ww8par.cxx:2548
std::unique_ptr< SfxItemSet > SetCurrentItemSet(std::unique_ptr< SfxItemSet > pItemSet)
Definition: ww8par.cxx:6763
void MatchSdrItemsIntoFlySet(SdrObject const *pSdrObj, SfxItemSet &aFlySet, MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, tools::Rectangle &rInnerDist)
Definition: ww8graf.cxx:1682
void InsertTagField(const sal_uInt16 nId, const OUString &rTagText)
Definition: ww8par5.cxx:1124
bool SetTextFormatCollAndListLevel(const SwPaM &rRg, SwWW8StyInf &rStyleInfo)
Definition: ww8par3.cxx:1661
rtl::Reference< SdrObject > ReadCaptionBox(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1291
tools::Long ImportExtSprm(WW8PLCFManResult *pRes)
Definition: ww8par6.cxx:5346
void RegisterNumFormatOnStyle(sal_uInt16 nStyle)
Definition: ww8par3.cxx:1761
void Read_NoLineNumb(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4180
SwFrameFormat * Read_GrafLayer(tools::Long nGrafAnchorCp)
Definition: ww8graf.cxx:2510
const SfxPoolItem * GetFormatAttr(sal_uInt16 nWhich)
Definition: ww8par6.cxx:2841
static bool SetBorder(SvxBoxItem &rBox, const WW8_BRCVer9 *pbrc, short *pSizeArray=nullptr, sal_uInt8 nSetBorders=0xFF)
Definition: ww8par6.cxx:1511
void DeleteAnchorStack()
Definition: ww8par.hxx:1447
void Read_TextForeColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:3639
sal_uInt8 m_nWwNumType
Definition: ww8par.hxx:1337
short m_nDrawYOfs2
Definition: ww8par.hxx:1330
short ImportSprm(const sal_uInt8 *pPos, sal_Int32 nMemLen, sal_uInt16 nId=0)
Definition: ww8par6.cxx:6188
SwFormat * m_pStandardFormatColl
Definition: ww8par.hxx:1271
void ReadAttrs(WW8_CP &rTextPos, WW8_CP &rNext, tools::Long nTextEnd, bool &rbStartLine)
Definition: ww8par.cxx:4006
bool ReadChars(WW8_CP &rPos, WW8_CP nNextAttr, tools::Long nTextEnd, tools::Long nCpOfs)
Return value: true for para end.
Definition: ww8par.cxx:3522
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)
Definition: ww8graf.cxx:1029
static SwFrameFormat * ContainsSingleInlineGraphic(const SwPaM &rRegion)
Definition: ww8par6.cxx:3424
void Read_HdFtFootnoteText(const SwNodeIndex *pSttIdx, WW8_CP nStartCp, WW8_CP nLen, ManTypes nType)
Definition: ww8par.cxx:2104
sal_uLong m_nPicLocFc
Definition: ww8par.hxx:1313
static bool SetFlyBordersShadow(SfxItemSet &rFlySet, const WW8_BRCVer9 *pbrc, short *SizeArray)
Definition: ww8par6.cxx:1580
void Read_UnderlineColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:3659
bool IsRelativeJustify()
Definition: ww8par6.cxx:323
const SprmReadInfo & GetSprmReadInfo(sal_uInt16 nId) const
Definition: ww8par6.cxx:6152
void Read_CRevisionMark(RedlineType eType, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:471
sal_Unicode m_cSymbol
Definition: ww8par.hxx:1332
void simpleAddTextToParagraph(const OUString &rAddString)
Definition: ww8par.cxx:3481
bool TxbxChainContainsRealText(sal_uInt16 nTxBxS, tools::Long &rStartCp, tools::Long &rEndCp)
Definition: ww8graf.cxx:1239
void Read_Language(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4024
void ReadDocInfo()
Document Info.
Definition: ww8par.cxx:4860
void ReadEmbeddedData(SvStream &rStrm, SwDocShell const *pDocShell, struct HyperLinksTable &hlStr)
Definition: ww8par.cxx:217
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
Definition: ww8par.cxx:1304
SwWW8ReferencedFltEndStack(SwDoc &rDo, sal_uLong nFieldFl)
Definition: ww8par.hxx:453
std::set< OUString, SwWW8::ltstr > m_aReferencedTOCBookmarks
Definition: ww8par.hxx:460
Color m_aColor
Definition: ww8par.hxx:624
SwWW8Shade(Color nFore, Color nBack, sal_uInt16 nIndex)
Definition: ww8par.hxx:626
SwWW8Shade(bool bVer67, const WW8_SHD &rSHD)
Definition: ww8par6.cxx:4847
void SetShade(Color nFore, Color nBack, sal_uInt16 nIndex)
Definition: ww8par6.cxx:4868
bool m_bListRelevantIndentSet
Definition: ww8par.hxx:259
rtl_TextEncoding GetCJKCharSet() const
Definition: ww8par2.cxx:4609
SwNumRule * m_pOutlineNumrule
Definition: ww8par.hxx:235
bool m_bParaAutoBefore
Definition: ww8par.hxx:264
bool m_bParaAutoAfter
Definition: ww8par.hxx:265
tools::Long m_nFilePos
Definition: ww8par.hxx:236
bool m_bHasBrokenWW6List
Definition: ww8par.hxx:258
std::shared_ptr< WW8FlyPara > m_xWWFly
Definition: ww8par.hxx:234
sal_uInt8 mnWW8OutlineLevel
Definition: ww8par.hxx:248
bool IsWW8BuiltInDefaultStyle() const
Definition: ww8par.hxx:342
rtl_TextEncoding m_eRTLFontSrcCharSet
Definition: ww8par.hxx:231
bool IsOutlineNumbered() const
Definition: ww8par.hxx:320
bool m_bColl
Definition: ww8par.hxx:255
std::shared_ptr< SvxLRSpaceItem > maWordLR
Definition: ww8par.hxx:252
void SetOrgWWIdent(const OUString &rName, const sal_uInt16 nId)
Definition: ww8par.hxx:298
const SwNumRule * GetOutlineNumrule() const
Definition: ww8par.hxx:325
rtl_TextEncoding GetCharSet() const
Definition: ww8par2.cxx:4602
sal_uInt16 m_nWWStyleId
Definition: ww8par.hxx:228
sal_uInt16 m_nBase
Definition: ww8par.hxx:237
bool IsWW8BuiltInHeadingStyle() const
Definition: ww8par.hxx:337
bool HasWW8OutlineLevel() const
Definition: ww8par.hxx:315
sal_uInt16 m_n81BiDiFlags
Definition: ww8par.hxx:251
sal_uInt16 m_nFollow
Definition: ww8par.hxx:238
static sal_uInt8 WW8OutlineLevelToOutlinelevel(const sal_uInt8 nWW8OutlineLevel)
Definition: ww8par.hxx:348
bool m_bImported
Definition: ww8par.hxx:254
sal_Int16 m_nRelativeJustify
Definition: ww8par.hxx:266
const OUString & GetOrgWWName() const
Definition: ww8par.hxx:310
rtl_TextEncoding m_eLTRFontSrcCharSet
Definition: ww8par.hxx:230
sal_uInt8 m_nListLevel
Definition: ww8par.hxx:240
SwFormat * m_pFormat
Definition: ww8par.hxx:233
OUString m_sWWStyleName
Definition: ww8par.hxx:227
sal_uInt16 GetWWStyleId() const
Definition: ww8par.hxx:332
bool m_bHasStyNumRule
Definition: ww8par.hxx:257
bool m_bImportSkipped
Definition: ww8par.hxx:256
sal_uInt16 m_n81Flags
Definition: ww8par.hxx:250
rtl_TextEncoding m_eCJKFontSrcCharSet
Definition: ww8par.hxx:232
sal_uInt16 m_nLFOIndex
Definition: ww8par.hxx:239
bool m_bValid
Definition: ww8par.hxx:253
virtual void removed(SwModify *pTextNode)
Definition: ww8par.cxx:4783
virtual void SwClientNotify(const SwModify &, const SfxHint &) override
Definition: ww8par.cxx:4765
TextNodeListener(SwTextNode *pTextNode)
Definition: ww8par.cxx:4752
bool operator<(const TextNodeListener &rOther) const
Definition: ww8par.hxx:904
virtual ~TextNodeListener() override
Definition: ww8par.cxx:4758
SwTextNode * m_pTextNode
Definition: ww8par.hxx:898
void StopListening(SwModify *pTextNode)
Definition: ww8par.cxx:4777
SwTextNode * GetTextNode() const
Definition: ww8par.hxx:909
Exporter of the binary Word file formats.
Definition: wrtww8.hxx:995
FIB - the File Information Block.
Definition: ww8scan.hxx:1105
const OUString & GetBookmarkCode() const
Definition: ww8par.hxx:575
const OUString & GetBookmarkName() const
Definition: ww8par.hxx:574
void Swap(WW8FieldEntry &rOther) noexcept
Definition: ww8par5.cxx:742
void SetBookmarkType(const OUString &bookmarkType)
Definition: ww8par5.cxx:761
WW8FieldEntry(SwPosition const &rPos, sal_uInt16 nFieldId) noexcept
Definition: ww8par5.cxx:732
sw::hack::Position maStartPos
Definition: ww8par.hxx:563
sal_Int32 GetPtContent() const
Definition: ww8par.hxx:572
WW8FieldEntry & operator=(const WW8FieldEntry &rOther) noexcept
Definition: ww8par5.cxx:748
OUString msMarkCode
Definition: ww8par.hxx:559
sal_uInt16 mnFieldId
Definition: ww8par.hxx:564
OUString msMarkType
Definition: ww8par.hxx:558
void SetBookmarkCode(const OUString &bookmarkCode)
Definition: ww8par5.cxx:766
const SwNodeIndex & GetPtNode() const
Definition: ww8par.hxx:571
::sw::mark::IFieldmark::parameter_map_t maParams
Definition: ww8par.hxx:560
void SetBookmarkName(const OUString &bookmarkName)
Definition: ww8par5.cxx:756
::sw::mark::IFieldmark::parameter_map_t & getParameters()
Definition: ww8par.hxx:579
sal_uLong mnObjLocFc
Definition: ww8par.hxx:565
OUString msBookmarkName
Definition: ww8par.hxx:557
virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceFactory, css::uno::Reference< css::form::XFormComponent > &rFComp, css::awt::Size &rSz) override
Definition: ww8par3.cxx:2498
WW8FormulaCheckBox(const WW8FormulaCheckBox &)=delete
WW8FormulaCheckBox & operator=(const WW8FormulaCheckBox &)=delete
sal_uInt16 mnChecked
Definition: ww8par.hxx:667
virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceFactory, css::uno::Reference< css::form::XFormComponent > &rFComp, css::awt::Size &rSz)=0
sal_uInt8 mfNoMark
Definition: ww8par.hxx:662
sal_uInt8 mfType
Definition: ww8par.hxx:663
OUString msName
Definition: ww8par.hxx:685
sal_uInt16 mnMaxLen
FFData.cch in the spec: maximum length, in characters, of the value of the textbox.
Definition: ww8par.hxx:670
WW8FormulaControl(WW8FormulaControl const &)=delete
sal_uInt8 mfToolTip
Definition: ww8par.hxx:661
std::vector< OUString > maListEntries
Definition: ww8par.hxx:679
WW8FormulaControl(OUString aN, SwWW8ImplReader &rRdr)
Definition: ww8par.hxx:652
OUString msDefault
Definition: ww8par.hxx:672
OUString msExitMcr
Definition: ww8par.hxx:678
sal_uInt8 mfUnknown
Definition: ww8par.hxx:659
OUString msEntryMcr
Definition: ww8par.hxx:677
OUString msTitle
Definition: ww8par.hxx:671
SwWW8ImplReader & mrRdr
Definition: ww8par.hxx:646
sal_uInt8 mfUnused
Definition: ww8par.hxx:664
WW8FormulaControl & operator=(WW8FormulaControl const &)=delete
virtual ~WW8FormulaControl()
Definition: ww8par.hxx:680
OUString msToolTip
Definition: ww8par.hxx:676
OUString msHelp
Definition: ww8par.hxx:675
sal_uInt16 mhpsCheckBox
Definition: ww8par.hxx:666
void FormulaRead(SwWw8ControlType nWhich, SvStream *pD)
Definition: ww8par3.cxx:2147
sal_uInt8 mfDropdownIndex
Definition: ww8par.hxx:660
OUString msFormatting
Definition: ww8par.hxx:673
virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory > &, css::uno::Reference< css::form::XFormComponent > &, css::awt::Size &) override
Definition: ww8par.hxx:724
WW8FormulaEditBox & operator=(const WW8FormulaEditBox &)=delete
WW8FormulaEditBox(const WW8FormulaEditBox &)=delete
WW8FormulaListBox(const WW8FormulaListBox &)=delete
WW8FormulaListBox & operator=(const WW8FormulaListBox &)=delete
virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceFactory, css::uno::Reference< css::form::XFormComponent > &rFComp, css::awt::Size &rSz) override
Definition: ww8par3.cxx:2408
WW8ListManager & operator=(const WW8ListManager &)=delete
sal_uInt16 m_nLastLFOPosition
Definition: ww8par.hxx:197
SwDoc & m_rDoc
Definition: ww8par.hxx:171
wwSprmParser maSprmParser
Definition: ww8par.hxx:169
std::vector< std::unique_ptr< WW8LSTInfo > > maLSTInfos
Definition: ww8par.hxx:174
const WW8Fib & m_rFib
Definition: ww8par.hxx:172
void ImplDestroy()
Definition: ww8par3.cxx:1483
size_t GetWW8LSTInfoNum() const
Definition: ww8par.hxx:165
SprmResult GrpprlHasSprm(sal_uInt16 nId, sal_uInt8 &rSprms, sal_uInt8 nLen)
Definition: ww8par3.cxx:462
WW8ListManager(const WW8ListManager &)=delete
SwNumRule * CreateNextRule(bool bSimple)
Definition: ww8par3.cxx:1126
WW8LSTInfo * GetLSTByListId(sal_uInt32 nIdLst) const
Definition: ww8par3.cxx:483
SwNumRule * GetNumRuleForActivation(sal_uInt16 nLFOPosition, const sal_uInt8 nLevel, std::vector< sal_uInt8 > &rParaSprms, SwTextNode *pNode=nullptr)
Definition: ww8par3.cxx:1544
WW8ListManager(SvStream &rSt_, SwWW8ImplReader &rReader_)
Definition: ww8par3.cxx:1150
bool ReadLVL(SwNumFormat &rNumFormat, std::unique_ptr< SfxItemSet > &rpItemSet, sal_uInt16 nLevelStyle, bool bSetStartNo, sal_uInt16 nLevel, ww::bytes &rParaSprms)
Definition: ww8par3.cxx:673
void AdjustLVL(sal_uInt8 nLevel, SwNumRule &rNumRule, WW8aISet const &rListItemSet, WW8aCFormat &aCharFormat, bool &bNewCharFormatCreated, const OUString &aPrefix=OUString())
Definition: ww8par3.cxx:1027
std::unique_ptr< SfxItemSet > WW8aISet[nMaxLevel]
Definition: ww8par.hxx:185
SwNumRule * GetNumRule(size_t i)
Definition: ww8par3.cxx:1140
SwCharFormat * WW8aCFormat[nMaxLevel]
Definition: ww8par.hxx:187
static SvxNumType GetSvxNumTypeFromMSONFC(sal_uInt16 nMSONFC)
Definition: ww8par3.cxx:518
sal_uInt16 m_nUniqueList
Definition: ww8par.hxx:176
std::vector< std::unique_ptr< WW8LFOInfo > > m_LFOInfos
Definition: ww8par.hxx:175
SvStream & m_rSt
Definition: ww8par.hxx:173
SwWW8ImplReader & m_rReader
Definition: ww8par.hxx:170
among others for fields, that is, the same number of attr as positions, if Ctor-Param bNoEnd = false
Definition: ww8scan.hxx:221
iterator for Piece Table Exceptions of Fkps works on CPs (high-level)
Definition: ww8scan.hxx:634
std::unique_ptr< WW8FlyPara > mpWFlyPara
Definition: ww8par.hxx:595
WW8ReaderSave(SwWW8ImplReader *pRdr, WW8_CP nStart=-1)
Footnotes and Endnotes.
Definition: ww8par.cxx:1996
std::deque< WW8FieldEntry > maOldFieldStack
Definition: ww8par.hxx:590
std::deque< bool > maOldApos
Definition: ww8par.hxx:589
std::unique_ptr< SwWW8FltAnchorStack > mxOldAnchorStck
Definition: ww8par.hxx:592
bool mbSymbol
Definition: ww8par.hxx:604
std::unique_ptr< WW8TabDesc > mxTableDesc
Definition: ww8par.hxx:599
SwPaM * mpPreviousNumPaM
Definition: ww8par.hxx:597
const SwNumRule * mpPrevNumRule
Definition: ww8par.hxx:598
WW8PLCFxSaveAll maPLCFxSave
Definition: ww8par.hxx:587
std::shared_ptr< WW8PLCFMan > mxOldPlcxMan
Definition: ww8par.hxx:594
bool mbPgSecBreak
Definition: ww8par.hxx:609
std::unique_ptr< SwWW8FltControlStack > mxOldStck
Definition: ww8par.hxx:591
bool mbHdFtFootnoteEdn
Definition: ww8par.hxx:605
bool mbWasParaEnd
Definition: ww8par.hxx:610
bool mbIgnoreText
Definition: ww8par.hxx:603
std::shared_ptr< SwUnoCursor > mxTmpPos
Definition: ww8par.hxx:588
bool mbTxbxFlySection
Definition: ww8par.hxx:606
sal_uInt16 mnCurrentColl
Definition: ww8par.hxx:601
std::unique_ptr< WW8SwFlyPara > mpSFlyPara
Definition: ww8par.hxx:596
void Restore(SwWW8ImplReader *pRdr)
Definition: ww8par.cxx:2054
sal_Unicode mcSymbol
Definition: ww8par.hxx:602
std::unique_ptr< sw::util::RedlineStack > mxOldRedlines
Definition: ww8par.hxx:593
bool mbInHyperlink
Definition: ww8par.hxx:608
const SwPosition & GetStartPos() const
Definition: ww8par.hxx:616
bool mbHasBorder
Definition: ww8par.hxx:611
bool mbFirstPara
Definition: ww8par.hxx:612
virtual bool HasGlossaries() const override
Definition: ww8par.cxx:6596
virtual ErrCode Read(SwDoc &, const OUString &rBaseURL, SwPaM &, const OUString &) override
Definition: ww8par.cxx:6512
virtual SwReaderType GetReaderType() override
Definition: ww8par.cxx:6591
ErrCode OpenMainStream(tools::SvRef< SotStorageStream > &rRef, sal_uInt16 &rBuffSize)
Definition: ww8par.cxx:6402
std::shared_ptr< SvStream > mDecodedStream
Definition: ww8par.hxx:138
ErrCode DecryptDRMPackage()
Definition: ww8par.cxx:6452
WW8Reader()
Definition: ww8par.hxx:143
virtual bool ReadGlossaries(SwTextBlocks &, bool bSaveRelFiles) const override
Definition: ww8par.cxx:6601
SwNodeIndex maPtNode
Definition: ww8par.hxx:541
sal_Int32 mnPtContent
Definition: ww8par.hxx:542
Position(const SwPosition &rPos)
Definition: ww8par.cxx:6737
const SwNodeIndex & GetPtNode() const
Definition: ww8par.hxx:546
sal_Int32 GetPtContent() const
Definition: ww8par.hxx:547
std::map< OUString, css::uno::Any > parameter_map_t
Definition: IMark.hxx:94
Knows which writer style a given word style should be imported as.
Definition: msfilter.hxx:203
Handle requirements for table formatting in insert->file mode.
Definition: msfilter.hxx:285
Knows which writer style a given word style should be imported as.
Definition: msfilter.hxx:141
ExtraTextNodeListener(SwTextNode *pTextNode, wwExtraneousParas *pOwner)
Definition: ww8par.hxx:934
virtual void removed(SwModify *pTextNode) override
Definition: ww8par.cxx:4788
void delete_all_from_doc()
Definition: ww8par.cxx:4722
wwExtraneousParas(SwDoc &rDoc)
Definition: ww8par.hxx:953
void remove_if_present(SwTextNode *pTextNode)
Definition: ww8par.hxx:956
std::set< ExtraTextNodeListener > m_aTextNodes
Definition: ww8par.hxx:945
SwDoc & m_rDoc
Definition: ww8par.hxx:946
void insert(SwTextNode *pTextNode)
Definition: ww8par.cxx:4737
wwExtraneousParas(wwExtraneousParas const &)=delete
void remove_if_present(SwModify *pModify)
Definition: ww8par.cxx:4742
wwExtraneousParas & operator=(wwExtraneousParas const &)=delete
wwFrameNamer & operator=(wwFrameNamer const &)=delete
void SetUniqueGraphName(SwFrameFormat *pFrameFormat, std::u16string_view rFixedPart)
Definition: ww8graf.cxx:165
wwFrameNamer(bool bIsDisabled, OUString aSeed)
Definition: ww8par.hxx:975
wwFrameNamer(wwFrameNamer const &)=delete
OUString msSeed
Definition: ww8par.hxx:966
sal_Int32 mnImportedGraphicsCount
Definition: ww8par.hxx:967
bool mbIsDisabled
Definition: ww8par.hxx:968
SwSectionFormat * InsertSection(SwPaM const &rMyPaM, wwSection &rSection)
Definition: ww8par6.cxx:718
void SetSegmentToPageDesc(const wwSection &rSection, bool bIgnoreCols)
Definition: ww8par.cxx:4390
void JoinNode(const SwPosition &rPos, const SwNode &rNode)
Definition: ww8par6.cxx:2544
static void SetNumberingType(const wwSection &rNewSection, SwPageDesc &rPageDesc)
Definition: ww8par6.cxx:838
wwSectionManager(SwWW8ImplReader &rReader)
Definition: ww8par.hxx:876
static void SetPageULSpaceItems(SwFrameFormat &rFormat, wwULSpaceData const &rData, const wwSection &rSection)
Definition: ww8par6.cxx:653
void SetHdFt(wwSection const &rSection, int nSect, const wwSection *pPrevious)
Definition: ww8par.cxx:2398
SwFormatPageDesc SetSwFormatPageDesc(mySegIter const &rIter, mySegIter const &rStart, bool bIgnoreCols)
Map a word section to a writer page descriptor.
Definition: ww8par.cxx:4487
bool WillHavePageDescHere(const SwNode &) const
Definition: ww8par5.cxx:2973
void SetCurrentSectionVerticalAdjustment(const css::drawing::TextVerticalAdjust nVA)
Definition: ww8par2.cxx:119
void SetUseOn(wwSection &rSection)
Definition: ww8par.cxx:4439
SwWW8ImplReader & mrReader
Definition: ww8par.hxx:824
sal_uInt32 GetTextAreaWidth() const
Definition: ww8par2.cxx:160
std::deque< wwSection >::iterator mySegIter
Definition: ww8par.hxx:826
bool CurrentSectionIsVertical() const
Definition: ww8par2.cxx:127
sal_uInt16 mnDesc
Definition: ww8par.hxx:829
sal_uInt32 GetPageWidth() const
Definition: ww8par2.cxx:155
wwSectionManager & operator=(const wwSectionManager &)=delete
void CreateSep(const tools::Long nTextPos)
Definition: ww8par6.cxx:858
sal_uInt32 GetPageRight() const
Definition: ww8par2.cxx:150
sal_uInt16 CurrentSectionColCount() const
Definition: ww8par5.cxx:2963
static bool SetCols(SwFrameFormat &rFormat, const wwSection &rSection, sal_uInt32 nNetWidth)
Definition: ww8par6.cxx:423
std::deque< wwSection > maSegments
Definition: ww8par.hxx:825
void PrependedInlineNode(const SwPosition &rPos, const SwNode &rNode)
Definition: ww8par2.cxx:2364
static void SetPage(SwPageDesc &rPageDesc, SwFrameFormat &rFormat, const wwSection &rSection, bool bIgnoreCols)
Definition: ww8par6.cxx:517
wwSectionManager(const wwSectionManager &)=delete
bool SectionIsProtected(const wwSection &rSection) const
Definition: ww8par.cxx:2393
void InsertSegments()
Definition: ww8par.cxx:4526
sal_uInt32 GetWWPageTopMargin() const
Definition: ww8par2.cxx:165
static void SetLeftRight(wwSection &rSection)
Definition: ww8par6.cxx:476
void GetPageULData(const wwSection &rNewSection, wwULSpaceData &rData) const
Definition: ww8par6.cxx:582
void SetCurrentSectionHasFootnote()
Definition: ww8par2.cxx:111
sal_uInt32 GetPageLeft() const
Definition: ww8par2.cxx:145
bool CurrentSectionIsProtected() const
Definition: ww8par2.cxx:136
wwSectionNamer(const wwSectionNamer &)=delete
OUString UniqueName()
Definition: ww8par5.cxx:2519
const SwDoc & mrDoc
Definition: ww8par.hxx:984
int mnFileSectionNo
Definition: ww8par.hxx:986
wwSectionNamer(const SwDoc &rDoc, OUString aSeed)
Definition: ww8par.hxx:991
wwSectionNamer & operator=(const wwSectionNamer &)=delete
OUString msFileLinkSeed
Definition: ww8par.hxx:985
sal_uInt32 GetPageHeight() const
Definition: ww8par.hxx:810
bool IsFixedHeightHeader() const
Definition: ww8par.hxx:814
SwPageDesc * mpPage
Definition: ww8par.hxx:785
sal_uInt32 GetPageWidth() const
Definition: ww8par.hxx:807
sal_uInt8 mnBorders
Definition: ww8par.hxx:795
bool HasTitlePage() const
Definition: ww8par.hxx:803
sal_uInt32 GetPageRight() const
Definition: ww8par.hxx:812
WW8_BRCVer9 m_brc[4]
Definition: ww8par.hxx:782
sal_uInt32 m_nPgLeft
Definition: ww8par.hxx:789
sal_uInt32 GetPageLeft() const
Definition: ww8par.hxx:811
bool IsNotProtected() const
Definition: ww8par.hxx:799
bool IsBiDi() const
Definition: ww8par.hxx:806
void SetDirection()
Definition: ww8par6.cxx:166
bool IsContinuous() const
Definition: ww8par.hxx:798
SEPr maSep
Definition: ww8par.hxx:781
sal_uInt16 PageStartAt() const
Definition: ww8par.hxx:804
sal_Int32 StandardColSeparation() const
Definition: ww8par.hxx:802
SwSection * mpSection
Definition: ww8par.hxx:784
sal_uInt32 m_nPgRight
Definition: ww8par.hxx:790
bool IsFixedHeightFooter() const
Definition: ww8par.hxx:815
SwNodeIndex maStart
Definition: ww8par.hxx:783
sal_uInt32 m_nPgGutter
Definition: ww8par.hxx:791
bool IsVertical() const
Definition: ww8par6.cxx:202
bool IsLandScape() const
Definition: ww8par.hxx:813
sal_uInt32 m_nPgWidth
Definition: ww8par.hxx:788
wwSection(const SwPosition &rPos)
Definition: ww8par6.cxx:824
bool PageRestartNo() const
Definition: ww8par.hxx:805
sal_uInt32 GetTextAreaWidth() const
Definition: ww8par.hxx:808
bool mbHasFootnote
Definition: ww8par.hxx:796
SvxFrameDirection meDir
Definition: ww8par.hxx:786
sal_Int16 NoCols() const
Definition: ww8par.hxx:801
bool m_bRtlGutter
Definition: ww8par.hxx:792
css::drawing::TextVerticalAdjust mnVerticalAdjustment
Definition: ww8par.hxx:794
wwSprmParser knows how to take a sequence of bytes and split it up into sprms and their arguments
Definition: ww8scan.hxx:114
RedlineType
#define OK
sal_Int16 nValue
FontPitch
FontFamily
SwLineBreakClear
Defines the location of a line break text wrapping restart.
SvxFrameDirection
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(91)
sal_Int32 nIndex
SvLinkSource * pOwner
#define SAL_N_ELEMENTS(arr)
MSO_LineStyle
MSO_LineDashing
MSO_SPT
class SAL_NO_VTABLE XPropertySet
Type
std::shared_ptr< T > make_shared(Args &&... args)
int compareToIgnoreAsciiCase(std::u16string_view s1, std::u16string_view s2)
Dialog to specify the properties of date form field.
auto FilterControlChars(OUString const &rString) -> OUString
Definition: ww8par.cxx:3461
long Long
std::vector< sal_uInt8 > bytes
Definition: types.hxx:29
sal_Int16 nId
SwReaderType
Definition: shellio.hxx:189
sal_uIntPtr sal_uLong
static LanguageType nLang
Definition: srtdlg.cxx:51
OUString msOutlineNumRule
Definition: ww8par.hxx:1022
OUString msNumberingNumRule
Definition: ww8par.hxx:1023
SwNumRule * GetNumRule(const SwDoc &rDoc, sal_uInt8 nNumType)
Definition: ww8par2.cxx:903
void SetNumRule(const OUString &rNumRule, sal_uInt8 nNumType)
Definition: ww8par2.cxx:911
bool m_bHasSprm37
Definition: ww8par.hxx:1009
bool HasFrame() const
Definition: ww8par.hxx:1017
bool m_bHasSprm29
Definition: ww8par.hxx:1010
bool HasStartStop() const
Definition: ww8par.hxx:1016
WW8FlyPara * mpStyleApo
Definition: ww8par.hxx:1012
sal_uInt8 m_nSprm29
Definition: ww8par.hxx:1011
OUString hLinkAddr
Definition: ww8par.hxx:530
OUString tarFrame
Definition: ww8par.hxx:531
sal_uInt32 yaPage
Definition: ww8struc.hxx:1055
sal_Int32 dyaTop
Definition: ww8struc.hxx:1060
sal_uInt8 bkc
Definition: ww8struc.hxx:1009
sal_Int32 dxaColumns
Definition: ww8struc.hxx:1072
sal_Int16 ccolM1
Definition: ww8struc.hxx:1065
sal_uInt8 fPgnRestart
Definition: ww8struc.hxx:1015
sal_uInt8 dmOrientPage
Definition: ww8struc.hxx:1044
sal_uInt8 fBiDi
Definition: ww8struc.hxx:1068
sal_uInt16 pgnStart
Definition: ww8struc.hxx:1046
sal_uInt8 fTitlePage
Definition: ww8struc.hxx:1010
sal_uInt8 fUnlocked
Definition: ww8struc.hxx:1013
sal_Int32 dyaBottom
Definition: ww8struc.hxx:1061
Marks a position in the document model.
Definition: pam.hxx:37
bool operator()(std::u16string_view r1, std::u16string_view r2) const
Definition: ww8par.hxx:443
sal_Int16 nLeMgn
Definition: ww8par.hxx:207
sal_Int16 nSp26
Definition: ww8par.hxx:205
bool bBorderLines
Definition: ww8par.hxx:211
sal_Int16 nSp27
Definition: ww8par.hxx:205
void ReadFull(sal_uInt8 nSprm29, SwWW8ImplReader *pIo)
Definition: ww8par6.cxx:1749
void Read(sal_uInt8 nSprm29, WW8PLCFx_Cp_FKP *pPap)
Definition: ww8par6.cxx:1698
WW8FlyPara(bool bIsVer67, const WW8FlyPara *pSrc=nullptr)
Definition: ww8par6.cxx:1652
bool mbVertSet
Definition: ww8par.hxx:214
void ApplyTabPos(const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:1637
sal_uInt8 nSp29
Definition: ww8par.hxx:208
sal_uInt8 nSp37
Definition: ww8par.hxx:209
sal_Int16 nSp28
Definition: ww8par.hxx:206
sal_Int16 nRiMgn
Definition: ww8par.hxx:207
bool IsEmpty() const
Definition: ww8par6.cxx:1877
sal_Int16 nSp45
Definition: ww8par.hxx:206
bool operator==(const WW8FlyPara &rSrc) const
Definition: ww8par6.cxx:1675
sal_Int16 nLoMgn
Definition: ww8par.hxx:207
WW8_BRCVer9_5 brc
Definition: ww8par.hxx:210
sal_Int16 nUpMgn
Definition: ww8par.hxx:207
bool bVer67
Definition: ww8par.hxx:204
bool bGrafApo
Definition: ww8par.hxx:212
WW8PostProcessAttrsInfo(WW8_CP nCpStart, WW8_CP nCpEnd, SwPaM &rPaM)
Definition: ww8par5.cxx:2408
Color * pNewSHDs
Definition: ww8par.hxx:1067
short mnDefaultRight
Definition: ww8par.hxx:1049
bool bExist[MAX_COL]
Definition: ww8par.hxx:1070
void ProcessSprmTSetBRC(int nBrcVer, const sal_uInt8 *pParamsTSetBRC, sal_uInt16 nParamsLen)
Definition: ww8par2.cxx:1243
sal_uInt8 transCell(sal_uInt8 nWwCol) const
Definition: ww8par.hxx:1073
WW8_BRCVer9 aDefBrcs[6]
Definition: ww8par.hxx:1068
sal_uInt8 nOverrideSpacing[MAX_COL+1]
Definition: ww8par.hxx:1064
sal_uInt8 nTransCell[MAX_COL+2]
Definition: ww8par.hxx:1071
sal_uInt16 maDirections[MAX_COL+1]
Definition: ww8par.hxx:1054
short nOverrideValues[MAX_COL+1][4]
Definition: ww8par.hxx:1065
void ReadNewShd(const sal_uInt8 *pS, bool bVer67, sal_uInt8 nStart)
Definition: ww8par2.cxx:1606
void ReadShd(const sal_uInt8 *pS)
Definition: ww8par2.cxx:1585
short mnDefaultTop
Definition: ww8par.hxx:1048
short mnDefaultBottom
Definition: ww8par.hxx:1050
void ProcessSprmTTableBorders(int nBrcVer, const sal_uInt8 *pParams, sal_uInt16 nParamsLen)
Definition: ww8par2.cxx:1313
WW8TabBandDesc * pNextBand
Definition: ww8par.hxx:1045
WW8TabBandDesc & operator=(WW8TabBandDesc const &)=default
void ProcessSprmTInsert(const sal_uInt8 *pParamsTInsert)
Definition: ww8par2.cxx:1372
void ProcessSpecificSpacing(const sal_uInt8 *pParamsTInsert)
Definition: ww8par2.cxx:1503
void ProcessSprmTDelete(const sal_uInt8 *pParamsTDelete)
Definition: ww8par2.cxx:1539
bool bCantSplit90
Definition: ww8par.hxx:1062
void ReadDef(bool bVer67, const sal_uInt8 *pS, short nLen)
Definition: ww8par2.cxx:1116
short nCenter[MAX_COL+1]
Definition: ww8par.hxx:1055
WW8_SHD * pSHDs
Definition: ww8par.hxx:1066
WW8_TCell * pTCs
Definition: ww8par.hxx:1063
void ProcessDirection(const sal_uInt8 *pParams)
Definition: ww8par2.cxx:1443
void ProcessSprmTDxaCol(const sal_uInt8 *pParamsTDxaCol)
Definition: ww8par2.cxx:1349
short nWidth[MAX_COL+1]
Definition: ww8par.hxx:1056
bool mbHasSpacing
Definition: ww8par.hxx:1051
short nLineHeight
Definition: ww8par.hxx:1052
void ProcessSpacing(const sal_uInt8 *pParamsTInsert)
Definition: ww8par2.cxx:1460
short nGapHalf
Definition: ww8par.hxx:1046
short mnDefaultLeft
Definition: ww8par.hxx:1047
SvxNumType
RndStdIds
tools::Long SwTwips
Definition: swtypes.hxx:51
constexpr sal_uInt8 MAXLEVEL
Definition: swtypes.hxx:92
TEXT
unsigned char sal_uInt8
sal_uInt16 sal_Unicode
#define SAL_WARN_UNUSED_RESULT
eF_ResT
Definition: ww8par.hxx:619
bool CanUseRemoteLink(const OUString &rGrfName)
Definition: ww8par5.cxx:2418
void SetStyleIndent(SwWW8StyInf &rStyleInfo, const SwNumFormat &rFormat)
Definition: ww8par3.cxx:1710
void UseListIndent(SwWW8StyInf &rStyle, const SwNumFormat &rFormat)
Definition: ww8par3.cxx:1695
bool get_flag(Type nBitField, Type nMask)
Definition: ww8par.hxx:488
ReturnType ulimit_cast(Type nValue, ReturnType nMax)
Definition: ww8par.hxx:492
void MatchEscherMirrorIntoFlySet(const SvxMSDffImportRec &rRecord, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:3066
bool RTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth, sal_Int16 eHoriOri, sal_Int16 eHoriRel, SwTwips nPageLeft, SwTwips nPageRight, SwTwips nPageSize)
Definition: wrtw8esh.cxx:525
OUString BookmarkToWriter(std::u16string_view rBookmark)
Definition: wrtw8nds.cxx:1235
std::set< WW8_CP > cp_set
Definition: ww8par.hxx:1101
#define MAX_COL
Definition: ww8par.hxx:1041
SwWw8ControlType
Definition: ww8par.hxx:637
@ WW8_CT_CHECKBOX
Definition: ww8par.hxx:639
@ WW8_CT_EDIT
Definition: ww8par.hxx:638
@ WW8_CT_DROPDOWN
Definition: ww8par.hxx:640
void SyncIndentWithList(SvxLRSpaceItem &rLR, const SwNumFormat &rFormat, const bool bFirstLineOfStSet, const bool bLeftIndentSet)
Definition: ww8par.cxx:1248
tools::Long GetListFirstLineIndent(const SwNumFormat &rFormat)
Definition: ww8par.cxx:1213
ManTypes
Definition: ww8scan.hxx:871
sal_Int32 WW8_CP
Definition: ww8struc.hxx:153
WW8_BRCVer9 WW8_BRCVer9_5[5]
Definition: ww8struc.hxx:354
SvNumFormatType