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