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