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