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  Position(const Position &rPos);
550  operator SwPosition() const;
551  const SwNodeIndex& GetPtNode() const { return maPtNode; };
552  sal_Int32 GetPtContent() const { return mnPtContent; };
553  };
554  }
555 
556  auto FilterControlChars(OUString const& rString) -> OUString;
557 }
558 
560 {
561  private:
562  OUString msBookmarkName;
563  OUString msMarkType;
564  OUString msMarkCode;
566 
567  public:
569  sal_uInt16 mnFieldId;
571  WW8FieldEntry(SwPosition const &rPos, sal_uInt16 nFieldId) throw();
572  WW8FieldEntry(const WW8FieldEntry &rOther) throw();
573  WW8FieldEntry &operator=(const WW8FieldEntry &rOther) throw();
574  void Swap(WW8FieldEntry &rOther) throw();
575 
576  SwNodeIndex GetPtNode() const { return maStartPos.GetPtNode(); };
577  sal_Int32 GetPtContent() const { return maStartPos.GetPtContent(); };
578 
579  const OUString& GetBookmarkName() const { return msBookmarkName;}
580  const OUString& GetBookmarkCode() const { return msMarkCode;}
581  void SetBookmarkName(const OUString& bookmarkName);
582  void SetBookmarkType(const OUString& bookmarkType);
583  void SetBookmarkCode(const OUString& bookmarkCode);
585 };
586 
587 // mini marker for some flags
588 
590 {
591 private:
594  std::deque<bool> maOldApos;
595  std::deque<WW8FieldEntry> maOldFieldStack;
596  std::unique_ptr<SwWW8FltControlStack> mxOldStck;
597  std::unique_ptr<SwWW8FltAnchorStack> mxOldAnchorStck;
598  std::unique_ptr<sw::util::RedlineStack> mxOldRedlines;
599  std::shared_ptr<WW8PLCFMan> mxOldPlcxMan;
600  std::unique_ptr<WW8FlyPara> mpWFlyPara;
601  std::unique_ptr<WW8SwFlyPara> mpSFlyPara;
604  std::unique_ptr<WW8TabDesc> mxTableDesc;
605  int const mnInTable;
606  sal_uInt16 const mnCurrentColl;
608  bool const mbIgnoreText;
609  bool const mbSymbol;
610  bool const mbHdFtFootnoteEdn;
611  bool const mbTxbxFlySection;
612  bool const mbAnl;
613  bool const mbInHyperlink;
614  bool const mbPgSecBreak;
615  bool const mbWasParaEnd;
616  bool const mbHasBorder;
617  bool const mbFirstPara;
618 public:
619  WW8ReaderSave(SwWW8ImplReader* pRdr, WW8_CP nStart=-1);
620  void Restore(SwWW8ImplReader* pRdr);
621  const SwPosition &GetStartPos() const { return maTmpPos; }
622 };
623 
624 enum class eF_ResT { OK, TEXT, TAGIGN, READ_FSPA };
625 
627 {
628 public:
630  SwWW8Shade(bool bVer67, const WW8_SHD& rSHD);
631  SwWW8Shade(Color nFore, Color nBack, sal_uInt16 nIndex)
632  {
633  SetShade(nFore, nBack, nIndex);
634  }
635 private:
636  void SetShade(Color nFore, Color nBack, sal_uInt16 nIndex);
637 };
638 
639 // Formulas
640 
642 {
646 };
647 
649 {
650 protected:
652 
653  WW8FormulaControl(WW8FormulaControl const&) = delete;
655 
656 public:
657  WW8FormulaControl(const OUString& rN, SwWW8ImplReader &rRdr)
658  : mrRdr(rRdr), mfUnknown(0), mfDropdownIndex(0),
659  mfToolTip(0), mfNoMark(0), mfType(0),
660  mfUnused(0), mhpsCheckBox(20), mnChecked(0), mnMaxLen(0),
661  mbHelp(false), msName( rN )
662  {
663  }
670 
671  sal_uInt16 mhpsCheckBox;
672  sal_uInt16 mnChecked;
673 
675  sal_uInt16 mnMaxLen;
676  OUString msTitle;
677  OUString msDefault;
678  OUString msFormatting;
679  bool mbHelp;
680  OUString msHelp;
681  OUString msToolTip;
682  OUString msEntryMcr;
683  OUString msExitMcr;
684  std::vector<OUString> maListEntries;
685  virtual ~WW8FormulaControl() {}
686  void FormulaRead(SwWw8ControlType nWhich,SvStream *pD);
687  virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
688  css::uno::Reference< css::form::XFormComponent> &rFComp,
689  css::awt::Size &rSz) = 0;
690  OUString const msName;
691 };
692 
694 {
695 private:
696  WW8FormulaCheckBox(const WW8FormulaCheckBox&) = delete;
698 
699 public:
700  explicit WW8FormulaCheckBox(SwWW8ImplReader &rR);
701 
702  virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
703  css::uno::Reference< css::form::XFormComponent> &rFComp,
704  css::awt::Size &rSz) override;
705 };
706 
708 {
709 private:
710  WW8FormulaListBox(const WW8FormulaListBox&) = delete;
712 
713 public:
714  explicit WW8FormulaListBox(SwWW8ImplReader &rR);
715 
716  virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> &rServiceFactory,
717  css::uno::Reference< css::form::XFormComponent> &rFComp,
718  css::awt::Size &rSz) override;
719 };
720 
722 {
723 private:
724  WW8FormulaEditBox(const WW8FormulaEditBox&) = delete;
726 public:
727  explicit WW8FormulaEditBox(SwWW8ImplReader &rR);
728  //no real implementation, return false
729  virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory> & /* rServiceFactory */,
730  css::uno::Reference< css::form::XFormComponent> & /* rFComp */,
731  css::awt::Size & /* rSz */) override { return false; }
732 };
733 
735 {
736 public:
737  SwMSConvertControls( SfxObjectShell const *pDSh, SwPaM *pP );
738  void InsertFormula( WW8FormulaControl &rFormula);
739  virtual bool InsertControl(const css::uno::Reference< css::form::XFormComponent >& rFComp,
740  const css::awt::Size& rSize,
741  css::uno::Reference< css::drawing::XShape > *pShape, bool bFloatingCtrl) override;
742  void ExportControl(WW8Export &rWrt, const SdrUnoObj& rFormObj);
743  bool ReadOCXStream( tools::SvRef<SotStorage> const & rSrc1,
744  css::uno::Reference< css::drawing::XShape > *pShapeRef,
745  bool bFloatingCtrl=false );
746 private:
747  SwPaM * const pPaM;
748  sal_uInt32 mnObjectId;
749 };
750 
752 {
753 private:
756  std::unordered_map<sal_uInt32, Graphic> aOldEscherBlipCache;
757 
758  virtual bool GetOLEStorageName( sal_uInt32 nOLEId, OUString& rStorageName,
759  tools::SvRef<SotStorage>& rSrcStorage, css::uno::Reference < css::embed::XStorage >& rDestStorage ) const override;
760  virtual bool ShapeHasText( sal_uLong nShapeId, sal_uLong nFilePos ) const override;
761  // #i32596# - new parameter <_nCalledByGroup>, which
762  // indicates, if the OLE object is imported inside a group object
763  virtual SdrObject* ImportOLE( sal_uInt32 nOLEId,
764  const Graphic& rGrf,
765  const tools::Rectangle& rBoundRect,
766  const tools::Rectangle& rVisArea,
767  const int _nCalledByGroup ) const override;
768 
769  SwMSDffManager(const SwMSDffManager&) = delete;
770  SwMSDffManager& operator=(const SwMSDffManager&) = delete;
771 public:
772  static sal_uInt32 GetFilterFlags();
773  static sal_Int32 GetEscherLineMatch(MSO_LineStyle eStyle, MSO_SPT eShapeType,
774  sal_Int32 &rThick);
775  SwMSDffManager( SwWW8ImplReader& rRdr, bool bSkipImages );
776  void DisableFallbackStream();
777  void EnableFallbackStream();
778 protected:
779  virtual SdrObject* ProcessObj( SvStream& rSt, DffObjData& rObjData, SvxMSDffClientData& rData, tools::Rectangle& rTextRect, SdrObject* pObj ) override;
780 };
781 
783 {
784 public:
785  explicit wwSection(const SwPosition &rPos);
792 
793  sal_uInt32 nPgWidth;
794  sal_uInt32 nPgLeft;
795  sal_uInt32 nPgRight;
796 
797  css::drawing::TextVerticalAdjust mnVerticalAdjustment;
800  void SetDirection();
801  bool IsContinuous() const { return maSep.bkc == 0; }
802  bool IsNotProtected() const { return maSep.fUnlocked != 0; }
803  bool IsVertical() const;
804  sal_Int16 NoCols() const { return maSep.ccolM1 + 1; }
805  sal_Int32 StandardColSeparation() const { return maSep.dxaColumns; }
806  bool HasTitlePage() const { return maSep.fTitlePage != 0; }
807  sal_uInt16 PageStartAt() const { return maSep.pgnStart; }
808  bool PageRestartNo() const { return maSep.fPgnRestart != 0; }
809  bool IsBiDi() const { return maSep.fBiDi != 0; }
810  sal_uInt32 GetPageWidth() const { return nPgWidth; }
811  sal_uInt32 GetTextAreaWidth() const
812  { return GetPageWidth() - GetPageLeft() - GetPageRight(); }
813  sal_uInt32 GetPageHeight() const { return maSep.yaPage; }
814  sal_uInt32 GetPageLeft() const { return nPgLeft; }
815  sal_uInt32 GetPageRight() const { return nPgRight; }
816  bool IsLandScape() const { return maSep.dmOrientPage != 0; }
817  bool IsFixedHeightHeader() const { return maSep.dyaTop < 0; }
818  bool IsFixedHeightFooter() const { return maSep.dyaBottom < 0; }
819 };
820 
822 {
823 private:
824  /*
825  A queue of the ms sections in the document
826  */
828  std::deque<wwSection> maSegments;
829  typedef std::deque<wwSection>::iterator mySegIter;
830 
831  //Num of page desc's entered into the document
832  sal_uInt16 mnDesc;
833 
835  {
837  sal_uInt32 nSwHLo, nSwFUp, nSwUp, nSwLo;
839  : bHasHeader(false)
840  , bHasFooter(false)
841  , nSwHLo(0)
842  , nSwFUp(0)
843  , nSwUp(0)
844  , nSwLo(0)
845  {}
846  };
847 
848  void SetSegmentToPageDesc(const wwSection &rSection, bool bIgnoreCols);
849 
850  void GetPageULData(const wwSection &rNewSection,
851  wwULSpaceData& rData) const;
852  static void SetPageULSpaceItems(SwFrameFormat &rFormat, wwULSpaceData const & rData,
853  const wwSection &rSection);
854 
855  static void SetPage(SwPageDesc &rPageDesc, SwFrameFormat &rFormat,
856  const wwSection &rSection, bool bIgnoreCols);
857 
858  static void SetNumberingType(const wwSection &rNewSection, SwPageDesc &rPageDesc);
859 
860  void SetUseOn(wwSection &rSection);
861  void SetHdFt(wwSection const &rSection, int nSect, const wwSection *pPrevious);
862 
863  SwSectionFormat *InsertSection(SwPaM const & rMyPaM, wwSection &rSection);
864  static bool SetCols(SwFrameFormat &rFormat, const wwSection &rSection,
865  sal_uInt32 nNetWidth);
866  bool SectionIsProtected(const wwSection &rSection) const;
867  void SetLeftRight(wwSection &rSection);
868  /*
869  The segment we're inserting, the start of the segments container, and the
870  nodeindex of where we want the page break to (normally the segments start
871  position
872  */
873  SwFormatPageDesc SetSwFormatPageDesc(mySegIter const &rIter, mySegIter const &rStart,
874  bool bIgnoreCols);
875 
876  wwSectionManager(const wwSectionManager&) = delete;
877  wwSectionManager& operator=(const wwSectionManager&) = delete;
878 public:
879  explicit wwSectionManager(SwWW8ImplReader &rReader) : mrReader(rReader), mnDesc(0)
880  {}
882  void SetCurrentSectionVerticalAdjustment(const css::drawing::TextVerticalAdjust nVA);
883  bool CurrentSectionIsVertical() const;
884  bool CurrentSectionIsProtected() const;
885  void PrependedInlineNode(const SwPosition &rPos, const SwNode &rNode);
886  sal_uInt16 CurrentSectionColCount() const;
887  bool WillHavePageDescHere(const SwNodeIndex& rIdx) const;
888  void CreateSep(const long nTextPos);
889  void InsertSegments();
890  void JoinNode(const SwPosition &rPos, const SwNode &rNode);
891  sal_uInt32 GetPageLeft() const;
892  sal_uInt32 GetPageRight() const;
893  sal_uInt32 GetPageWidth() const;
894  sal_uInt32 GetWWPageTopMargin() const;
895  sal_uInt32 GetTextAreaWidth() const;
896 };
897 
898 //Various writer elements like frames start off containing a blank paragraph,
899 //sometimes this paragraph turns out to be extraneous, e.g. the frame should
900 //only contain a table with no trailing paragraph.
901 
902 //We want to remove these extra paragraphs, but removing them during the parse
903 //is problematic, because we don't want to remove any paragraphs that are still
904 //addressed by property entries in a SwFltControlStack which have not yet been
905 //committed to the document.
906 
907 //Safest thing is to not delete SwTextNodes from a document during import, and
908 //remove these extraneous paragraphs at the end after all SwFltControlStack are
909 //destroyed.
911 {
912 private:
913  /*
914  A vector of SwTextNodes to erase from a document after import is complete
915  */
916  std::set<SwTextNode*, SwWW8::ltnode> m_aTextNodes;
918 
919  wwExtraneousParas(wwExtraneousParas const&) = delete;
921 
922 public:
923  explicit wwExtraneousParas(SwDoc &rDoc) : m_rDoc(rDoc) {}
925  void insert(SwTextNode *pTextNode) { m_aTextNodes.insert(pTextNode); }
926  void delete_all_from_doc();
927 };
928 
930 {
931 private:
932  OUString const msSeed;
934  bool const mbIsDisabled;
935 
936  wwFrameNamer(wwFrameNamer const&) = delete;
937  wwFrameNamer& operator=(wwFrameNamer const&) = delete;
938 
939 public:
940  void SetUniqueGraphName(SwFrameFormat *pFrameFormat, const OUString &rFixedPart);
941  wwFrameNamer(bool bIsDisabled, const OUString &rSeed)
942  : msSeed(rSeed), mnImportedGraphicsCount(0), mbIsDisabled(bIsDisabled)
943  {
944  }
945 };
946 
948 {
949 private:
950  const SwDoc &mrDoc;
951  OUString const msFileLinkSeed;
953  wwSectionNamer(const wwSectionNamer&) = delete;
954  wwSectionNamer& operator=(const wwSectionNamer&) = delete;
955 public:
956  OUString UniqueName();
957  wwSectionNamer(const SwDoc &rDoc, const OUString &rSeed)
958  : mrDoc(rDoc), msFileLinkSeed(rSeed), mnFileSectionNo(0)
959  { }
960 };
961 
963 {
964 public:
966  bool mbAutoNum;
969 };
970 
972 {
974  bool mbStopApo;
980  : mbStartApo(false), mbStopApo(false), m_bHasSprm37(false)
981  , m_bHasSprm29(false), m_nSprm29(0), mpStyleApo(nullptr) {}
982  bool HasStartStop() const { return (mbStartApo || mbStopApo); }
983  bool HasFrame() const { return (m_bHasSprm29 || m_bHasSprm37 || mpStyleApo); }
984 };
985 
987 {
988  OUString msOutlineNumRule; // WinWord 6 numbering, variant 1
989  OUString msNumberingNumRule; // WinWord 6 numbering, variant 2
990  SwNumRule* GetNumRule(const SwDoc& rDoc, sal_uInt8 nNumType);
991  void SetNumRule(const OUString& rNumRule, sal_uInt8 nNumType);
992 };
993 
994 struct SprmReadInfo;
995 class SwDocShell;
997 {
998  bool mbCopy;
1003 
1004  WW8PostProcessAttrsInfo(WW8_CP nCpStart, WW8_CP nCpEnd, SwPaM & rPaM);
1005 };
1006 
1007 #define MAX_COL 64 // WW6-description: 32, WW6-UI: 31 & WW8-UI: 63!
1008 
1010 {
1012  short nGapHalf;
1019  short nRows;
1020  sal_uInt16 maDirections[MAX_COL + 1];
1021  short nCenter[MAX_COL + 1]; // X-edge of all cells of this band
1022  short nWidth[MAX_COL + 1]; // length of all cells of this band
1023  short nWwCols; // sal_uInt8 would be sufficient, alignment -> short
1024  short nSwCols; // SW: number of columns for the writer
1025  bool bLEmptyCol; // SW: an additional empty column at the left
1026  bool bREmptyCol; // SW: same at the right
1031  short nOverrideValues[MAX_COL + 1][4];
1035 
1036  bool bExist[MAX_COL]; // does this cell exist ?
1037  sal_uInt8 nTransCell[MAX_COL + 2]; // translation WW-Index -> SW-Index
1038 
1040  {
1041  return nWwCol < SAL_N_ELEMENTS(nTransCell) ? nTransCell[nWwCol] : 0xFF;
1042  }
1043 
1044  WW8TabBandDesc();
1045  WW8TabBandDesc(WW8TabBandDesc const & rBand); // deep copy
1046  ~WW8TabBandDesc();
1047  void ReadDef(bool bVer67, const sal_uInt8* pS, short nLen);
1048  void ProcessDirection(const sal_uInt8* pParams);
1049  void ProcessSprmTSetBRC(int nBrcVer, const sal_uInt8* pParamsTSetBRC, sal_uInt16 nParamsLen);
1050  void ProcessSprmTTableBorders(int nBrcVer, const sal_uInt8* pParams, sal_uInt16 nParamsLen);
1051  void ProcessSprmTDxaCol(const sal_uInt8* pParamsTDxaCol);
1052  void ProcessSprmTDelete(const sal_uInt8* pParamsTDelete);
1053  void ProcessSprmTInsert(const sal_uInt8* pParamsTInsert);
1054  void ProcessSpacing(const sal_uInt8* pParamsTInsert);
1055  void ProcessSpecificSpacing(const sal_uInt8* pParamsTInsert);
1056  void ReadShd(const sal_uInt8* pS );
1057  void ReadNewShd(const sal_uInt8* pS, bool bVer67);
1058 
1059  enum wwDIR {wwTOP = 0, wwLEFT = 1, wwBOTTOM = 2, wwRIGHT = 3};
1060 
1061 private:
1062  WW8TabBandDesc & operator =(WW8TabBandDesc const &) = default; // only for use in copy ctor
1063 };
1064 
1065 // Storage-Reader
1066 
1067 typedef std::set<WW8_CP> cp_set;
1068 typedef std::vector<WW8_CP> cp_vector;
1069 
1071 {
1072 private:
1073  SwDocShell *m_pDocShell; // The Real DocShell
1074 
1075 friend class WW8RStyle;
1076 friend class WW8TabDesc;
1077 friend class WW8ReaderSave;
1078 friend struct WW8FlyPara;
1079 friend struct WW8SwFlyPara;
1080 friend class WW8FlySet;
1081 friend class SwMSDffManager;
1083 friend class WW8FormulaControl;
1084 friend class wwSectionManager;
1085 
1086 private:
1087 
1088  SotStorage* m_pStg; // Input-Storage
1089  SvStream* m_pStrm; // Input-(Storage)Stream
1090  SvStream* m_pTableStream; // Input-(Storage)Stream
1091  SvStream* m_pDataStream; // Input-(Storage)Stream
1092 
1093 // general stuff
1095  std::shared_ptr<SwUnoCursor> mpCursor;
1097 
1098  std::unique_ptr<SwWW8FltControlStack> m_xCtrlStck; // stack for the attributes
1099 
1100  /*
1101  This stack is for redlines, because their sequence of discovery can
1102  be out of order of their order of insertion into the document.
1103  */
1104  std::stack<std::unique_ptr<sw::util::RedlineStack>> m_aFrameRedlines; //inside frames, tables, etc
1105  std::unique_ptr<sw::util::RedlineStack> m_xRedlineStack; //main document
1106 
1107  /*
1108  This stack is for fields that get referenced later, e.g. BookMarks and TOX.
1109  They get inserted at the end of the document, it is the same stack for
1110  headers/footers/main text/textboxes/tables etc...
1111  */
1112  std::unique_ptr<SwWW8ReferencedFltEndStack> m_xReffedStck;
1113 
1114  /*
1115  This stack is for fields whose true conversion cannot be determined until
1116  the end of the document, it is the same stack for headers/footers/main
1117  text/textboxes/tables etc... They are things that reference other things
1118  e.g. NoteRef and Ref, they are processed after pReffedStck
1119  */
1120  std::unique_ptr<SwWW8FltRefStack> m_xReffingStck;
1121 
1122  /*
1123  For graphics anchors. Determines the graphics whose anchors are in the
1124  current paragraph, and works around the difficulty in inserting a graphic
1125  anchored to character before a character to be anchored to has been
1126  inserted. Is emptied at the end of each paragraph.
1127  */
1128  std::unique_ptr<SwWW8FltAnchorStack> m_xAnchorStck;
1129 
1130  /*
1131  A stack of fields identifiers to keep track of any open fields that need
1132  to be closed. Generally word fields are inserted as writer fields as soon
1133  as they are encountered, and so their end point is normally unimportant.
1134  But hyperlink fields need to be applied as attributes to text and it is
1135  far easier and safer to set the end point of an attribute when we
1136  encounter the end marker of the field instead of calculating in advance
1137  where the end point will fall, to do so fully correctly duplicates the
1138  main logic of the filter itself.
1139  */
1140  std::deque<WW8FieldEntry> m_aFieldStack;
1141 
1142  /*
1143  A stack of open footnotes. Should only be one in it at any time.
1144  */
1145  std::deque<FootnoteDescriptor> m_aFootnoteStack;
1146 
1147  /*
1148  A queue of the ms sections in the document
1149  */
1151 
1152  /*
1153  A vector of surplus-to-requirements paragraph in the final document,
1154  that exist because of quirks of the SwDoc document model and/or API,
1155  which need to be removed.
1156  */
1158 
1159  /*
1160  A map of tables to their follow nodes for use in inserting tables into
1161  already existing document, i.e. insert file
1162  */
1164 
1165  /*
1166  Creates unique names to give to (file link) sections (WW1/WW2/...)
1167  */
1169 
1170  /*
1171  Knows how to split a series of bytes into sprms and their arguments
1172  */
1173  std::unique_ptr<wwSprmParser> m_xSprmParser;
1174 
1175  /*
1176  Creates unique names to give to graphics
1177  */
1179 
1180  /*
1181  Knows which writer style a given word style should be imported as.
1182  */
1185 
1186  /*
1187  Stack of textencoding being used as we progress through the document text
1188  */
1189  std::stack<rtl_TextEncoding> m_aFontSrcCharSets;
1190  std::stack<rtl_TextEncoding> m_aFontSrcCJKCharSets;
1191 
1192  /*
1193  Progress bar
1194  */
1195  std::unique_ptr<ImportProgress> m_xProgress;
1196 
1197  std::unique_ptr<SwMSConvertControls> m_xFormImpl; // implementation of control
1198 
1203 
1204  //Keep track of APO environments
1205  std::deque<bool> m_aApos;
1206  /*
1207  Keep track of generated Ruby character formats we can minimize the
1208  number of character formats created
1209  */
1210  std::vector<const SwCharFormat*> m_aRubyCharFormats;
1211 
1212  /*
1213  For fuzzing keep track of source offset of inserted graphics
1214  */
1215  std::set<sal_uLong> m_aGrafPosSet;
1216 
1217  std::unique_ptr<WW8PostProcessAttrsInfo> m_pPostProcessAttrsInfo;
1218 
1219  std::shared_ptr<WW8Fib> m_xWwFib;
1220  std::unique_ptr<WW8Fonts> m_xFonts;
1221  std::unique_ptr<WW8Dop> m_xWDop;
1222  std::unique_ptr<WW8ListManager, o3tl::default_delete<WW8ListManager>> m_xLstManager;
1223  std::unique_ptr<WW8ScannerBase> m_xSBase;
1224  std::shared_ptr<WW8PLCFMan> m_xPlcxMan;
1225  std::map<short, OUString> m_aLinkStringMap;
1226 
1227  std::set<const SwNode*> m_aTextNodesHavingFirstLineOfstSet; // #i103711#
1228  std::set<const SwNode*> m_aTextNodesHavingLeftIndentSet; // #i105414#
1229 
1230  std::unique_ptr<WW8RStyle> m_xStyles; // pointer to the style reading class
1231  SwFormat* m_pCurrentColl; // collection to be created now
1232  // ( always 0 outside of a Style-Def )
1233  std::unique_ptr<SfxItemSet> m_xCurrentItemSet;// character attributes to be read in now
1234  // (always 0 outside of the WW8ListManager Ctor)
1235  std::vector<SwWW8StyInf> m_vColl;
1238 
1239  std::unique_ptr<WW8PLCF_HdFt> m_xHdFt; // pointer to Header / Footer - scanner class
1240 
1241  std::unique_ptr<WW8FlyPara> m_xWFlyPara; // WW-parameter
1242  std::unique_ptr<WW8SwFlyPara> m_xSFlyPara; // Sw parameters created from previous
1243 
1244  std::unique_ptr<WW8TabDesc> m_xTableDesc; // description of table properties
1245  //Keep track of tables within tables
1246  std::stack<std::unique_ptr<WW8TabDesc>> m_aTableStack;
1247 
1249  std::unique_ptr<WW8_OLST> m_xNumOlst; // position in text
1250 
1253  std::unique_ptr<EditEngine> m_pDrawEditEngine;
1254  std::unique_ptr<wwZOrderer> m_xWWZOrder;
1255 
1256  SwFieldType* m_pNumFieldType; // for number circle
1257 
1258  std::unique_ptr<SwMSDffManager> m_xMSDffManager;
1259 
1260  std::unique_ptr<std::vector<OUString>> m_pAtnNames;
1261 
1262  std::unique_ptr<WW8SmartTagData> m_pSmartTagData;
1263 
1265  OUString const m_sBaseURL;
1266 
1267  // Ini-Flags:
1268  sal_uInt32 m_nIniFlags; // flags from writer.ini
1269  sal_uInt32 m_nIniFlags1; // dito ( additional flags )
1270  sal_uInt32 m_nFieldFlags; // dito for fields
1271  sal_uInt32 m_nFieldTagAlways[3]; // dito for tagging of fields
1272  sal_uInt32 m_nFieldTagBad[3]; // dito for tagging of fields that can't be imported
1273  bool m_bRegardHindiDigits; // import digits in CTL scripts as Hindi numbers
1274 
1276  WW8_CP m_nDrawCpO; // start of Txbx-SubDocs
1277 
1278  sal_uLong m_nPicLocFc; // Picture Location in File (FC)
1279  sal_uLong m_nObjLocFc; // Object Location in File (FC)
1280 
1281  sal_Int32 m_nIniFlyDx; // X-offset of Flys
1282  sal_Int32 m_nIniFlyDy; // Y-offset of Flys
1283 
1284  rtl_TextEncoding m_eTextCharSet; // Default charset for Text
1285  rtl_TextEncoding m_eStructCharSet; // rtl_TextEncoding for structures
1286  rtl_TextEncoding m_eHardCharSet; // Hard rtl_TextEncoding-Attribute
1287  sal_uInt16 m_nProgress; // percentage for Progressbar
1288  sal_uInt16 m_nCurrentColl; // per WW-count
1289  sal_uInt16 m_nFieldNum; // serial number for that
1290  sal_uInt16 m_nLFOPosition;
1291 
1292  short m_nCharFormat; // per WW-count, <0 for none
1293 
1296 
1297  sal_Unicode m_cSymbol; // symbol to be read now
1298 
1299  sal_uInt8 const m_nWantedVersion; // originally requested WW-Doc version by Writer
1300 
1301  sal_uInt8 m_nSwNumLevel; // level number for outline / enumeration
1302  sal_uInt8 m_nWwNumType; // outline / number / enumeration
1304 
1305  bool const m_bNewDoc; // new document?
1306  bool const m_bSkipImages; // skip images for text extraction/indexing
1307  bool m_bReadNoTable; // no tables
1308  bool m_bPgSecBreak; // Page- or Sectionbreak is still to be added
1309  bool m_bSpec; // special char follows in text
1310  bool m_bObj; // Obj in Text
1311  bool m_bTxbxFlySection; // FlyFrame that was inserted as replacement for Winword Textbox
1312  bool m_bHasBorder; // for bundling of the borders
1313  bool m_bSymbol; // e.g. Symbol instead of Times
1314  bool m_bIgnoreText; // e.g. for FieldVanish
1315  int m_nInTable; // are we currently reading a table?
1316  bool m_bWasTabRowEnd; // table : Row End Mark
1317  bool m_bWasTabCellEnd; // table: Cell End Mark
1318 
1319  bool m_bAnl; // enumeration in work
1320  // Anl stands for "Autonumber level"
1321 
1322  bool m_bHdFtFootnoteEdn; // special text: header/footer/and so on
1323  bool m_bFootnoteEdn; // footnote or endnote
1324  bool m_bIsHeader; // text is read from header ( line height )
1325  bool m_bIsFooter; // text is read from footer ( line height )
1326 
1327  bool m_bIsUnicode; // current piece of text is encoded as 2-byte Unicode
1328  // please do NOT handle this as bit field!
1329 
1330  bool m_bCpxStyle; // style in the complex part
1331  bool m_bStyNormal; // style with Id 0 is currently read
1332  bool m_bWWBugNormal; // WW-Version with Bug Dya in Style Normal
1333  bool m_bNoAttrImport; // ignore attributes for ignoring styles
1334  bool m_bInHyperlink; // special case for reading 0x01
1335  // see also: SwWW8ImplReader::Read_F_Hyperlink()
1337 
1338  // useful helper variables
1339  bool m_bVer67; // ( (6 == nVersion) || (7 == nVersion) );
1340  bool m_bVer6; // (6 == nVersion);
1341  bool m_bVer7; // (7 == nVersion);
1342  bool m_bVer8; // (8 == nVersion);
1343 
1344  bool m_bEmbeddObj; // EmbeddField is being read
1345 
1346  bool m_bCurrentAND_fNumberAcross; // current active Annotated List Descriptor - ROW flag
1347 
1348  bool m_bNoLnNumYet; // no Line Numbering has been activated yet (we import
1349  // the very 1st Line Numbering and ignore the rest)
1350 
1351  bool m_bFirstPara; // first paragraph?
1355 
1357  sal_Int32 m_nDropCap;
1358 
1359  bool m_bBidi;
1361  // Indicate that currently on loading a TOC, managed by Read_F_TOX() and End_Field()
1364  // Indicate that current on loading a hyperlink, which is inside a TOC; Managed by Read_F_Hyperlink() and End_Field()
1366  // a document position recorded the after-position of TOC section, managed by Read_F_TOX() and End_Field()
1367  std::unique_ptr<SwPaM> m_pPosAfterTOC;
1368  // used for some dropcap tweaking
1370 
1371  std::unique_ptr< SwPosition > m_pLastAnchorPos;
1372 
1376 
1377  cp_vector m_aEndParaPos;
1381 
1382  const SprmReadInfo& GetSprmReadInfo(sal_uInt16 nId) const;
1383 
1384  bool StyleExists(unsigned int nColl) const { return (nColl < m_vColl.size()); }
1385  SwWW8StyInf *GetStyle(sal_uInt16 nColl) const;
1386  void AppendTextNode(SwPosition& rPos);
1387 
1388  void Read_HdFt(int nSect, const SwPageDesc *pPrev,
1389  const wwSection &rSection);
1390  void Read_HdFtText(WW8_CP nStartCp, WW8_CP nLen, SwFrameFormat const * pHdFtFormat);
1391  void Read_HdFtTextAsHackedFrame(WW8_CP nStart, WW8_CP nLen,
1392  SwFrameFormat const &rHdFtFormat, sal_uInt16 nPageWidth);
1393 
1394  bool isValid_HdFt_CP(WW8_CP nHeaderCP) const;
1395 
1396  bool HasOwnHeaderFooter(sal_uInt8 nWhichItems, sal_uInt8 grpfIhdt, int nSect);
1397 
1398  void HandleLineNumbering(const wwSection &rSection);
1399 
1400  void CopyPageDescHdFt( const SwPageDesc* pOrgPageDesc,
1401  SwPageDesc* pNewPageDesc, sal_uInt8 nCode );
1402 
1403  void DeleteStack(std::unique_ptr<SwFltControlStack> prStck);
1405  {
1406  DeleteStack(std::move(m_xCtrlStck));
1407  }
1409  {
1410  DeleteStack(std::move(m_xReffedStck));
1411  DeleteStack(std::move(m_xReffingStck));
1412  }
1414  {
1415  DeleteStack(std::move(m_xAnchorStck));
1416  }
1417  void emulateMSWordAddTextToParagraph(const OUString& rAddString);
1418  void simpleAddTextToParagraph(const OUString& rAddString);
1419  bool HandlePageBreakChar();
1420  bool ReadChar(long nPosCp, long nCpOfs);
1421  bool ReadPlainChars(WW8_CP& rPos, sal_Int32 nEnd, sal_Int32 nCpOfs);
1422  bool ReadChars(WW8_CP& rPos, WW8_CP nNextAttr, long nTextEnd, long nCpOfs);
1425 
1426  void SetDocumentGrid(SwFrameFormat &rFormat, const wwSection &rSection);
1427 
1428  void ProcessCurrentCollChange(WW8PLCFManResult& rRes, bool* pStartAttr,
1429  bool bCallProcessSpecial);
1430  long ReadTextAttr(WW8_CP& rTextPos, long nTextEnd, bool& rbStartLine, int nDepthGuard = 0);
1431  void ReadAttrs(WW8_CP& rTextPos, WW8_CP& rNext, long nTextEnd, bool& rbStartLine);
1432  void CloseAttrEnds();
1433  bool ReadText(WW8_CP nStartCp, WW8_CP nTextLen, ManTypes nType);
1434 
1435  void ReadRevMarkAuthorStrTabl( SvStream& rStrm, sal_Int32 nTablePos,
1436  sal_Int32 nTableSiz, SwDoc& rDoc );
1437 
1438  void Read_HdFtFootnoteText(const SwNodeIndex* pSttIdx, WW8_CP nStartCp,
1439  WW8_CP nLen, ManTypes nType);
1440 
1441  void ImportTox( int nFieldId, const OUString& aStr );
1442 
1443  void EndSprm( sal_uInt16 nId );
1444  // #i103711#
1445  // #i105414#
1446  void NewAttr( const SfxPoolItem& rAttr,
1447  const bool bFirstLineOfStSet = false,
1448  const bool bLeftIndentSet = false );
1449 
1450  bool GetFontParams(sal_uInt16, FontFamily&, OUString&, FontPitch&,
1451  rtl_TextEncoding&);
1452  bool SetNewFontAttr(sal_uInt16 nFCode, bool bSetEnums, sal_uInt16 nWhich);
1453  void ResetCharSetVars();
1454  void ResetCJKCharSetVars();
1455 
1456  const SfxPoolItem* GetFormatAttr( sal_uInt16 nWhich );
1457  bool JoinNode(SwPaM &rPam, bool bStealAttr = false);
1458 
1459  static bool IsBorder(const WW8_BRCVer9* pbrc, bool bChkBtwn = false);
1460 
1461  //Set closest writer border equivalent into rBox from pbrc, optionally
1462  //recording true winword dimensions in pSizeArray. nSetBorders to mark a
1463  //border which has been previously set to a value and for which becoming
1464  //empty is valid. Set bCheBtwn to work with paragraphs that have a special
1465  //between paragraphs border
1466 
1467  // Note #i20672# we can't properly support between lines so best to ignore
1468  // them for now
1469  static bool SetBorder(SvxBoxItem& rBox, const WW8_BRCVer9* pbrc,
1470  short *pSizeArray=nullptr, sal_uInt8 nSetBorders=0xFF);
1471  static void GetBorderDistance(const WW8_BRCVer9* pbrc, tools::Rectangle& rInnerDist);
1472  static sal_uInt16 GetParagraphAutoSpace(bool fDontUseHTMLAutoSpacing);
1473  static bool SetShadow(SvxShadowItem& rShadow, const short *pSizeArray,
1474  const WW8_BRCVer9& aRightBrc);
1475  //returns true is a shadow was set
1476  static bool SetFlyBordersShadow(SfxItemSet& rFlySet, const WW8_BRCVer9 *pbrc,
1477  short *SizeArray);
1478  static void SetPageBorder(SwFrameFormat &rFormat, const wwSection &rSection);
1479 
1480  static sal_Int32 MatchSdrBoxIntoFlyBoxItem( const Color& rLineColor,
1481  MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, sal_Int32 &rLineWidth,
1482  SvxBoxItem& rBox );
1483  void MatchSdrItemsIntoFlySet( SdrObject const * pSdrObj, SfxItemSet &aFlySet,
1484  MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, tools::Rectangle &rInnerDist );
1485  static void AdjustLRWrapForWordMargins(const SvxMSDffImportRec &rRecord,
1486  SvxLRSpaceItem &rLR);
1487  static void AdjustULWrapForWordMargins(const SvxMSDffImportRec &rRecord,
1488  SvxULSpaceItem &rUL);
1489  static void MapWrapIntoFlyFormat(SvxMSDffImportRec const * pRecord, SwFrameFormat* pFlyFormat);
1490 
1491  void SetAttributesAtGrfNode(SvxMSDffImportRec const* pRecord,
1492  SwFrameFormat const *pFlyFormat, WW8_FSPA const *pF);
1493 
1494  bool IsDropCap() const;
1495  bool IsListOrDropcap() const { return (!m_xCurrentItemSet || m_bDropCap); };
1496 
1497  //Apo == Absolutely Positioned Object, MSWord's old-style frames
1498  std::unique_ptr<WW8FlyPara> ConstructApo(const ApoTestResults &rApo,
1499  const WW8_TablePos *pTabPos);
1500  bool StartApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos);
1501  void StopApo();
1502  bool TestSameApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos);
1503  ApoTestResults TestApo(int nCellLevel, bool bTableRowEnd,
1504  const WW8_TablePos *pTabPos);
1505  static void StripNegativeAfterIndent(SwFrameFormat const *pFlyFormat);
1506 
1507  void EndSpecial();
1508  bool ProcessSpecial(bool &rbReSync, WW8_CP nStartCp);
1509  sal_uInt16 TabRowSprm(int nLevel) const;
1510 
1511  bool ReadGrafFile(OUString& rFileName, std::unique_ptr<Graphic>& rpGraphic,
1512  const WW8_PIC& rPic, SvStream* pSt, sal_uLong nFilePos, bool* pDelIt);
1513 
1514  static void ReplaceObj(const SdrObject &rReplaceTextObj,
1515  SdrObject &rSubObj);
1516 
1518  const Graphic* pGraph, const OUString& rFileName,
1519  const SfxItemSet& rGrfSet);
1520 
1521  SwFrameFormat* MakeGrafInContent(const WW8_PIC& rPic, const WW8PicDesc& rPD,
1522  const Graphic* pGraph, const OUString& rFileName,
1523  const SfxItemSet& rGrfSet);
1524 
1526  SwFrameFormat* ImportGraf1(WW8_PIC const & rPic, SvStream* pSt, sal_uLong nFilePos);
1527  SwFrameFormat* ImportGraf(SdrTextObj const * pTextObj = nullptr, SwFrameFormat const * pFlyFormat = nullptr);
1528 
1529  SdrObject* ImportOleBase( Graphic& rGraph, const Graphic* pGrf=nullptr,
1530  const SfxItemSet* pFlySet=nullptr, const tools::Rectangle& aVisArea = tools::Rectangle() );
1531 
1532  SwFrameFormat* ImportOle( const Graphic* = nullptr, const SfxItemSet* pFlySet = nullptr,
1533  const SfxItemSet* pGrfSet = nullptr, const tools::Rectangle& aVisArea = tools::Rectangle() );
1534  SwFlyFrameFormat* InsertOle(SdrOle2Obj &rObject, const SfxItemSet &rFlySet,
1535  const SfxItemSet *rGrfSet);
1536 
1537  bool ImportFormulaControl(WW8FormulaControl &rBox,WW8_CP nStart,
1538  SwWw8ControlType nWhich);
1539 
1540  void ImportDop();
1541 
1542  //This converts MS Asian Typography information into OOo's
1543  void ImportDopTypography(const WW8DopTypography &rTypo);
1544 
1547  ErrCode CoreLoad(WW8Glossary const *pGloss);
1548 
1549  void ReadDocVars();
1550 
1551  bool StartTable(WW8_CP nStartCp);
1552  bool InEqualApo(int nLvl) const;
1553  bool InLocalApo() const { return InEqualApo(m_nInTable); }
1554  bool InEqualOrHigherApo(int nLvl) const;
1555  void TabCellEnd();
1556  void StopTable();
1557  bool IsInvalidOrToBeMergedTabCell() const;
1558 
1559 // Enumerations / lists ( Autonumbered List Data Descriptor )
1560 // list: ANLD ( Autonumbered List Data Descriptor )
1561 // one level: ANLV ( Autonumber Level Descriptor )
1562 
1563 // Chg7-8:
1564 // lists are separate structures in WW8 that are handled via the following three tables:
1565 // rglst, hpllfo and hsttbListNames
1566 // the corresponding structures are: LSTF, LVLF, LFO LFOLVL
1567 
1568  void SetAnlvStrings(SwNumFormat &rNum, WW8_ANLV const &rAV, const sal_uInt8* pText,
1569  size_t nStart, size_t nElements, bool bOutline);
1570  void SetAnld(SwNumRule* pNumR, WW8_ANLD const * pAD, sal_uInt8 nSwLevel, bool bOutLine);
1571  void SetNumOlst( SwNumRule* pNumR, WW8_OLST* pO, sal_uInt8 nSwLevel );
1572  SwNumRule* GetStyRule();
1573 
1574  void StartAnl(const sal_uInt8* pSprm13);
1575  void NextAnlLine(const sal_uInt8* pSprm13);
1576  void StopAllAnl(bool bGoBack = true);
1577  void StopAnlToRestart(sal_uInt8 nType, bool bGoBack = true);
1578 
1579 // graphics layer
1580 
1581  bool ReadGrafStart(void* pData, short nDataSiz, WW8_DPHEAD const * pHd,
1582  SfxAllItemSet &rSet);
1583  SdrObject *ReadLine(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1584  SdrObject *ReadRect(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1585  SdrObject *ReadElipse(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1586  SdrObject *ReadArc(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1587  SdrObject *ReadPolyLine(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1588  void InsertTxbxStyAttrs( SfxItemSet& rS, sal_uInt16 nColl );
1589  void InsertAttrsAsDrawingAttrs(WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType, bool bONLYnPicLocFc=false);
1590 
1591  bool GetTxbxTextSttEndCp(WW8_CP& rStartCp, WW8_CP& rEndCp, sal_uInt16 nTxBxS,
1592  sal_uInt16 nSequence);
1593  sal_Int32 GetRangeAsDrawingString(OUString& rString, long StartCp, long nEndCp, ManTypes eType);
1594  std::unique_ptr<OutlinerParaObject> ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType);
1595  void InsertTxbxText(SdrTextObj* pTextObj, Size const * pObjSiz,
1596  sal_uInt16 nTxBxS, sal_uInt16 nSequence, long nPosCp, SwFrameFormat const * pFlyFormat,
1597  bool bMakeSdrGrafObj, bool& rbEraseTextObj,
1598  bool* pbTestTxbxContainsText = nullptr, long* pnStartCp = nullptr,
1599  long* pnEndCp = nullptr, bool* pbContainsGraphics = nullptr,
1600  SvxMSDffImportRec const * pRecord = nullptr);
1601  bool TxbxChainContainsRealText( sal_uInt16 nTxBxS,
1602  long& rStartCp,
1603  long& rEndCp );
1604  SdrObject *ReadTextBox(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1605  SdrObject *ReadCaptionBox(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1606  SdrObject *ReadGroup(WW8_DPHEAD const * pHd, SfxAllItemSet &rSet);
1607  SdrObject *ReadGrafPrimitive(short& rLeft, SfxAllItemSet &rSet);
1608  void ReadGrafLayer1( WW8PLCFspecial* pPF, long nGrafAnchorCp );
1611  SfxItemSet &rFlySet);
1612  bool MiserableRTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth,
1613  sal_Int16 eHoriOri, sal_Int16 eHoriRel);
1614  SwFrameFormat* Read_GrafLayer( long nGrafAnchorCp );
1616  SdrObject* &rpOurNewObject, SvxMSDffImportRec* pRecord, WW8_FSPA *pF,
1617  SfxItemSet &rFlySet );
1619  SdrObject* &rpOurNewObject, SvxMSDffImportRec const * pRecord,
1620  RndStdIds eAnchor, WW8_FSPA const *pF, SfxItemSet &rFlySet );
1622  long nGrafAnchorCp, SwFrameFormat *pRetFrameFormat);
1623 
1624  void GrafikCtor();
1625  void GrafikDtor();
1626 
1627 // other stuff
1628  OUString GetFieldResult( WW8FieldDesc const * pF );
1629  void MakeTagString( OUString& rStr, const OUString& rOrg );
1630  void UpdateFields();
1631  OUString ConvertFFileName(const OUString& rRaw);
1633  void InsertTagField( const sal_uInt16 nId, const OUString& rTagText );
1634  long ImportExtSprm(WW8PLCFManResult* pRes);
1635  void EndExtSprm(sal_uInt16 nSprmId);
1636  void ReadDocInfo();
1637 
1638 // Ver8 lists
1639 
1640  void RegisterNumFormatOnTextNode(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel,
1641  const bool bSetAttr = true);
1642 
1643  void RegisterNumFormatOnStyle(sal_uInt16 nStyle);
1644  void SetStylesList(sal_uInt16 nStyle, sal_uInt16 nCurrentLFO,
1645  sal_uInt8 nCurrentLevel);
1646  void RegisterNumFormat(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel);
1647 
1648 // to be replaced by calls in the appropriate extended SvxMSDffManager
1649 
1650  const OUString* GetAnnotationAuthor(sal_uInt16 nIdx);
1651 
1652  void GetSmartTagInfo(SwFltRDFMark& rMark);
1653 
1654  // interfaces for the toggle attributes
1655  void SetToggleAttr(sal_uInt8 nAttrId, bool bOn);
1656  void SetToggleBiDiAttr(sal_uInt8 nAttrId, bool bOn);
1657  void ChkToggleAttr_( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask );
1658 
1659  void ChkToggleAttr( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask )
1660  {
1661  if( nOldStyle81Mask != nNewStyle81Mask &&
1662  m_xCtrlStck->GetToggleAttrFlags() )
1663  ChkToggleAttr_( nOldStyle81Mask, nNewStyle81Mask );
1664  }
1665 
1666  void ChkToggleBiDiAttr_( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask );
1667 
1668  void ChkToggleBiDiAttr( sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask )
1669  {
1670  if( nOldStyle81Mask != nNewStyle81Mask &&
1671  m_xCtrlStck->GetToggleBiDiAttrFlags() )
1672  ChkToggleBiDiAttr_( nOldStyle81Mask, nNewStyle81Mask );
1673  }
1674 
1675  void PopTableDesc();
1676  void MoveInsideFly(const SwFrameFormat *pFlyFormat);
1677  SwTwips MoveOutsideFly(SwFrameFormat *pFlyFormat, const SwPosition &rPos,
1678  bool bTableJoin = true);
1679 
1680  void SetOutlineStyles();
1681 
1682  bool SetSpacing(SwPaM &rMyPam, int nSpace, bool bIsUpper);
1683  bool SetUpperSpacing(SwPaM &pMyPam, int nSpace);
1684  bool SetLowerSpacing(SwPaM &rMyPam, int nSpace);
1685 
1686  bool IsInlineEscherHack() const
1687  { return !m_aFieldStack.empty() && m_aFieldStack.back().mnFieldId == 95; };
1688 
1689  void StoreMacroCmds();
1690 
1691  // #i84783#
1692  // determine object attribute "Layout in Table Cell"
1693  bool IsObjectLayoutInTableCell( const sal_uInt32 nLayoutInTableCell ) const;
1694  void ReadGlobalTemplateSettings( const OUString& sCreatedFrom, const css::uno::Reference< css::container::XNameContainer >& xPrjNameMap );
1695  SwWW8ImplReader(const SwWW8ImplReader &) = delete;
1696  SwWW8ImplReader& operator=(const SwWW8ImplReader&) = delete;
1697 public: // really private, but can only be done public
1698  ~SwWW8ImplReader();
1699  sal_uInt16 GetToggleAttrFlags() const;
1700  sal_uInt16 GetToggleBiDiAttrFlags() const;
1701  void SetToggleAttrFlags(sal_uInt16 nFlags);
1702  void SetToggleBiDiAttrFlags(sal_uInt16 nFlags);
1704  bool IsParaEndInCPs(sal_Int32 , sal_Int32,bool bSdOD=true) const;
1705  //Clear the para end position recorded in reader intermittently for the least impact on loading performance
1706  void ClearParaEndPosition();
1707 
1708  long Read_Footnote(WW8PLCFManResult* pRes);
1709  sal_uInt16 End_Footnote();
1710  long Read_Field(WW8PLCFManResult* pRes);
1711  sal_uInt16 End_Field();
1712  long Read_Book(WW8PLCFManResult*);
1713  long Read_And(WW8PLCFManResult* pRes);
1716 
1717  // attributes
1718 
1719  void Read_Special(sal_uInt16, const sal_uInt8*, short nLen);
1720  void Read_Obj(sal_uInt16, const sal_uInt8*, short nLen);
1721  void Read_PicLoc(sal_uInt16, const sal_uInt8* pData, short nLen );
1722  void Read_BoldUsw(sal_uInt16 nId, const sal_uInt8*, short nLen);
1723  void Read_Bidi(sal_uInt16 nId, const sal_uInt8*, short nLen);
1724  void Read_BoldBiDiUsw(sal_uInt16 nId, const sal_uInt8*, short nLen);
1725  void Read_AmbiguousSPRM(sal_uInt16 nId, const sal_uInt8*, short nLen);
1726  void Read_SubSuper( sal_uInt16, const sal_uInt8*, short nLen );
1728  static SwFrameFormat *ContainsSingleInlineGraphic(const SwPaM &rRegion);
1729  void Read_SubSuperProp( sal_uInt16, const sal_uInt8*, short nLen );
1730  void Read_Underline( sal_uInt16, const sal_uInt8*, short nLen );
1731  void Read_TextColor( sal_uInt16, const sal_uInt8*, short nLen );
1732  void openFont(sal_uInt16 nFCode, sal_uInt16 nId);
1733  void closeFont(sal_uInt16 nId);
1734  void Read_FontCode( sal_uInt16, const sal_uInt8*, short nLen );
1735  void Read_FontSize( sal_uInt16, const sal_uInt8*, short nLen );
1736  void Read_CharSet(sal_uInt16 , const sal_uInt8* pData, short nLen);
1737  void Read_Language( sal_uInt16, const sal_uInt8*, short nLen );
1738  void Read_CColl( sal_uInt16, const sal_uInt8*, short nLen );
1739  void Read_Kern( sal_uInt16, const sal_uInt8* pData, short nLen );
1740  void Read_FontKern( sal_uInt16, const sal_uInt8* pData, short nLen );
1741  void Read_Emphasis( sal_uInt16, const sal_uInt8* pData, short nLen );
1742  void Read_ScaleWidth( sal_uInt16, const sal_uInt8* pData, short nLen );
1743  void Read_Relief( sal_uInt16, const sal_uInt8* pData, short nLen);
1744  void Read_TextAnim( sal_uInt16, const sal_uInt8* pData, short nLen);
1745 
1746  void Read_NoLineNumb( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1747 
1748  void Read_LR( sal_uInt16 nId, const sal_uInt8*, short nLen );
1749  void Read_UL( sal_uInt16 nId, const sal_uInt8*, short nLen );
1750  void Read_ParaAutoBefore(sal_uInt16 , const sal_uInt8 *pData, short nLen);
1751  void Read_ParaAutoAfter(sal_uInt16 , const sal_uInt8 *pData, short nLen);
1752  void Read_ParaContextualSpacing( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1753  void Read_LineSpace( sal_uInt16, const sal_uInt8*, short nLen );
1754 
1755  void SetRelativeJustify( bool bRel );
1756  bool IsRelativeJustify();
1757  bool IsRelativeJustify( sal_uInt16 nColl );
1758  void Read_Justify(sal_uInt16, const sal_uInt8*, short nLen);
1759 
1760  void Read_IdctHint(sal_uInt16, const sal_uInt8*, short nLen);
1761  bool IsRightToLeft();
1762  void Read_RTLJustify(sal_uInt16, const sal_uInt8*, short nLen);
1763  void Read_Hyphenation( sal_uInt16, const sal_uInt8* pData, short nLen );
1764  void Read_WidowControl( sal_uInt16, const sal_uInt8* pData, short nLen );
1765  void Read_AlignFont( sal_uInt16, const sal_uInt8* pData, short nLen );
1766  void Read_UsePgsuSettings( sal_uInt16, const sal_uInt8* pData, short nLen );
1767  void Read_KeepLines( sal_uInt16, const sal_uInt8* pData, short nLen );
1768  void Read_KeepParas( sal_uInt16, const sal_uInt8* pData, short nLen );
1769  void Read_BreakBefore( sal_uInt16, const sal_uInt8* pData, short nLen );
1770  void Read_ApoPPC(sal_uInt16, const sal_uInt8* pData, short);
1771 
1772  void Read_BoolItem( sal_uInt16 nId, const sal_uInt8*, short nLen );
1773 
1774  void Read_Border( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1775  void Read_CharBorder(sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1776  void Read_Tab( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1777  void Read_Symbol(sal_uInt16, const sal_uInt8* pData, short nLen);
1778  void Read_FieldVanish( sal_uInt16 nId, const sal_uInt8* pData, short nLen );
1779 
1780  // Revision Marks ( == Redlining )
1781 
1782  // insert or delete content (change char attributes resp.)
1783  void Read_CRevisionMark(RedlineType eType, const sal_uInt8* pData, short nLen);
1784  // insert new content
1785  void Read_CFRMark(sal_uInt16 , const sal_uInt8* pData, short nLen);
1786  // delete old content
1787  void Read_CFRMarkDel(sal_uInt16 , const sal_uInt8* pData, short nLen);
1788  // change properties of content (e.g. char formatting)
1789  void Read_CPropRMark(sal_uInt16 , const sal_uInt8* pData, short nLen); // complex!
1790 
1791  void Read_TabRowEnd( sal_uInt16, const sal_uInt8* pData, short nLen );
1792  void Read_TabCellEnd( sal_uInt16, const sal_uInt8* pData, short nLen );
1793  bool ParseTabPos(WW8_TablePos *aTabPos, WW8PLCFx_Cp_FKP* pPap);
1794  void Read_Shade( sal_uInt16, const sal_uInt8* pData, short nLen );
1795  void Read_ANLevelNo( sal_uInt16, const sal_uInt8* pData, short nLen );
1796  void Read_ANLevelDesc( sal_uInt16, const sal_uInt8* pData, short nLen );
1797 
1798  // outline level Ver8
1799  void Read_POutLvl(sal_uInt16, const sal_uInt8* pData, short nLen);
1800 
1801  void Read_OLST( sal_uInt16, const sal_uInt8* pData, short nLen );
1802 
1803  void Read_CharShadow( sal_uInt16, const sal_uInt8* pData, short nLen );
1804  void Read_CharHighlight( sal_uInt16, const sal_uInt8* pData, short nLen );
1805  // Ver8-Listen
1806 
1807  void Read_ListLevel( sal_uInt16 nId, const sal_uInt8* pData, short nLen);
1808 
1817  void Read_LFOPosition( sal_uInt16 nId, const sal_uInt8* pData, short nLen);
1818  bool SetTextFormatCollAndListLevel(const SwPaM& rRg, SwWW8StyInf& rStyleInfo);
1819 
1820  void Read_StyleCode(sal_uInt16, const sal_uInt8* pData, short nLen);
1821  void Read_Majority(sal_uInt16, const sal_uInt8* , short );
1822  void Read_DoubleLine_Rotate( sal_uInt16, const sal_uInt8* pDATA, short nLen);
1823 
1824  void Read_TextForeColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1825  void Read_TextBackColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1826  void Read_ParaBackColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1827  void Read_ParaBiDi(sal_uInt16, const sal_uInt8* pData, short nLen);
1828  static Color ExtractColour(const sal_uInt8* &rpData, bool bVer67);
1829 
1830  void Read_TextVerticalAdjustment(sal_uInt16, const sal_uInt8* pData, short nLen);
1831  void Read_UnderlineColor(sal_uInt16, const sal_uInt8* pData, short nLen);
1832  long MapBookmarkVariables(const WW8FieldDesc* pF, OUString &rOrigName,
1833  const OUString &rData);
1834  OUString GetMappedBookmark(const OUString &rOrigName);
1835 
1836  // fields
1837  eF_ResT Read_F_Input(WW8FieldDesc*, OUString& rStr);
1838  eF_ResT Read_F_InputVar(WW8FieldDesc*, OUString& rStr);
1839  eF_ResT Read_F_ANumber( WW8FieldDesc*, OUString& );
1840  eF_ResT Read_F_DocInfo( WW8FieldDesc* pF, OUString& rStr );
1841  eF_ResT Read_F_Author( WW8FieldDesc*, OUString& );
1842  eF_ResT Read_F_TemplName( WW8FieldDesc*, OUString& );
1843  SvNumFormatType GetTimeDatePara(OUString const & rStr, sal_uInt32& rFormat, LanguageType &rLang,
1844  int nWhichDefault, bool bHijri = false);
1846  eF_ResT Read_F_DateTime( WW8FieldDesc*, OUString& rStr );
1847  eF_ResT Read_F_FileName( WW8FieldDesc*, OUString& rStr);
1848  eF_ResT Read_F_Num( WW8FieldDesc* pF, OUString& );
1849  eF_ResT Read_F_CurPage( WW8FieldDesc*, OUString& );
1850  eF_ResT Read_F_Ref( WW8FieldDesc* pF, OUString& );
1851 
1852  eF_ResT Read_F_Set( WW8FieldDesc*, OUString& rStr );
1853  eF_ResT Read_F_PgRef( WW8FieldDesc*, OUString& rStr );
1854  eF_ResT Read_F_NoteReference( WW8FieldDesc* pF, OUString& rStr );
1855 
1856  eF_ResT Read_F_Tox( WW8FieldDesc* pF, OUString& rStr );
1857  eF_ResT Read_F_Symbol( WW8FieldDesc*, OUString& rStr );
1858  eF_ResT Read_F_Embedd( WW8FieldDesc*, OUString& rStr );
1859  eF_ResT Read_F_FormTextBox( WW8FieldDesc* pF, OUString& rStr);
1860  eF_ResT Read_F_FormCheckBox( WW8FieldDesc* pF, OUString& rStr );
1861  eF_ResT Read_F_FormListBox( WW8FieldDesc* pF, OUString& rStr);
1862  css::awt::Size MiserableDropDownFormHack(const OUString &rString,
1863  css::uno::Reference<css::beans::XPropertySet> const & rPropSet);
1864 
1865  eF_ResT Read_F_Macro( WW8FieldDesc*, OUString& rStr);
1866  eF_ResT Read_F_DBField( WW8FieldDesc*, OUString& rStr );
1867  eF_ResT Read_F_DBNext( WW8FieldDesc*, OUString& );
1868  eF_ResT Read_F_DBNum( WW8FieldDesc*, OUString& );
1869  eF_ResT Read_F_Equation( WW8FieldDesc*, OUString& );
1871  eF_ResT Read_F_IncludePicture( WW8FieldDesc*, OUString& rStr );
1872  eF_ResT Read_F_IncludeText( WW8FieldDesc*, OUString& rStr );
1873  eF_ResT Read_F_Seq( WW8FieldDesc*, OUString& rStr );
1875  eF_ResT Read_F_Styleref(WW8FieldDesc*, OUString& rStr);
1876 
1877  eF_ResT Read_F_OCX(WW8FieldDesc*, OUString&);
1878  eF_ResT Read_F_Hyperlink(WW8FieldDesc*, OUString& rStr);
1879  eF_ResT Read_F_Shape(WW8FieldDesc* pF, OUString& rStr);
1880  eF_ResT Read_F_HTMLControl( WW8FieldDesc* pF, OUString& rStr);
1881 
1882  short ImportSprm(const sal_uInt8* pPos, sal_Int32 nMemLen, sal_uInt16 nId = 0);
1883 
1884  bool SearchRowEnd(WW8PLCFx_Cp_FKP* pPap,WW8_CP &rStartCp, int nLevel) const;
1886  bool SearchTableEnd(WW8PLCFx_Cp_FKP* pPap) const;
1888 
1889  const WW8Fib& GetFib() const { return *m_xWwFib; }
1890  SwDoc& GetDoc() const { return m_rDoc; }
1891  sal_uInt16 GetCurrentColl() const { return m_nCurrentColl; }
1892  void SetNCurrentColl( sal_uInt16 nColl ) { m_nCurrentColl = nColl; }
1893  std::unique_ptr<SfxItemSet> SetCurrentItemSet(std::unique_ptr<SfxItemSet> pItemSet);
1894  sal_uInt16 StyleUsingLFO( sal_uInt16 nLFOIndex ) const ;
1895  const SwFormat* GetStyleWithOrgWWName( OUString const & rName ) const ;
1896 
1897  static bool GetPictGrafFromStream(Graphic& rGraphic, SvStream& rSrc);
1898  static void PicRead( SvStream *pDataStream, WW8_PIC *pPic, bool bVer67);
1899  static bool ImportOleWMF(const tools::SvRef<SotStorage>& xSrc1, GDIMetaFile& rWMF, long& rX,
1900  long& rY);
1901  static Color GetCol(sal_uInt8 nIco);
1902 
1903  SwWW8ImplReader( sal_uInt8 nVersionPara, SotStorage* pStorage, SvStream* pSt,
1904  SwDoc& rD, const OUString& rBaseURL, bool bNewDoc, bool bSkipImages, SwPosition const &rPos );
1905 
1906  const OUString& GetBaseURL() const { return m_sBaseURL; }
1907  // load a complete doc file
1908  ErrCode LoadDoc(WW8Glossary *pGloss=nullptr);
1909  rtl_TextEncoding GetCurrentCharSet();
1910  rtl_TextEncoding GetCurrentCJKCharSet();
1911  rtl_TextEncoding GetCharSetFromLanguage();
1912  rtl_TextEncoding GetCJKCharSetFromLanguage();
1913 
1914  void PostProcessAttrs();
1915  void ReadEmbeddedData(SvStream& rStrm, SwDocShell const * pDocShell, struct HyperLinksTable& hlStr);
1916  void NotifyMacroEventRead();
1917 };
1918 
1919 bool CanUseRemoteLink(const OUString &rGrfName);
1920 void UseListIndent(SwWW8StyInf &rStyle, const SwNumFormat &rFormat);
1921 void SetStyleIndent(SwWW8StyInf &rStyleInfo, const SwNumFormat &rFormat);
1922 // #i103711#
1923 // #i105414#
1925  const SwNumFormat &rFormat,
1926  const bool bFirstLineOfStSet,
1927  const bool bLeftIndentSet );
1928 long GetListFirstLineIndent(const SwNumFormat &rFormat);
1929 OUString BookmarkToWriter(const OUString &rBookmark);
1930 bool RTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth,
1931  sal_Int16 eHoriOri, sal_Int16 eHoriRel, SwTwips nPageLeft,
1932  SwTwips nPageRight, SwTwips nPageSize);
1934  SfxItemSet &rFlySet);
1935 #endif
1936 
1937 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool HasFrame() const
Definition: ww8par.hxx:983
SwNodeIndex GetPtNode() const
Definition: ww8par.hxx:576
eF_ResT Read_F_Set(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2009
void Read_ListLevel(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par3.cxx:1890
sal_uInt32 GetTextAreaWidth() const
Definition: ww8par2.cxx:164
void GrafikDtor()
Definition: ww8graf.cxx:3215
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:1120
void AdjustLVL(sal_uInt8 nLevel, SwNumRule &rNumRule, WW8aISet const &rListItemSet, WW8aCFormat &aCharFormat, bool &bNewCharFormatCreated, const OUString &aPrefix=OUString())
Definition: ww8par3.cxx:995
SwWW8FltControlStack & operator=(const SwWW8FltControlStack &)=delete
bool const mbAnl
Definition: ww8par.hxx:612
virtual ~WW8FormulaControl()
Definition: ww8par.hxx:685
Type
std::unique_ptr< WW8PLCF_HdFt > m_xHdFt
Definition: ww8par.hxx:1239
WW8_BRCVer9 aDefBrcs[6]
Definition: ww8par.hxx:1034
SwFrameFormat * ImportGraf1(WW8_PIC const &rPic, SvStream *pSt, sal_uLong nFilePos)
Definition: ww8graf2.cxx:403
void Read_Language(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3970
short nLineHeight
Definition: ww8par.hxx:1018
sal_uInt32 m_nFieldFlags
Definition: ww8par.hxx:1270
std::unordered_map< sal_uInt32, Graphic > aOldEscherBlipCache
Definition: ww8par.hxx:756
long ImportExtSprm(WW8PLCFManResult *pRes)
Definition: ww8par6.cxx:5258
sal_uInt16 pgnStart
Definition: ww8struc.hxx:1036
short nCenter[MAX_COL+1]
Definition: ww8par.hxx:1021
const OUString * GetAnnotationAuthor(sal_uInt16 nIdx)
Definition: ww8par.cxx:6078
void EndExtSprm(sal_uInt16 nSprmId)
Definition: ww8par6.cxx:5287
Exporter of the binary Word file formats.
Definition: wrtww8.hxx:987
sal_uInt8 m_nWwNumType
Definition: ww8par.hxx:1302
sal_uInt32 mnObjectId
Definition: ww8par.hxx:748
std::unique_ptr< SwWW8FltControlStack > m_xCtrlStck
Definition: ww8par.hxx:1098
void SetCurrentSectionVerticalAdjustment(const css::drawing::TextVerticalAdjust nVA)
Definition: ww8par2.cxx:123
rtl_TextEncoding m_eLTRFontSrcCharSet
Definition: ww8par.hxx:220
sal_uLong GetIndex() const
Definition: node.hxx:282
WW8_CP GetCurrAttrCP() const
Definition: ww8par.hxx:1703
virtual SwFltStackEntry * SetAttr(const SwPosition &rPos, sal_uInt16 nAttrId, bool bTstEnde=true, long nHand=LONG_MAX, bool consumedByField=false) override
Definition: ww8par.cxx:1189
void SyncIndentWithList(SvxLRSpaceItem &rLR, const SwNumFormat &rFormat, const bool bFirstLineOfStSet, const bool bLeftIndentSet)
Definition: ww8par.cxx:1249
sal_Int32 mnImportedGraphicsCount
Definition: ww8par.hxx:933
SdrObject * ReadPolyLine(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:446
sw::util::CharStyleMapper m_aCharStyleMapper
Definition: ww8par.hxx:1184
static sal_Int32 MatchSdrBoxIntoFlyBoxItem(const Color &rLineColor, MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, sal_Int32 &rLineWidth, SvxBoxItem &rBox)
Definition: ww8graf.cxx:1579
sal_uInt32 GetPageLeft() const
Definition: ww8par2.cxx:149
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:667
static SwFrameFormat * ContainsSingleInlineGraphic(const SwPaM &rRegion)
Definition: ww8par6.cxx:3375
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:829
SdrObject * ReadElipse(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:385
Marks a position in the document model.
Definition: pam.hxx:35
rtl_TextEncoding m_eStructCharSet
Definition: ww8par.hxx:1285
void Read_FieldVanish(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par5.cxx:3663
ErrCode SetSubStreams(tools::SvRef< SotStorageStream > &rTableStream, tools::SvRef< SotStorageStream > &rDataStream)
Definition: ww8par.cxx:5480
SwWw8ControlType
Definition: ww8par.hxx:641
void ReadDocInfo()
Document Info.
Definition: ww8par.cxx:4792
bool InEqualOrHigherApo(int nLvl) const
Definition: ww8par.cxx:6527
bool const mbSymbol
Definition: ww8par.hxx:609
bool m_bNotifyMacroEventRead
Definition: ww8par.hxx:1380
bool m_bLoadingTOXCache
Definition: ww8par.hxx:1362
sal_uInt16 nToggleAttrFlags
Definition: ww8par.hxx:363
OUString const msSeed
Definition: ww8par.hxx:932
eF_ResT Read_F_DateTime(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1791
static sal_uInt32 GetFilterFlags()
Definition: ww8par.cxx:487
std::unique_ptr< WW8RStyle > m_xStyles
Definition: ww8par.hxx:1230
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:1199
SwDoc & m_rDoc
Definition: ww8par.hxx:917
bool TxbxChainContainsRealText(sal_uInt16 nTxBxS, long &rStartCp, long &rEndCp)
Definition: ww8graf.cxx:1230
SdrObject * ReadCaptionBox(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1282
std::unique_ptr< std::vector< OUString > > m_pAtnNames
Definition: ww8par.hxx:1260
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:5746
bool ProcessSpecial(bool &rbReSync, WW8_CP nStartCp)
Definition: ww8par.cxx:2625
static Color ExtractColour(const sal_uInt8 *&rpData, bool bVer67)
Definition: ww8par6.cxx:4935
void Read_HdFtTextAsHackedFrame(WW8_CP nStart, WW8_CP nLen, SwFrameFormat const &rHdFtFormat, sal_uInt16 nPageWidth)
Definition: ww8par.cxx:2183
void NotifyMacroEventRead()
Definition: ww8par.cxx:6595
sal_uInt32 m_nFieldTagAlways[3]
Definition: ww8par.hxx:1271
void StartAnl(const sal_uInt8 *pSprm13)
Definition: ww8par2.cxx:906
bool RTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth, sal_Int16 eHoriOri, sal_Int16 eHoriRel, SwTwips nPageLeft, SwTwips nPageRight, SwTwips nPageSize)
Definition: wrtw8esh.cxx:541
long Read_Book(WW8PLCFManResult *)
Definition: ww8par5.cxx:127
std::stack< std::unique_ptr< sw::util::RedlineStack > > m_aFrameRedlines
Definition: ww8par.hxx:1104
eF_ResT Read_F_Num(WW8FieldDesc *pF, OUString &)
Definition: ww8par5.cxx:1884
void Read_TextBackColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4082
sal_uInt16 End_Field()
Definition: ww8par5.cxx:510
void ReadDef(bool bVer67, const sal_uInt8 *pS, short nLen)
Definition: ww8par2.cxx:1101
OUString msMarkType
Definition: ww8par.hxx:563
sal_uInt32 GetWWPageTopMargin() const
Definition: ww8par2.cxx:169
sw::util::AuthorInfos m_aAuthorInfos
Definition: ww8par.hxx:1264
void Read_ApoPPC(sal_uInt16, const sal_uInt8 *pData, short)
Definition: ww8par6.cxx:5206
SwNumRule * m_pOutlineNumrule
Definition: ww8par.hxx:225
sal_uInt16 mnDesc
Definition: ww8par.hxx:832
size_t GetWW8LSTInfoNum() const
Definition: ww8par.hxx:158
SotStorage * m_pStg
Definition: ww8par.hxx:1088
bool const mbPgSecBreak
Definition: ww8par.hxx:614
bool SearchRowEnd(WW8PLCFx_Cp_FKP *pPap, WW8_CP &rStartCp, int nLevel) const
Definition: ww8par2.cxx:330
void delete_all_from_doc()
Definition: ww8par.cxx:4712
void Read_CColl(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4004
virtual bool IsParaEndInCPs(sal_Int32 nStart, sal_Int32 nEnd, bool bSdOD) const override
Definition: ww8par.cxx:1310
bool m_bListReleventIndentSet
Definition: ww8par.hxx:249
void Read_CFRMark(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:534
SwFrameFormat * MungeTextIntoDrawBox(SvxMSDffImportRec *pRecord, long nGrafAnchorCp, SwFrameFormat *pRetFrameFormat)
Definition: ww8graf.cxx:2868
std::deque< WW8FieldEntry > maOldFieldStack
Definition: ww8par.hxx:595
wwSection(const SwPosition &rPos)
Definition: ww8par6.cxx:806
sal_uInt8 fTitlePage
Definition: ww8struc.hxx:1000
void SetBookmarkType(const OUString &bookmarkType)
Definition: ww8par5.cxx:757
virtual bool ReadGlossaries(SwTextBlocks &, bool bSaveRelFiles) const override
Definition: ww8par.cxx:6416
void ReadGrafLayer1(WW8PLCFspecial *pPF, long nGrafAnchorCp)
Definition: ww8graf.cxx:1443
ANLDRuleMap m_aANLDRules
Definition: ww8par.hxx:1248
sal_uInt16 m_nProgress
Definition: ww8par.hxx:1287
void Read_SubSuperProp(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3440
std::set< SwTextNode *, SwWW8::ltnode > m_aTextNodes
Definition: ww8par.hxx:916
static bool SetBorder(SvxBoxItem &rBox, const WW8_BRCVer9 *pbrc, short *pSizeArray=nullptr, sal_uInt8 nSetBorders=0xFF)
Definition: ww8par6.cxx:1491
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:4485
void StoreMacroCmds()
Definition: ww8par.cxx:4725
void simpleAddTextToParagraph(const OUString &rAddString)
Definition: ww8par.cxx:3435
eF_ResT Read_F_InputVar(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1374
sal_Int16 nLoMgn
Definition: ww8par.hxx:197
eF_ResT Read_F_Author(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1772
void Read_Bidi(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3065
void SetHdFt(wwSection const &rSection, int nSect, const wwSection *pPrevious)
Definition: ww8par.cxx:2384
SwPaM *const mpPreviousNumPaM
Definition: ww8par.hxx:602
void MatchSdrItemsIntoFlySet(SdrObject const *pSdrObj, SfxItemSet &aFlySet, MSO_LineStyle eLineStyle, MSO_LineDashing eDashing, MSO_SPT eShapeType, tools::Rectangle &rInnerDist)
Definition: ww8graf.cxx:1664
SwFieldType * m_pNumFieldType
Definition: ww8par.hxx:1256
std::vector< sal_uInt8 > bytes
Definition: types.hxx:29
rtl_TextEncoding GetCharSetFromLanguage()
Definition: ww8par.cxx:2790
rtl_TextEncoding m_eCJKFontSrcCharSet
Definition: ww8par.hxx:222
rtl_TextEncoding GetCharSet() const
Definition: ww8par2.cxx:4554
void Read_BoolItem(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4602
bool mbHasFootnote
Definition: ww8par.hxx:799
bool m_bParaAutoBefore
Definition: ww8par.hxx:254
void DeleteCtrlStack()
Definition: ww8par.hxx:1404
sal_uIntPtr sal_uLong
bool IsObjectLayoutInTableCell(const sal_uInt32 nLayoutInTableCell) const
Definition: ww8graf.cxx:2463
sal_Int16 nSp28
Definition: ww8par.hxx:196
SwNodeIndex maPtNode
Definition: ww8par.hxx:545
void SetNCurrentColl(sal_uInt16 nColl)
Definition: ww8par.hxx:1892
bool m_bHasStyNumRule
Definition: ww8par.hxx:247
SwNumRule * GetNumRule(const SwDoc &rDoc, sal_uInt8 nNumType)
Definition: ww8par2.cxx:888
wwFrameNamer m_aGrfNameGenerator
Definition: ww8par.hxx:1178
sal_uInt8 mfType
Definition: ww8par.hxx:668
void Read_HdFtText(WW8_CP nStartCp, WW8_CP nLen, SwFrameFormat const *pHdFtFormat)
Definition: ww8par.cxx:2232
Base class of all fields.
Definition: fldbas.hxx:280
OUString maNameStr
Definition: ww8par.hxx:528
std::unique_ptr< SwWW8FltRefStack > m_xReffingStck
Definition: ww8par.hxx:1120
wwExtraneousParas m_aExtraneousParas
Definition: ww8par.hxx:1157
static void AdjustLRWrapForWordMargins(const SvxMSDffImportRec &rRecord, SvxLRSpaceItem &rLR)
Definition: ww8graf.cxx:1923
void MakeTagString(OUString &rStr, const OUString &rOrg)
Definition: ww8par5.cxx:1052
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:1948
bool const m_bNewDoc
Definition: ww8par.hxx:1305
long MapBookmarkVariables(const WW8FieldDesc *pF, OUString &rOrigName, const OUString &rData)
Definition: ww8par5.cxx:1295
bool GetFontParams(sal_uInt16, FontFamily &, OUString &, FontPitch &, rtl_TextEncoding &)
Definition: ww8par6.cxx:3651
virtual SwReaderType GetReaderType() override
Definition: ww8par.cxx:6406
void SetAttributesAtGrfNode(SvxMSDffImportRec const *pRecord, SwFrameFormat const *pFlyFormat, WW8_FSPA const *pF)
Definition: ww8graf.cxx:2116
sal_uInt32 nPgWidth
Definition: ww8par.hxx:793
bool FloatingTableConversion(WW8PLCFx_Cp_FKP *pPap)
Definition: ww8par.cxx:2541
static sal_Int32 GetEscherLineMatch(MSO_LineStyle eStyle, MSO_SPT eShapeType, sal_Int32 &rThick)
Definition: ww8graf.cxx:1521
Definition: doc.hxx:185
const OUString & GetTarFrame() const
Definition: ww8par.hxx:519
#define MAX_COL
Definition: ww8par.hxx:1007
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:1024
WW8PLCFxSaveAll maPLCFxSave
Definition: ww8par.hxx:592
bool m_bWasTabCellEnd
Definition: ww8par.hxx:1317
std::unique_ptr< WW8FlyPara > m_xWFlyPara
Definition: ww8par.hxx:1241
void Read_Underline(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3480
std::shared_ptr< WW8Fib > m_xWwFib
Definition: ww8par.hxx:1219
bool StyleExists(unsigned int nColl) const
Definition: ww8par.hxx:1384
void Read_TextVerticalAdjustment(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4954
OUString msEntryMcr
Definition: ww8par.hxx:682
sal_uInt16 m_nFollow
Definition: ww8par.hxx:228
SwCharFormat * WW8aCFormat[nMaxLevel]
Definition: ww8par.hxx:179
long Read_Footnote(WW8PLCFManResult *pRes)
Definition: ww8par2.cxx:293
bool HasTitlePage() const
Definition: ww8par.hxx:806
ManTypes meType
Definition: ww8par.hxx:965
std::unique_ptr< EditEngine > m_pDrawEditEngine
Definition: ww8par.hxx:1253
void SetToggleAttr(sal_uInt8 nId, bool bOn)
Definition: ww8par.hxx:389
void InsertFormula(WW8FormulaControl &rFormula)
Definition: ww8par3.cxx:2096
static void GetBorderDistance(const WW8_BRCVer9 *pbrc, tools::Rectangle &rInnerDist)
Definition: ww8par6.cxx:1551
RndStdIds ProcessEscherAlign(SvxMSDffImportRec *pRecord, WW8_FSPA *pFSPA, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:2246
sal_uInt8 mnWW8OutlineLevel
Definition: ww8par.hxx:238
std::unique_ptr< WW8TabDesc > m_xTableDesc
Definition: ww8par.hxx:1244
void Read_POutLvl(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:2879
std::unique_ptr< SwPaM > m_pPosAfterTOC
Definition: ww8par.hxx:1367
long Read_AtnBook(WW8PLCFManResult *)
Definition: ww8par5.cxx:243
SdrPage * m_pDrawPg
Definition: ww8par.hxx:1252
std::unique_ptr< WW8ListManager, o3tl::default_delete< WW8ListManager > > m_xLstManager
Definition: ww8par.hxx:1222
long SwTwips
Definition: swtypes.hxx:49
OUString msDefault
Definition: ww8par.hxx:677
bool CanUseRemoteLink(const OUString &rGrfName)
Definition: ww8par5.cxx:2380
sal_Int16 nUpMgn
Definition: ww8par.hxx:197
bool m_bNoLnNumYet
Definition: ww8par.hxx:1348
sal_uInt32 m_nIniFlags
Definition: ww8par.hxx:1268
SwPageDesc * mpPage
Definition: ww8par.hxx:790
sal_uInt32 GetTextAreaWidth() const
Definition: ww8par.hxx:811
bool IsBiDi() const
Definition: ww8par.hxx:809
WW8_CP const mnCpStart
Definition: ww8par.hxx:999
SvxFrameDirection
rtl_TextEncoding GetCJKCharSet() const
Definition: ww8par2.cxx:4561
std::unique_ptr< SwMSDffManager > m_xMSDffManager
Definition: ww8par.hxx:1258
const SfxPoolItem * GetFormatAttr(sal_uInt16 nWhich)
Definition: ww8par6.cxx:2792
bool m_bInHyperlink
Definition: ww8par.hxx:1334
void Read_OLST(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:858
void StopAnlToRestart(sal_uInt8 nType, bool bGoBack=true)
Definition: ww8par2.cxx:1049
Dialog to specify the properties of date form field.
bool const m_bSkipImages
Definition: ww8par.hxx:1306
sal_Int32 m_nIniFlyDy
Definition: ww8par.hxx:1282
WW8FlyPara * mpStyleApo
Definition: ww8par.hxx:978
void ProcessSprmTDelete(const sal_uInt8 *pParamsTDelete)
Definition: ww8par2.cxx:1528
sal_uInt16 m_n81BiDiFlags
Definition: ww8par.hxx:241
void MoveInsideFly(const SwFrameFormat *pFlyFormat)
Definition: ww8par6.cxx:2273
short mnDefaultBottom
Definition: ww8par.hxx:1016
WW8FormulaCheckBox & operator=(const WW8FormulaCheckBox &)=delete
std::unique_ptr< WW8SmartTagData > m_pSmartTagData
Definition: ww8par.hxx:1262
sal_uInt32 GetPageWidth() const
Definition: ww8par.hxx:810
rtl_TextEncoding GetCurrentCJKCharSet()
Definition: ww8par.cxx:2852
void CloseAttrEnds()
CloseAttrEnds to only read the attribute ends at the end of a text or a text area (Header...
Definition: ww8par.cxx:4015
void HandleLineNumbering(const wwSection &rSection)
Definition: ww8par6.cxx:759
void insert(SwTextNode *pTextNode)
Definition: ww8par.hxx:925
eF_ResT Read_F_Macro(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2276
bool const mbWasParaEnd
Definition: ww8par.hxx:615
std::unique_ptr< sw::util::RedlineStack > mxOldRedlines
Definition: ww8par.hxx:598
wwSectionManager & operator=(const wwSectionManager &)=delete
SwWW8ImplReader & rReader
Definition: ww8par.hxx:361
#define OK
const WW8Fib & GetFib() const
Definition: ww8par.hxx:1889
bool JoinNode(SwPaM &rPam, bool bStealAttr=false)
Definition: ww8par6.cxx:2503
bool m_bRegardHindiDigits
Definition: ww8par.hxx:1273
SwNumRule * GetNumRule(size_t i)
Definition: ww8par3.cxx:1123
void SetCurrentSectionHasFootnote()
Definition: ww8par2.cxx:115
sal_Int32 dyaTop
Definition: ww8struc.hxx:1050
bool m_bPgSecBreak
Definition: ww8par.hxx:1308
WW8FormulaCheckBox(const WW8FormulaCheckBox &)=delete
void TabCellEnd()
Definition: ww8par2.cxx:3495
bool ConvertSubToGraphicPlacement()
Definition: ww8par6.cxx:3408
void Read(sal_uInt8 nSprm29, WW8PLCFx_Cp_FKP *pPap)
Definition: ww8par6.cxx:1678
void PopTableDesc()
Definition: ww8par2.cxx:3516
WW8_SHD * pSHDs
Definition: ww8par.hxx:1032
sal_uInt8 fBiDi
Definition: ww8struc.hxx:1058
sal_uInt16 mhpsCheckBox
Definition: ww8par.hxx:671
bool IsRightToLeft()
Definition: ww8par6.cxx:4540
SwFrameFormat * ImportOle(const Graphic *=nullptr, const SfxItemSet *pFlySet=nullptr, const SfxItemSet *pGrfSet=nullptr, const tools::Rectangle &aVisArea=tools::Rectangle())
Definition: ww8par4.cxx:246
bool StartTable(WW8_CP nStartCp)
Definition: ww8par2.cxx:3375
eF_ResT Read_F_Shape(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:3482
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:1475
bool bExist[MAX_COL]
Definition: ww8par.hxx:1036
void ReadShd(const sal_uInt8 *pS)
Definition: ww8par2.cxx:1574
eF_ResT Read_F_Seq(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1444
void ReadFull(sal_uInt8 nSprm29, SwWW8ImplReader *pIo)
Definition: ww8par6.cxx:1729
rtl_TextEncoding m_eHardCharSet
Definition: ww8par.hxx:1286
wwFrameNamer & operator=(wwFrameNamer const &)=delete
bool ImportFormulaControl(WW8FormulaControl &rBox, WW8_CP nStart, SwWw8ControlType nWhich)
Definition: ww8par3.cxx:2042
void Read_ANLevelDesc(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:785
bool InLocalApo() const
Definition: ww8par.hxx:1553
rtl_TextEncoding m_eRTLFontSrcCharSet
Definition: ww8par.hxx:221
bool m_bHasSprm37
Definition: ww8par.hxx:975
static LanguageType nLang
Definition: srtdlg.cxx:60
bool IsFixedHeightFooter() const
Definition: ww8par.hxx:818
const OUString & GetHlink() const
Definition: ww8par.hxx:517
void CreateSep(const long nTextPos)
Definition: ww8par6.cxx:839
void RegisterNumFormat(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel)
Definition: ww8par3.cxx:1881
static void SetNumberingType(const wwSection &rNewSection, SwPageDesc &rPageDesc)
Definition: ww8par6.cxx:819
void SetSegmentToPageDesc(const wwSection &rSection, bool bIgnoreCols)
Definition: ww8par.cxx:4370
SwTwips MoveOutsideFly(SwFrameFormat *pFlyFormat, const SwPosition &rPos, bool bTableJoin=true)
Definition: ww8par6.cxx:2288
virtual sal_Int32 GetCurrAttrCP() const override
Definition: ww8par.cxx:1305
SwFlyFrameFormat * InsertOle(SdrOle2Obj &rObject, const SfxItemSet &rFlySet, const SfxItemSet *rGrfSet)
Definition: ww8par4.cxx:202
std::unique_ptr< sw::util::RedlineStack > m_xRedlineStack
Definition: ww8par.hxx:1105
WW8LSTInfo * GetLSTByListId(sal_uInt32 nIdLst) const
Definition: ww8par3.cxx:471
void Read_ParaContextualSpacing(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4473
sal_uInt8 mfDropdownIndex
Definition: ww8par.hxx:665
virtual bool Import(const css::uno::Reference< css::lang::XMultiServiceFactory > &, css::uno::Reference< css::form::XFormComponent > &, css::awt::Size &) override
Definition: ww8par.hxx:729
SvxFrameDirection meDir
Definition: ww8par.hxx:791
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:4977
std::deque< FootnoteDescriptor > m_aFootnoteStack
Definition: ww8par.hxx:1145
void SetLeftRight(wwSection &rSection)
Definition: ww8par6.cxx:467
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:1934
void Read_ParaAutoAfter(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4401
sal_uInt8 mfUnknown
Definition: ww8par.hxx:664
sal_Int32 StandardColSeparation() const
Definition: ww8par.hxx:805
SwWW8ReferencedFltEndStack(SwDoc *pDo, sal_uLong nFieldFl)
Definition: ww8par.hxx:457
const SwNumRule * m_pPrevNumRule
Definition: ww8par.hxx:1202
wwSectionManager(SwWW8ImplReader &rReader)
Definition: ww8par.hxx:879
void emulateMSWordAddTextToParagraph(const OUString &rAddString)
Definition: ww8par.cxx:3285
sal_uInt16 sal_Unicode
void GetSmartTagInfo(SwFltRDFMark &rMark)
Definition: ww8par.cxx:6114
bool HasOwnHeaderFooter(sal_uInt8 nWhichItems, sal_uInt8 grpfIhdt, int nSect)
Definition: ww8par.cxx:2251
Stores RDF statements on a paragraph (key-value pairs where the subject is the paragraph).
Definition: fltshell.hxx:259
OUString msExitMcr
Definition: ww8par.hxx:683
sal_uInt16 GetWWStyleId() const
Definition: ww8par.hxx:322
void Read_Relief(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4702
SwMacroInfo & operator=(SwMacroInfo const &)=delete
bool m_bParaAutoAfter
Definition: ww8par.hxx:255
bool IsInlineEscherHack() const
Definition: ww8par.hxx:1686
bool const mbTxbxFlySection
Definition: ww8par.hxx:611
short m_nDrawYOfs2
Definition: ww8par.hxx:1295
MSO_LineDashing
sal_uInt16 mnFieldId
Definition: ww8par.hxx:569
void Read_Kern(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4034
sal_uInt16 mnChecked
Definition: ww8par.hxx:672
MSO_SPT
std::unique_ptr< SwWW8ReferencedFltEndStack > m_xReffedStck
Definition: ww8par.hxx:1112
std::unique_ptr< SfxItemSet > m_xScratchSet
Definition: ww8par.hxx:362
sal_uLong mnObjLocFc
Definition: ww8par.hxx:570
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:508
sal_Int32 m_nDropCap
Definition: ww8par.hxx:1357
std::shared_ptr< WW8FlyPara > m_xWWFly
Definition: ww8par.hxx:224
std::vector< SwWW8StyInf > m_vColl
Definition: ww8par.hxx:1235
void ProcessCurrentCollChange(WW8PLCFManResult &rRes, bool *pStartAttr, bool bCallProcessSpecial)
Definition: ww8par.cxx:3794
void SetRelativeJustify(bool bRel)
Definition: ww8par6.cxx:316
void Read_Shade(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4884
SwFormat * m_pStandardFormatColl
Definition: ww8par.hxx:1237
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:3085
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:4374
SwMSConvertControls(SfxObjectShell const *pDSh, SwPaM *pP)
Definition: wrtw8esh.cxx:3011
std::unique_ptr< SfxItemSet > WW8aISet[nMaxLevel]
Definition: ww8par.hxx:177
bool mbHasSpacing
Definition: ww8par.hxx:1017
bool m_bImportSkipped
Definition: ww8par.hxx:246
eF_ResT Read_F_DBNum(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:2611
std::unique_ptr< SwPosition > m_pLastAnchorPos
Definition: ww8par.hxx:1371
WW8_BRCVer9_5 brc
Definition: ww8par.hxx:200
void Read_Obj(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:2839
wwSectionNamer & operator=(const wwSectionNamer &)=delete
SvStream * m_pStrm
Definition: ww8par.hxx:1089
void DeleteAnchorStack()
Definition: ww8par.hxx:1413
const SwTextFormatColl * m_pDfltTextFormatColl
Definition: ww8par.hxx:1236
const sal_uInt8 MAXLEVEL
Definition: swtypes.hxx:95
sw::util::ParaStyleMapper m_aParaStyleMapper
Definition: ww8par.hxx:1183
bool m_bWWBugNormal
Definition: ww8par.hxx:1332
virtual bool CheckSdOD(sal_Int32 nStart, sal_Int32 nEnd) override
Definition: ww8par.cxx:1327
WW8FormulaListBox(const WW8FormulaListBox &)=delete
SwSectionFormat * InsertSection(SwPaM const &rMyPaM, wwSection &rSection)
Definition: ww8par6.cxx:702
void Read_Justify(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4503
virtual bool HasGlossaries() const override
Definition: ww8par.cxx:6411
sal_uInt32 GetPageLeft() const
Definition: ww8par.hxx:814
SwWW8FltRefStack(SwDoc *pDo, sal_uLong nFieldFl)
Definition: ww8par.hxx:473
void Read_Hyphenation(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5091
cp_set m_aTOXEndCps
Definition: ww8par.hxx:1375
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:1319
void ReadNewShd(const sal_uInt8 *pS, bool bVer67)
Definition: ww8par2.cxx:1595
sal_uInt32 nPgRight
Definition: ww8par.hxx:795
static bool GetPictGrafFromStream(Graphic &rGraphic, SvStream &rSrc)
Definition: ww8graf2.cxx:227
void SetBookmarkCode(const OUString &bookmarkCode)
Definition: ww8par5.cxx:762
void InsertTxbxStyAttrs(SfxItemSet &rS, sal_uInt16 nColl)
Definition: ww8graf.cxx:513
void ProcessSpecificSpacing(const sal_uInt8 *pParamsTInsert)
Definition: ww8par2.cxx:1496
eF_ResT Read_F_IncludeText(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2489
const SwDoc & mrDoc
Definition: ww8par.hxx:950
short m_nDrawXOfs2
Definition: ww8par.hxx:1295
std::set< const SwNode * > m_aTextNodesHavingFirstLineOfstSet
Definition: ww8par.hxx:1227
OUString msFormatting
Definition: ww8par.hxx:678
sal_uInt16 m_n81Flags
Definition: ww8par.hxx:240
::sw::mark::IFieldmark::parameter_map_t maParams
Definition: ww8par.hxx:565
void GrafikCtor()
Definition: ww8graf.cxx:3193
eF_ResT
Definition: ww8par.hxx:624
SwFrameFormat * m_pFormatOfJustInsertedApo
Definition: ww8par.hxx:1200
WW8_CP const mnCpEnd
Definition: ww8par.hxx:1000
void SetUniqueGraphName(SwFrameFormat *pFrameFormat, const OUString &rFixedPart)
Definition: ww8graf.cxx:181
sal_uInt8 mfUnused
Definition: ww8par.hxx:669
void Read_TextColor(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3571
bool m_bLoadingTOXHyperlink
Definition: ww8par.hxx:1365
sal_uInt8 bkc
Definition: ww8struc.hxx:999
bool operator==(const WW8FlyPara &rSrc) const
Definition: ww8par6.cxx:1655
std::map< OUString, OUString, SwWW8::ltstr > aFieldVarNames
Definition: ww8par.hxx:482
void ProcessSprmTDxaCol(const sal_uInt8 *pParamsTDxaCol)
Definition: ww8par2.cxx:1342
SwFltStackEntry * RefToVar(const SwField *pField, SwFltStackEntry &rEntry)
Definition: ww8par5.cxx:1335
static sal_uInt8 nTablePos
Definition: basesh.cxx:132
eF_ResT Read_F_PgRef(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2178
SvStream & rSt
Definition: ww8par.hxx:164
OUString const m_sBaseURL
Definition: ww8par.hxx:1265
bool StartApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:2416
void Read_FontKern(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4045
bool m_bDrawCpOValid
Definition: ww8par.hxx:1275
void Swap(WW8FieldEntry &rOther)
Definition: ww8par5.cxx:738
void DisableFallbackStream()
Definition: ww8par.cxx:557
void Read_ScaleWidth(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4688
WW8_TCell * pTCs
Definition: ww8par.hxx:1029
bool IsNotProtected() const
Definition: ww8par.hxx:802
OUString maTarFrame
Definition: ww8par.hxx:529
SwWW8ImplReader(const SwWW8ImplReader &)=delete
bool m_bParaAutoAfter
Definition: ww8par.hxx:1354
Base class for various Writer styles.
Definition: format.hxx:43
#define SAL_N_ELEMENTS(arr)
sal_uInt16 GetCurrentColl() const
Definition: ww8par.hxx:1891
wwSectionManager(const wwSectionManager &)=delete
void Read_CFRMarkDel(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:540
void Read_Symbol(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:2912
void SetStylesList(sal_uInt16 nStyle, sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel)
Definition: ww8par3.cxx:1710
void Read_KeepParas(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5189
WW8_BRCVer9 brc[4]
Definition: ww8par.hxx:787
WW8_CP Read_F_Tag(WW8FieldDesc *pF)
Definition: ww8par5.cxx:1145
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:2468
void ExportControl(WW8Export &rWrt, const SdrUnoObj &rFormObj)
Definition: wrtw8esh.cxx:3033
void Read_SubF_Ruby(msfilter::util::WW8ReadFieldParams &rReadParam)
Definition: ww8par5.cxx:2659
bool mbStartApo
Definition: ww8par.hxx:973
std::set< const SwNode * > m_aTextNodesHavingLeftIndentSet
Definition: ww8par.hxx:1228
sal_uInt16 m_nFieldNum
Definition: ww8par.hxx:1289
void Read_CharBorder(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5049
void StopAllAnl(bool bGoBack=true)
Definition: ww8par2.cxx:1042
OUString m_sWWStyleName
Definition: ww8par.hxx:217
long Read_FactoidBook(WW8PLCFManResult *)
Definition: ww8par5.cxx:255
bool m_bFirstParaOfPage
Definition: ww8par.hxx:1352
sal_Int32 m_nIniFlyDx
Definition: ww8par.hxx:1281
eF_ResT Read_F_FormCheckBox(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par3.cxx:183
WW8FlyPara(bool bIsVer67, const WW8FlyPara *pSrc=nullptr)
Definition: ww8par6.cxx:1632
eF_ResT Read_F_DBField(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2557
PaM is Point and Mark: a selection of the document model.
Definition: pam.hxx:136
void SetDirection()
Definition: ww8par6.cxx:168
void PrependedInlineNode(const SwPosition &rPos, const SwNode &rNode)
Definition: ww8par2.cxx:2379
sal_uInt16 GetToggleAttrFlags() const
Definition: ww8par.hxx:397
std::unique_ptr< wwZOrderer > m_xWWZOrder
Definition: ww8par.hxx:1254
eF_ResT Read_F_TemplName(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1782
bool CurrentSectionIsProtected() const
Definition: ww8par2.cxx:140
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:479
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:6099
ApoTestResults TestApo(int nCellLevel, bool bTableRowEnd, const WW8_TablePos *pTabPos)
Definition: ww8par2.cxx:423
OUString msHelp
Definition: ww8par.hxx:680
void MatchEscherMirrorIntoFlySet(const SvxMSDffImportRec &rRecord, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:3069
OUString tarFrame
Definition: ww8par.hxx:535
sal_Int32 GetPtContent() const
Definition: ww8par.hxx:552
eF_ResT Read_F_Symbol(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1909
SEPr maSep
Definition: ww8par.hxx:786
sal_uInt16 TabRowSprm(int nLevel) const
Definition: ww8par.cxx:2513
Style of a layout element.
Definition: frmfmt.hxx:57
static bool IsBorder(const WW8_BRCVer9 *pbrc, bool bChkBtwn=false)
Definition: ww8par6.cxx:1486
void CopyPageDescHdFt(const SwPageDesc *pOrgPageDesc, SwPageDesc *pNewPageDesc, sal_uInt8 nCode)
Definition: ww8par6.cxx:1251
bool TestSameApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:2726
void Read_UL(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4429
sal_uInt16 m_nCurrentColl
Definition: ww8par.hxx:1288
void SetOutlineStyles()
Definition: ww8par.cxx:5940
wwSectionManager m_aSectionManager
Definition: ww8par.hxx:1150
bool HasWW8OutlineLevel() const
Definition: ww8par.hxx:305
short m_nCharFormat
Definition: ww8par.hxx:1292
SwDoc & m_rDoc
Definition: ww8par.hxx:1094
void EnableFallbackStream()
Definition: ww8par.cxx:567
bool m_bNoAttrImport
Definition: ww8par.hxx:1333
void SetShapeId(sal_Int32 rShapeId)
Definition: ww8par.hxx:520
wwFrameNamer(bool bIsDisabled, const OUString &rSeed)
Definition: ww8par.hxx:941
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:1223
void SetToggleAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.cxx:585
class SAL_NO_VTABLE XPropertySet
std::unique_ptr< SfxItemSet > SetCurrentItemSet(std::unique_ptr< SfxItemSet > pItemSet)
Definition: ww8par.cxx:6588
void Read_Majority(sal_uInt16, const sal_uInt8 *, short)
Read_Majority is for Majority (103) and Majority50 (108)
Definition: ww8par.cxx:1168
std::map< short, OUString > m_aLinkStringMap
Definition: ww8par.hxx:1225
bool ReadText(WW8_CP nStartCp, WW8_CP nTextLen, ManTypes nType)
Definition: ww8par.cxx:4033
void DeleteStack(std::unique_ptr< SwFltControlStack > prStck)
Definition: ww8par.cxx:4357
void ClearParaEndPosition()
Definition: ww8par.cxx:3975
void Read_StyleCode(sal_uInt16, const sal_uInt8 *pData, short nLen)
Special FastSave - Attributes.
Definition: ww8par.cxx:1146
bool GetTxbxTextSttEndCp(WW8_CP &rStartCp, WW8_CP &rEndCp, sal_uInt16 nTxBxS, sal_uInt16 nSequence)
Definition: ww8graf.cxx:807
eF_ResT Read_F_FileName(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1854
bool IsWW8BuiltInDefaultStyle() const
Definition: ww8par.hxx:332
sal_uInt8 fUnlocked
Definition: ww8struc.hxx:1003
short nGapHalf
Definition: ww8par.hxx:1012
cp_vector m_aEndParaPos
Definition: ww8par.hxx:1377
sal_uInt8 mfToolTip
Definition: ww8par.hxx:666
long m_nFilePos
Definition: ww8par.hxx:226
OUString msTitle
Definition: ww8par.hxx:676
SwFormat * m_pFormat
Definition: ww8par.hxx:223
void Read_HdFt(int nSect, const SwPageDesc *pPrev, const wwSection &rSection)
Definition: ww8par.cxx:2280
void ImportDop()
DOP.
Definition: ww8par.cxx:1806
SwFrameFormat * AddAutoAnchor(SwFrameFormat *pFormat)
Definition: ww8graf.cxx:2853
void Read_AmbiguousSPRM(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3144
sal_Int16 NoCols() const
Definition: ww8par.hxx:804
std::unique_ptr< OutlinerParaObject > ImportAsOutliner(OUString &rString, WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType)
Definition: ww8graf.cxx:971
void SetAnld(SwNumRule *pNumR, WW8_ANLD const *pAD, sal_uInt8 nSwLevel, bool bOutLine)
Definition: ww8par2.cxx:703
bool IsListOrDropcap() const
Definition: ww8par.hxx:1495
SdrObject * ReadRect(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:362
bool ReadPlainChars(WW8_CP &rPos, sal_Int32 nEnd, sal_Int32 nCpOfs)
Return value: true for non special chars.
Definition: ww8par.cxx:3012
void Read_ANLevelNo(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:741
void Read_WidowControl(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5114
std::unique_ptr< SwMSConvertControls > m_xFormImpl
Definition: ww8par.hxx:1197
std::shared_ptr< SvxLRSpaceItem > maWordLR
Definition: ww8par.hxx:242
bool const mbIgnoreText
Definition: ww8par.hxx:608
sal_uInt16 m_nLFOIndex
Definition: ww8par.hxx:229
static sal_uInt16 GetParagraphAutoSpace(bool fDontUseHTMLAutoSpacing)
Definition: ww8par6.cxx:4366
SwWW8Shade(Color nFore, Color nBack, sal_uInt16 nIndex)
Definition: ww8par.hxx:631
rtl_TextEncoding GetCurrentCharSet()
Definition: ww8par.cxx:2826
virtual ~SwMacroInfo() override
Definition: ww8par.cxx:6579
void StopTable()
Definition: ww8par2.cxx:3531
long GetListFirstLineIndent(const SwNumFormat &rFormat)
Definition: ww8par.cxx:1214
SwWW8FltAnchorStack(SwDoc *pDo, sal_uLong nFieldFl)
Definition: ww8par.hxx:425
void SetNumOlst(SwNumRule *pNumR, WW8_OLST *pO, sal_uInt8 nSwLevel)
Definition: ww8par2.cxx:836
static void StripNegativeAfterIndent(SwFrameFormat const *pFlyFormat)
Definition: ww8par6.cxx:2562
std::unique_ptr< SwWW8FltAnchorStack > mxOldAnchorStck
Definition: ww8par.hxx:597
void Read_BoldUsw(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:2961
void RegisterNumFormatOnStyle(sal_uInt16 nStyle)
Definition: ww8par3.cxx:1743
rtl_TextEncoding m_eTextCharSet
Definition: ww8par.hxx:1284
virtual SdrObject * ProcessObj(SvStream &rSt, DffObjData &rObjData, SvxMSDffClientData &rData, tools::Rectangle &rTextRect, SdrObject *pObj) override
Definition: ww8par.cxx:597
std::unique_ptr< WW8TabDesc > mxTableDesc
Definition: ww8par.hxx:604
sal_uInt8 transCell(sal_uInt8 nWwCol) const
Definition: ww8par.hxx:1039
void NewAttr(const SfxPoolItem &rAttr, const bool bFirstLineOfStSet=false, const bool bLeftIndentSet=false)
Definition: ww8par6.cxx:2750
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:518
void AppendTextNode(SwPosition &rPos)
Definition: ww8par.cxx:2405
WW8TabBandDesc * pNextBand
Definition: ww8par.hxx:1011
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:2510
sal_Int16 nLeMgn
Definition: ww8par.hxx:197
bool ForceFieldLanguage(SwField &rField, LanguageType nLang)
Definition: ww8par5.cxx:396
SwDoc & GetDoc() const
Definition: ww8par.hxx:1890
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:2377
Handle requirements for table formatting in insert->file mode.
Definition: msfilter.hxx:279
eF_ResT Read_F_Embedd(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1982
eF_ResT Read_F_Ref(WW8FieldDesc *pF, OUString &)
Definition: ww8par5.cxx:2045
sal_Int32 mnShapeId
Definition: ww8par.hxx:526
wwSectionNamer(const SwDoc &rDoc, const OUString &rSeed)
Definition: ww8par.hxx:957
std::set< sal_uLong > m_aGrafPosSet
Definition: ww8par.hxx:1215
SwDocShell * m_pDocShell
Definition: ww8par.hxx:1073
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:592
sal_uInt8 dmOrientPage
Definition: ww8struc.hxx:1034
void FormulaRead(SwWw8ControlType nWhich, SvStream *pD)
Definition: ww8par3.cxx:2115
void Restore(SwWW8ImplReader *pRdr)
Definition: ww8par.cxx:2046
void ImportTox(int nFieldId, const OUString &aStr)
Definition: ww8par5.cxx:3657
std::set< WW8_CP > cp_set
Definition: ww8par.hxx:1067
SvNumFormatType
const SfxPoolItem * GetStackAttr(const SwPosition &rPos, sal_uInt16 nWhich)
Definition: ww8par.cxx:1520
bool mbStopApo
Definition: ww8par.hxx:974
eF_ResT Read_F_Tox(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:2964
sal_uInt16 nLastLFOPosition
Definition: ww8par.hxx:187
SwWW8FltAnchorStack & operator=(const SwWW8FltAnchorStack &)=delete
std::unique_ptr< WW8PostProcessAttrsInfo > m_pPostProcessAttrsInfo
Definition: ww8par.hxx:1217
void SetTarFrame(const OUString &rTarFrame)
Definition: ww8par.hxx:518
bool PageRestartNo() const
Definition: ww8par.hxx:808
std::unique_ptr< WW8Dop > m_xWDop
Definition: ww8par.hxx:1221
void Read_UsePgsuSettings(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5134
void UpdateFields()
Definition: ww8par5.cxx:504
std::stack< rtl_TextEncoding > m_aFontSrcCharSets
Definition: ww8par.hxx:1189
sal_uInt8 nSp29
Definition: ww8par.hxx:198
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
Definition: ww8par.cxx:1332
sal_uInt16 GetToggleAttrFlags() const
Definition: ww8par.cxx:575
const OUString & GetBookmarkCode() const
Definition: ww8par.hxx:580
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:4154
const SwNodeIndex & GetPtNode() const
Definition: ww8par.hxx:551
void Read_UnderlineColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:3605
OUString msBookmarkName
Definition: ww8par.hxx:562
wwSprmParser const maSprmParser
Definition: ww8par.hxx:160
WW8_CP m_aCurrAttrCP
Definition: ww8par.hxx:1378
void Read_FontSize(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3894
short nOverrideValues[MAX_COL+1][4]
Definition: ww8par.hxx:1031
const OUString & GetBookmarkName() const
Definition: ww8par.hxx:579
bool const mbIsDisabled
Definition: ww8par.hxx:934
long ReadTextAttr(WW8_CP &rTextPos, long nTextEnd, bool &rbStartLine, int nDepthGuard=0)
Definition: ww8par.cxx:3835
ManTypes
Definition: ww8scan.hxx:863
SwWW8StyInf * GetStyle(sal_uInt16 nColl) const
Definition: ww8par6.cxx:2954
std::vector< std::unique_ptr< WW8LSTInfo > > maLSTInfos
Definition: ww8par.hxx:165
int const mnInTable
Definition: ww8par.hxx:605
void ProcessSpacing(const sal_uInt8 *pParamsTInsert)
Definition: ww8par2.cxx:1453
std::unique_ptr< WW8SwFlyPara > mpSFlyPara
Definition: ww8par.hxx:601
void SetBookmarkName(const OUString &bookmarkName)
Definition: ww8par5.cxx:752
::sw::mark::IFieldmark::parameter_map_t & getParameters()
Definition: ww8par.hxx:584
bool SearchTableEnd(WW8PLCFx_Cp_FKP *pPap) const
Seek to the end of the table with pPap, returns true on success.
Definition: ww8par2.cxx:384
const SwNumRule * GetOutlineNumrule() const
Definition: ww8par.hxx:315
void NewAttr(const SwPosition &rPos, const SfxPoolItem &rAttr)
Stack.
Definition: ww8par.cxx:1175
void ReadGlobalTemplateSettings(const OUString &sCreatedFrom, const css::uno::Reference< css::container::XNameContainer > &xPrjNameMap)
Definition: ww8par.cxx:4914
FontPitch
sal_uInt32 m_nFieldTagBad[3]
Definition: ww8par.hxx:1272
bool ReadChar(long nPosCp, long nCpOfs)
Definition: ww8par.cxx:3568
bool const mbFirstPara
Definition: ww8par.hxx:617
sal_Int32 GetRangeAsDrawingString(OUString &rString, long StartCp, long nEndCp, ManTypes eType)
Definition: ww8graf.cxx:904
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:1366
bool IsContinuous() const
Definition: ww8par.hxx:801
sal_uInt16 StyleUsingLFO(sal_uInt16 nLFOIndex) const
Definition: ww8par2.cxx:3566
SwFrameFormat * Read_GrafLayer(long nGrafAnchorCp)
Definition: ww8graf.cxx:2524
sal_uInt16 mnMaxLen
FFData.cch in the spec: maximum length, in characters, of the value of the textbox.
Definition: ww8par.hxx:675
std::unique_ptr< WW8Fonts > m_xFonts
Definition: ww8par.hxx:1220
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:755
SwFlyFrameFormat * MakeGrafNotInContent(const WW8PicDesc &rPD, const Graphic *pGraph, const OUString &rFileName, const SfxItemSet &rGrfSet)
Definition: ww8graf2.cxx:341
static void MapWrapIntoFlyFormat(SvxMSDffImportRec const *pRecord, SwFrameFormat *pFlyFormat)
Definition: ww8graf.cxx:1991
SwWW8ImplReader & mrReader
Definition: ww8par.hxx:827
std::stack< rtl_TextEncoding > m_aFontSrcCJKCharSets
Definition: ww8par.hxx:1190
std::deque< bool > m_aApos
Definition: ww8par.hxx:1205
void Read_TextForeColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:3592
void EndSpecial()
Definition: ww8par.cxx:2520
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:190
SwReaderType
Definition: shellio.hxx:183
void EndSprm(sal_uInt16 nId)
Definition: ww8par6.cxx:6089
std::stack< std::unique_ptr< WW8TabDesc > > m_aTableStack
Definition: ww8par.hxx:1246
std::vector< OUString > maListEntries
Definition: ww8par.hxx:684
void Read_CPropRMark(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par4.cxx:546
static sal_Unicode TranslateToHindiNumbers(sal_Unicode)
Definition: ww8par.cxx:2987
void SetDocumentGrid(SwFrameFormat &rFormat, const wwSection &rSection)
Definition: ww8par6.cxx:216
bool IsFixedHeightHeader() const
Definition: ww8par.hxx:817
sal_uInt32 GetPageRight() const
Definition: ww8par2.cxx:154
void RegisterNumFormatOnTextNode(sal_uInt16 nCurrentLFO, sal_uInt8 nCurrentLevel, const bool bSetAttr=true)
Definition: ww8par3.cxx:1789
WW8FormulaListBox & operator=(const WW8FormulaListBox &)=delete
WW8FormulaControl(const OUString &rN, SwWW8ImplReader &rRdr)
Definition: ww8par.hxx:657
WW8PostProcessAttrsInfo(WW8_CP nCpStart, WW8_CP nCpEnd, SwPaM &rPaM)
Definition: ww8par5.cxx:2370
sal_Int32 WW8_CP
Definition: ww8struc.hxx:153
int m_nEmbeddedTOXLevel
Definition: ww8par.hxx:1363
#define RES_LR_SPACE
Definition: hintids.hxx:198
void Read_TabCellEnd(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:3504
SwPaM * m_pPreviousNumPaM
Definition: ww8par.hxx:1201
static bool LangUsesHindiNumbers(LanguageType nLang)
Definition: ww8par.cxx:2956
SwTextNode * m_pPreviousNode
Definition: ww8par.hxx:1369
void SetToggleBiDiAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.hxx:409
bool SetLowerSpacing(SwPaM &rMyPam, int nSpace)
Definition: ww8par.cxx:2503
const OUString & GetOrgWWName() const
Definition: ww8par.hxx:300
sw::util::InsertedTablesManager m_aInsertedTables
Definition: ww8par.hxx:1163
static void AdjustULWrapForWordMargins(const SvxMSDffImportRec &rRecord, SvxULSpaceItem &rUL)
Definition: ww8graf.cxx:1961
bool SetSpacing(SwPaM &rMyPam, int nSpace, bool bIsUpper)
Definition: ww8par.cxx:2477
void Read_CharHighlight(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4104
void Read_BreakBefore(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5197
std::vector< const SwCharFormat * > m_aRubyCharFormats
Definition: ww8par.hxx:1210
bool m_bCareFirstParaEndInToc
Definition: ww8par.hxx:1373
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:276
static bool SetCols(SwFrameFormat &rFormat, const wwSection &rSection, sal_uInt32 nNetWidth)
Definition: ww8par6.cxx:414
void ReadDocVars()
Definition: ww8par.cxx:4755
sal_uInt8 m_nListLevel
Definition: ww8par.hxx:230
bool m_bReadNoTable
Definition: ww8par.hxx:1307
SwFlyFrameFormat * ConvertDrawTextToFly(SdrObject *&rpObject, SdrObject *&rpOurNewObject, SvxMSDffImportRec const *pRecord, RndStdIds eAnchor, WW8_FSPA const *pF, SfxItemSet &rFlySet)
Definition: ww8graf.cxx:2963
bool m_bTxbxFlySection
Definition: ww8par.hxx:1311
short mnDefaultLeft
Definition: ww8par.hxx:1013
FontFamily
SdrObject * ReadTextBox(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1240
void SetToggleBiDiAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.cxx:591
Position(const SwPosition &rPos)
Definition: ww8par.cxx:6554
std::unique_ptr< SwWW8FltControlStack > mxOldStck
Definition: ww8par.hxx:596
SwNodeIndex maStart
Definition: ww8par.hxx:788
bool IsRelativeJustify()
Definition: ww8par6.cxx:324
OUString GetFieldResult(WW8FieldDesc const *pF)
Definition: ww8par5.cxx:1205
const SwFormat * GetStyleWithOrgWWName(OUString const &rName) const
Definition: ww8par2.cxx:3579
WW8_CP m_nDrawCpO
Definition: ww8par.hxx:1276
bool const mbHasBorder
Definition: ww8par.hxx:616
wwExtraneousParas(wwExtraneousParas const &)=delete
SwTextNode is a paragraph in the document model.
Definition: ndtxt.hxx:79
WW8ListManager(SvStream &rSt_, SwWW8ImplReader &rReader_)
Definition: ww8par3.cxx:1133
void openFont(sal_uInt16 nFCode, sal_uInt16 nId)
Definition: ww8par6.cxx:3817
ErrCode OpenMainStream(tools::SvRef< SotStorageStream > &rRef, sal_uInt16 &rBuffSize)
Definition: ww8par.cxx:6312
SwWW8ImplReader & rReader
Definition: ww8par.hxx:754
ErrCode LoadDoc(WW8Glossary *pGloss=nullptr)
Definition: ww8par.cxx:6159
std::unique_ptr< WW8_OLST > m_xNumOlst
Definition: ww8par.hxx:1249
WW8ListManager & operator=(const WW8ListManager &)=delete
bool IsLandScape() const
Definition: ww8par.hxx:816
SwWW8Shade(bool bVer67, const WW8_SHD &rSHD)
Definition: ww8par6.cxx:4752
static void SetPage(SwPageDesc &rPageDesc, SwFrameFormat &rFormat, const wwSection &rSection, bool bIgnoreCols)
Definition: ww8par6.cxx:507
SwWW8FltControlStack(const SwWW8FltControlStack &)=delete
void ChkToggleBiDiAttr_(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par6.cxx:3331
bool InEqualApo(int nLvl) const
Definition: ww8par.cxx:6540
void Read_ParaBackColor(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4906
bool bGrafApo
Definition: ww8par.hxx:202
wwExtraneousParas & operator=(wwExtraneousParas const &)=delete
OUString UniqueName()
Definition: ww8par5.cxx:2482
void ApplyTabPos(const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:1617
void ReadEmbeddedData(SvStream &rStrm, SwDocShell const *pDocShell, struct HyperLinksTable &hlStr)
Definition: ww8par.cxx:223
SvNumFormatType GetTimeDatePara(OUString const &rStr, sal_uInt32 &rFormat, LanguageType &rLang, int nWhichDefault, bool bHijri=false)
Definition: ww8par5.cxx:437
static bool ImportOleWMF(const tools::SvRef< SotStorage > &xSrc1, GDIMetaFile &rWMF, long &rX, long &rY)
Definition: ww8par4.cxx:310
bool m_bFootnoteEdn
Definition: ww8par.hxx:1323
const SwNumRule * mpPrevNumRule
Definition: ww8par.hxx:603
SwSection * mpSection
Definition: ww8par.hxx:789
const WW8Fib & rFib
Definition: ww8par.hxx:163
bool IsOutlineNumbered() const
Definition: ww8par.hxx:310
bool m_bCurrentAND_fNumberAcross
Definition: ww8par.hxx:1346
void Read_TextAnim(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4729
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:6522
OUString BookmarkToWriter(const OUString &rBookmark)
Definition: wrtw8nds.cxx:1154
void ChkToggleAttr_(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par6.cxx:3315
bool SectionIsProtected(const wwSection &rSection) const
Definition: ww8par.cxx:2379
sal_uInt16 PageStartAt() const
Definition: ww8par.hxx:807
sal_Int32 dxaColumns
Definition: ww8struc.hxx:1062
virtual std::unique_ptr< SdrObjUserData > Clone(SdrObject *pObj) const override
Definition: ww8par.cxx:6583
eF_ResT Read_F_DBNext(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:2598
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:333
sal_Int16 ccolM1
Definition: ww8struc.hxx:1055
bool ParseTabPos(WW8_TablePos *aTabPos, WW8PLCFx_Cp_FKP *pPap)
Definition: ww8par6.cxx:5221
void SetToggleAttr(sal_uInt8 nAttrId, bool bOn)
Definition: ww8par6.cxx:3253
void Read_LineSpace(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4301
void InsertSegments()
Definition: ww8par.cxx:4511
sal_uInt16 End_Footnote()
Definition: ww8par2.cxx:174
const o3tl::enumarray< SvxAdjust, unsigned short > aSvxToUnoAdjust USHRT_MAX
Definition: unosett.cxx:261
static void PicRead(SvStream *pDataStream, WW8_PIC *pPic, bool bVer67)
Definition: ww8graf2.cxx:436
void SetToggleAttrFlags(sal_uInt16 nFlags)
Definition: ww8par.hxx:408
WW8ReaderSave(SwWW8ImplReader *pRdr, WW8_CP nStart=-1)
Footnotes and Endnotes.
Definition: ww8par.cxx:1988
sal_uInt32 GetPageHeight() const
Definition: ww8par.hxx:813
void Read_HdFtFootnoteText(const SwNodeIndex *pSttIdx, WW8_CP nStartCp, WW8_CP nLen, ManTypes nType)
Definition: ww8par.cxx:2088
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:2927
SwFormatPageDesc SetSwFormatPageDesc(mySegIter const &rIter, mySegIter const &rStart, bool bIgnoreCols)
Map a word section to a writer page descriptor.
Definition: ww8par.cxx:4472
bool IsVertical() const
Definition: ww8par6.cxx:204
bool operator()(const SwTextNode *r1, const SwTextNode *r2) const
Definition: ww8par.hxx:447
sal_uInt8 m_nSprm29
Definition: ww8par.hxx:977
Color aColor
Definition: ww8par.hxx:629
eF_ResT Read_F_OCX(WW8FieldDesc *, OUString &)
Definition: ww8par3.cxx:82
eF_ResT Read_F_Input(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:1168
sal_uInt8 const m_nWantedVersion
Definition: ww8par.hxx:1299
iterator for Piece Table Exceptions of Fkps works on CPs (high-level)
Definition: ww8scan.hxx:626
short mnDefaultRight
Definition: ww8par.hxx:1015
eF_ResT Read_F_ANumber(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1430
static bool SetFlyBordersShadow(SfxItemSet &rFlySet, const WW8_BRCVer9 *pbrc, short *SizeArray)
Definition: ww8par6.cxx:1560
void PostProcessAttrs()
Definition: ww8par.cxx:2875
long Read_Field(WW8PLCFManResult *pRes)
Definition: ww8par5.cxx:771
bool m_bHdFtFootnoteEdn
Definition: ww8par.hxx:1322
void SetOrgWWIdent(const OUString &rName, const sal_uInt16 nId)
Definition: ww8par.hxx:288
MSO_LineStyle
bool m_bIgnoreText
Definition: ww8par.hxx:1314
void InsertAttrsAsDrawingAttrs(WW8_CP nStartCp, WW8_CP nEndCp, ManTypes eType, bool bONLYnPicLocFc=false)
Definition: ww8graf.cxx:611
ErrCode CoreLoad(WW8Glossary const *pGloss)
Definition: ww8par.cxx:4964
void ReadRevMarkAuthorStrTabl(SvStream &rStrm, sal_Int32 nTablePos, sal_Int32 nTableSiz, SwDoc &rDoc)
Definition: ww8par4.cxx:458
void ReadAttrs(WW8_CP &rTextPos, WW8_CP &rNext, long nTextEnd, bool &rbStartLine)
Definition: ww8par.cxx:3981
sal_Unicode m_cSymbol
Definition: ww8par.hxx:1297
bool IsInvalidOrToBeMergedTabCell() const
Definition: ww8par2.cxx:3547
FIB - the File Information Block.
Definition: ww8scan.hxx:1096
OUString const msName
Definition: ww8par.hxx:690
eF_ResT Read_F_DocInfo(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:1541
SdrObject * CreateContactObject(SwFrameFormat *pFlyFormat)
Definition: ww8graf.cxx:2217
static bool SetShadow(SvxShadowItem &rShadow, const short *pSizeArray, const WW8_BRCVer9 &aRightBrc)
Definition: ww8par6.cxx:1532
~WW8ListManager() COVERITY_NOEXCEPT_FALSE
Definition: ww8par3.cxx:1469
SdrObject * ReadGrafPrimitive(short &rLeft, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1386
std::shared_ptr< SwUnoCursor > mpCursor
Definition: ww8par.hxx:1095
void SetStyleIndent(SwWW8StyInf &rStyleInfo, const SwNumFormat &rFormat)
Definition: ww8par3.cxx:1691
auto FilterControlChars(OUString const &rString) -> OUString
Definition: ww8par.cxx:3415
OUString msMarkCode
Definition: ww8par.hxx:564
void closeFont(sal_uInt16 nId)
Definition: ww8par6.cxx:3831
eF_ResT Read_F_Styleref(WW8FieldDesc *, OUString &rStr)
Reads a STYLEREF field.
Definition: ww8par5.cxx:1520
std::deque< bool > maOldApos
Definition: ww8par.hxx:594
void Read_CharShadow(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4056
bool bBorderLines
Definition: ww8par.hxx:201
sal_uInt16 const mnCurrentColl
Definition: ww8par.hxx:606
void ChkToggleAttr(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par.hxx:1659
bool m_bHasBrokenWW6List
Definition: ww8par.hxx:248
void Read_Emphasis(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4630
std::unique_ptr< WW8FlyPara > mpWFlyPara
Definition: ww8par.hxx:600
sal_uInt32 m_nIniFlags1
Definition: ww8par.hxx:1269
sal_Int32 mnPtContent
Definition: ww8par.hxx:546
void ResetCJKCharSetVars()
Definition: ww8par6.cxx:3810
void SetUseOn(wwSection &rSection)
Definition: ww8par.cxx:4420
WW8FormulaEditBox(const WW8FormulaEditBox &)=delete
static Color GetCol(sal_uInt8 nIco)
Definition: ww8par6.cxx:121
void SetShade(Color nFore, Color nBack, sal_uInt16 nIndex)
Definition: ww8par6.cxx:4773
wwSectionNamer(const wwSectionNamer &)=delete
SwFrameFormat * ImportGraf(SdrTextObj const *pTextObj=nullptr, SwFrameFormat const *pFlyFormat=nullptr)
Definition: ww8graf2.cxx:464
OUString const msFileLinkSeed
Definition: ww8par.hxx:951
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:3492
SwNumRule * CreateNextRule(bool bSimple)
Definition: ww8par3.cxx:1109
bool IsEmpty() const
Definition: ww8par6.cxx:1846
virtual ErrCode Read(SwDoc &, const OUString &rBaseURL, SwPaM &, const OUString &) override
Definition: ww8par.cxx:6333
std::unique_ptr< wwSprmParser > m_xSprmParser
Definition: ww8par.hxx:1173
WW8FieldEntry(SwPosition const &rPos, sal_uInt16 nFieldId)
Definition: ww8par5.cxx:728
const sal_Int32 & GetShapeId() const
Definition: ww8par.hxx:521
void Read_PicLoc(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:2862
void Read_NoLineNumb(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:4122
std::unique_ptr< WW8FlyPara > ConstructApo(const ApoTestResults &rApo, const WW8_TablePos *pTabPos)
Definition: ww8par6.cxx:2366
static void SetPageBorder(SwFrameFormat &rFormat, const wwSection &rSection)
Definition: ww8par6.cxx:544
void UseListIndent(SwWW8StyInf &rStyle, const SwNumFormat &rFormat)
Definition: ww8par3.cxx:1676
bool m_bCareLastParaEndInToc
Definition: ww8par.hxx:1374
void ProcessSprmTTableBorders(int nBrcVer, const sal_uInt8 *pParams, sal_uInt16 nParamsLen)
Definition: ww8par2.cxx:1306
sal_uInt32 GetPageRight() const
Definition: ww8par.hxx:815
bool IsDropCap() const
Definition: ww8par6.cxx:2387
bool IsFootnoteEdnBkmField(const SwFormatField &rFormatField, sal_uInt16 &rBkmNo)
Definition: ww8par.cxx:1551
OUString hLinkAddr
Definition: ww8par.hxx:534
const SwNumFormat * GetNumFormatFromStack(const SwPosition &rPos, const SwTextNode &rTextNode)
Definition: ww8par.cxx:1287
SwNumRule * GetStyRule()
Definition: ww8par2.cxx:722
SdrObject * ReadArc(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:409
std::shared_ptr< WW8PLCFMan > m_xPlcxMan
Definition: ww8par.hxx:1224
sal_uInt16 GetToggleBiDiAttrFlags() const
Definition: ww8par.cxx:580
bool m_bHasSprm29
Definition: ww8par.hxx:976
void Read_TabRowEnd(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par2.cxx:3510
sal_uInt32 GetPageWidth() const
Definition: ww8par2.cxx:159
bool WillHavePageDescHere(const SwNodeIndex &rIdx) const
Definition: ww8par5.cxx:2937
SdrObject * ReadLine(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:327
sal_uInt8 nOverrideSpacing[MAX_COL+1]
Definition: ww8par.hxx:1030
std::unique_ptr< WW8SwFlyPara > m_xSFlyPara
Definition: ww8par.hxx:1242
wwFrameNamer(wwFrameNamer const &)=delete
void ResetCharSetVars()
Definition: ww8par6.cxx:3803
RndStdIds
sal_uLong m_nObjLocFc
Definition: ww8par.hxx:1279
short mnDefaultTop
Definition: ww8par.hxx:1014
static sal_uInt8 WW8OutlineLevelToOutlinelevel(const sal_uInt8 nWW8OutlineLevel)
Definition: ww8par.hxx:338
OUString GetMappedBookmark(const OUString &rOrigName)
Definition: ww8par5.cxx:1358
int mnFileSectionNo
Definition: ww8par.hxx:952
bool SetUpperSpacing(SwPaM &pMyPam, int nSpace)
Definition: ww8par.cxx:2508
void DeleteRefStacks()
Definition: ww8par.hxx:1408
wwSectionNamer m_aSectionNameGenerator
Definition: ww8par.hxx:1168
void ChkToggleBiDiAttr(sal_uInt16 nOldStyle81Mask, sal_uInt16 nNewStyle81Mask)
Definition: ww8par.hxx:1668
SdrModel * m_pDrawModel
Definition: ww8par.hxx:1251
bool HasStartStop() const
Definition: ww8par.hxx:982
bool m_bValid
Definition: ww8par.hxx:243
SvStream * m_pDataStream
Definition: ww8par.hxx:1091
const SprmReadInfo & GetSprmReadInfo(sal_uInt16 nId) const
Definition: ww8par6.cxx:6063
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:3019
bool m_bWasParaEnd
Definition: ww8par.hxx:1336
void Read_Tab(sal_uInt16 nId, const sal_uInt8 *pData, short nLen)
Definition: ww8par.cxx:1646
std::shared_ptr< WW8PLCFMan > mxOldPlcxMan
Definition: ww8par.hxx:599
void Read_SubSuper(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3347
OUString msToolTip
Definition: ww8par.hxx:681
bool m_bColl
Definition: ww8par.hxx:245
sw::hack::Position maStartPos
Definition: ww8par.hxx:568
sal_uInt16 maDirections[MAX_COL+1]
Definition: ww8par.hxx:1020
sal_uInt8 m_nListLevel
Definition: ww8par.hxx:1303
sal_uInt32 nPgLeft
Definition: ww8par.hxx:794
SwFrameFormat * MakeGrafInContent(const WW8_PIC &rPic, const WW8PicDesc &rPD, const Graphic *pGraph, const OUString &rFileName, const SfxItemSet &rGrfSet)
Definition: ww8graf2.cxx:377
const SwPosition & GetStartPos() const
Definition: ww8par.hxx:621
sal_uLong m_nPicLocFc
Definition: ww8par.hxx:1278
bool HandlePageBreakChar()
Definition: ww8par.cxx:3528
short m_nDrawXOfs
Definition: ww8par.hxx:1294
bool ReadGrafFile(OUString &rFileName, std::unique_ptr< Graphic > &rpGraphic, const WW8_PIC &rPic, SvStream *pSt, sal_uLong nFilePos, bool *pDelIt)
Definition: ww8graf2.cxx:232
sal_uInt8 m_nSwNumLevel
Definition: ww8par.hxx:1301
virtual bool GetOLEStorageName(sal_uInt32 nOLEId, OUString &rStorageName, tools::SvRef< SotStorage > &rSrcStorage, css::uno::Reference< css::embed::XStorage > &rDestStorage) const override
Definition: ww8par.cxx:6432
static void ReplaceObj(const SdrObject &rReplaceTextObj, SdrObject &rSubObj)
Definition: ww8graf2.cxx:318
bool m_bOnLoadingMain
Definition: ww8par.hxx:1379
void Read_Special(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:2828
short m_nDrawYOfs
Definition: ww8par.hxx:1294
std::unique_ptr< SwWW8FltAnchorStack > m_xAnchorStck
Definition: ww8par.hxx:1128
std::deque< WW8FieldEntry > m_aFieldStack
Definition: ww8par.hxx:1140
SwFormat * m_pCurrentColl
Definition: ww8par.hxx:1231
void Read_FontCode(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3843
OUString msNumberingNumRule
Definition: ww8par.hxx:989
SdrObject * ReadGroup(WW8_DPHEAD const *pHd, SfxAllItemSet &rSet)
Definition: ww8graf.cxx:1349
const T * GetFormatAttr(const SwPosition &rPos, TypedWhichId< T > nWhich)
Definition: ww8par.hxx:412
std::unique_ptr< SfxItemSet > m_xCurrentItemSet
Definition: ww8par.hxx:1233
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:3480
void GetPageULData(const wwSection &rNewSection, wwULSpaceData &rData) const
Definition: ww8par6.cxx:568
rtl_TextEncoding GetCJKCharSetFromLanguage()
Definition: ww8par.cxx:2808
void JoinNode(const SwPosition &rPos, const SwNode &rNode)
Definition: ww8par6.cxx:2497
eF_ResT Read_F_CurPage(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:1898
virtual void SetAttrInDoc(const SwPosition &rTmpPos, SwFltStackEntry &rEntry) override
Definition: ww8par.cxx:1574
eF_ResT Read_F_IncludePicture(WW8FieldDesc *, OUString &rStr)
Definition: ww8par5.cxx:2422
SwWW8FltControlStack(SwDoc *pDo, sal_uLong nFieldFl, SwWW8ImplReader &rReader_)
Definition: ww8par.hxx:380
sal_Unicode const mcSymbol
Definition: ww8par.hxx:607
SwPosition const maTmpPos
Definition: ww8par.hxx:593
OUString msOutlineNumRule
Definition: ww8par.hxx:988
sal_Int32 GetPtContent() const
Definition: ww8par.hxx:577
void AddAnchor(const SwPosition &rPos, SwFrameFormat *pFormat)
Definition: ww8graf.cxx:3221
std::deque< wwSection > maSegments
Definition: ww8par.hxx:828
void Read_RTLJustify(sal_uInt16, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:4558
void Read_BoldBiDiUsw(sal_uInt16 nId, const sal_uInt8 *, short nLen)
Definition: ww8par6.cxx:3158
std::vector< WW8_CP > cp_vector
Definition: ww8par.hxx:1068
sal_Int16 nSp26
Definition: ww8par.hxx:195
Color * pNewSHDs
Definition: ww8par.hxx:1033
eF_ResT Read_F_NoteReference(WW8FieldDesc *pF, OUString &rStr)
Definition: ww8par5.cxx:2128
void ProcessSprmTSetBRC(int nBrcVer, const sal_uInt8 *pParamsTSetBRC, sal_uInt16 nParamsLen)
Definition: ww8par2.cxx:1236
bool bVer67
Definition: ww8par.hxx:194
css::drawing::TextVerticalAdjust mnVerticalAdjustment
Definition: ww8par.hxx:797
sal_uInt8 mnBorders
Definition: ww8par.hxx:798
SwPaM * m_pPaM
Definition: ww8par.hxx:1096
void Read_ParaBiDi(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:369
SwDoc & rDoc
Definition: ww8par.hxx:162
SvStream * m_pTableStream
Definition: ww8par.hxx:1090
bool SetTextFormatCollAndListLevel(const SwPaM &rRg, SwWW8StyInf &rStyleInfo)
Definition: ww8par3.cxx:1642
bool CurrentSectionIsVertical() const
Definition: ww8par2.cxx:131
void Read_KeepLines(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5181
void NextAnlLine(const sal_uInt8 *pSprm13)
Definition: ww8par2.cxx:978
bool SetNewFontAttr(sal_uInt16 nFCode, bool bSetEnums, sal_uInt16 nWhich)
Definition: ww8par6.cxx:3721
WW8TabBandDesc & operator=(WW8TabBandDesc const &)=default
SwMSDffManager & operator=(const SwMSDffManager &)=delete
std::unique_ptr< ImportProgress > m_xProgress
Definition: ww8par.hxx:1195
bool isValid_HdFt_CP(WW8_CP nHeaderCP) const
Definition: ww8par.cxx:2245
bool IsParaEndInCPs(sal_Int32, sal_Int32, bool bSdOD=true) const
Definition: ww8par.cxx:3957
SwWW8ImplReader & mrRdr
Definition: ww8par.hxx:651
OUString maHlink
Definition: ww8par.hxx:527
void Read_DoubleLine_Rotate(sal_uInt16, const sal_uInt8 *pDATA, short nLen)
Definition: ww8par6.cxx:3535
void ProcessDirection(const sal_uInt8 *pParams)
Definition: ww8par2.cxx:1436
sal_uInt16 m_nWWStyleId
Definition: ww8par.hxx:218
sal_uInt16 m_nLFOPosition
Definition: ww8par.hxx:1290
void SetToggleBiDiAttr(sal_uInt8 nAttrId, bool bOn)
Definition: ww8par6.cxx:3228
void SetName(const OUString &rName)
Definition: ww8par.hxx:522
wwExtraneousParas(SwDoc &rDoc)
Definition: ww8par.hxx:923
long Read_And(WW8PLCFManResult *pRes)
Use authornames, if not available fall back to initials.
Definition: ww8par.cxx:2108
eF_ResT Read_F_Equation(WW8FieldDesc *, OUString &)
Definition: ww8par5.cxx:2632
void Read_AlignFont(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:5147
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:1525
bool const mbHdFtFootnoteEdn
Definition: ww8par.hxx:610
const OUString & GetBaseURL() const
Definition: ww8par.hxx:1906
SwPaM *const pPaM
Definition: ww8par.hxx:747
WW8FormulaControl(WW8FormulaControl const &)=delete
bool m_bParaAutoBefore
Definition: ww8par.hxx:1353
sal_uInt8 nTransCell[MAX_COL+2]
Definition: ww8par.hxx:1037
static void SetPageULSpaceItems(SwFrameFormat &rFormat, wwULSpaceData const &rData, const wwSection &rSection)
Definition: ww8par6.cxx:639
void SetNumRule(const OUString &rNumRule, sal_uInt8 nNumType)
Definition: ww8par2.cxx:896
SprmResult GrpprlHasSprm(sal_uInt16 nId, sal_uInt8 &rSprms, sal_uInt8 nLen)
Definition: ww8par3.cxx:454
WW8FieldEntry & operator=(const WW8FieldEntry &rOther)
Definition: ww8par5.cxx:744
css::awt::Size MiserableDropDownFormHack(const OUString &rString, css::uno::Reference< css::beans::XPropertySet > const &rPropSet)
Definition: ww8par3.cxx:2240
WW8FormulaEditBox & operator=(const WW8FormulaEditBox &)=delete
sal_Int16 m_nRelativeJustify
Definition: ww8par.hxx:256
bool bCantSplit90
Definition: ww8par.hxx:1028
short nWidth[MAX_COL+1]
Definition: ww8par.hxx:1022
bool const mbInHyperlink
Definition: ww8par.hxx:613
void Read_CharSet(sal_uInt16, const sal_uInt8 *pData, short nLen)
Definition: ww8par6.cxx:3955
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:1316
void ProcessSprmTInsert(const sal_uInt8 *pParamsTInsert)
Definition: ww8par2.cxx:1365
bool MiserableRTLGraphicsHack(SwTwips &rLeft, SwTwips nWidth, sal_Int16 eHoriOri, sal_Int16 eHoriRel)
Definition: ww8graf.cxx:2235