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