LibreOffice Module sw (master)  1
pagedesc.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 #ifndef INCLUDED_SW_INC_PAGEDESC_HXX
20 #define INCLUDED_SW_INC_PAGEDESC_HXX
21 
22 #include <tools/fract.hxx>
23 #include <tools/color.hxx>
24 #include "swdllapi.h"
25 #include "swtypes.hxx"
26 #include "frmfmt.hxx"
27 #include <editeng/numitem.hxx>
28 #include <editeng/borderline.hxx>
29 #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
30 #include <com/sun/star/text/HorizontalAdjust.hpp>
31 #include <o3tl/typed_flags_set.hxx>
32 
33 #include <boost/multi_index_container.hpp>
34 #include <boost/multi_index/identity.hpp>
35 #include <boost/multi_index/ordered_index.hpp>
36 #include <boost/multi_index/random_access_index.hpp>
37 
38 using namespace ::com::sun::star;
39 
40 
41 class SfxPoolItem;
42 class SwTextFormatColl;
43 class SwNode;
44 class SwPageDescs;
45 typedef struct _xmlTextWriter* xmlTextWriterPtr;
46 
49 {
50 private:
56  css::text::HorizontalAdjust m_eAdjust;
59 
60 public:
61  SwTwips GetHeight() const { return m_nMaxHeight; }
62  sal_uLong GetLineWidth() const { return m_nLineWidth; }
63  const Color& GetLineColor() const { return m_LineColor;}
64  SvxBorderLineStyle GetLineStyle() const { return m_eLineStyle; }
65  const Fraction& GetWidth() const { return m_Width; }
66  css::text::HorizontalAdjust GetAdj() const { return m_eAdjust; }
67  SwTwips GetTopDist() const { return m_nTopDist; }
68  SwTwips GetBottomDist() const { return m_nBottomDist; }
69 
70  void SetHeight(SwTwips const nNew) { m_nMaxHeight = nNew; }
71  void SetLineWidth(sal_uLong const nSet) { m_nLineWidth = nSet; }
72  void SetLineStyle(SvxBorderLineStyle const eSet) {m_eLineStyle = eSet;}
73  void SetLineColor(const Color& rCol) { m_LineColor = rCol;}
74  void SetWidth(const Fraction & rNew) { m_Width = rNew; }
75  void SetAdj(css::text::HorizontalAdjust const eNew) { m_eAdjust = eNew; }
76  void SetTopDist (SwTwips const nNew) { m_nTopDist = nNew; }
77  void SetBottomDist(SwTwips const nNew) { m_nBottomDist = nNew; }
78 
81  SwPageFootnoteInfo& operator=( const SwPageFootnoteInfo& );
82 
83  bool operator ==( const SwPageFootnoteInfo& ) const;
84 };
85 
86 /*
87  * Use of UseOnPage (m_eUse) and of FrameFormats
88  *
89  * RIGHT - m_Master only for right hand (odd) pages, left hand (even) pages
90  * always empty.
91  * LEFT - m_Left for left-hand pages, right-hand pages always empty.
92  * m_Left is a copy of master.
93  * ALL - m_Master for right hand pages, m_Left for left hand pages.
94  * - m_Left is a copy of master.
95  * MIRROR - m_Master for right hand pages, m_Left for left hand pagers.
96  * m_Left is a copy of master, margins are mirrored.
97  *
98  * UI works exclusively on master! m_Left is adjusted on Chg at document
99  * according to m_eUse.
100  *
101  * In order to simplify the work of the filters some more values are placed
102  * into m_eUse:
103  *
104  * HEADERSHARE - Content of header is equal on left and right hand pages.
105  * FOOTERSHARE - Content of footer is equal on left and right hand pages.
106  *
107  * The values are masked out in the respective getter and setter methods.
108  * Access to complete m_eUse including the information on header and footer
109  * via ReadUseOn(), WriteUseOn() (for Filter and CopyCTor)!
110  *
111  * The Frameformats for header/footer are adjusted by the UI according to
112  * the attributes for header and footer at master (height, margin, back-
113  * ground ...)
114  * Header/footer for left hand pages are copied or mirrored (Chg at
115  * document).
116  * The respective attribute for content is cared for automatically on Chg at
117  * document (contents are created or removed according to SHARE-information).
118  */
119 
120 enum class UseOnPage : sal_uInt16
121 {
122  NONE = 0x0000,
123  Left = 0x0001,
124  Right = 0x0002,
125  All = 0x0003,
126  Mirror = 0x0007,
127  HeaderShare = 0x0040,
128  FooterShare = 0x0080,
129  FirstShare = 0x0100,
130  NoHeaderShare = 0xFFBF,
131  NoFooterShare = 0xFF7F,
132  NoFirstShare = 0xFEFF
133 };
134 namespace o3tl {
135  template<> struct typed_flags<UseOnPage> : is_typed_flags<UseOnPage, 0xffff> {};
136 }
137 
139  : public sw::BroadcastingModify
140 {
141  friend class SwDoc;
142  friend class SwPageDescs;
143 
144  OUString m_StyleName;
148  // FIXME epicycles growing here - page margins need to be stored differently
151 
153  {
154  std::shared_ptr<SwFrameFormat> m_pStashedFirst;
155  std::shared_ptr<SwFrameFormat> m_pStashedLeft;
156  std::shared_ptr<SwFrameFormat> m_pStashedFirstLeft;
157  };
158 
161 
165  sal_uInt16 m_nRegHeight;
166  sal_uInt16 m_nRegAscent;
167  drawing::TextVerticalAdjust m_nVerticalAdjustment; // doc/docx: vertically center / justify / bottom
171 
174 
177 
180  SAL_DLLPRIVATE void Mirror();
181 
182  SAL_DLLPRIVATE void ResetAllAttr();
183 
184  SAL_DLLPRIVATE SwPageDesc(const OUString&, SwFrameFormat*, SwDoc *pDc );
185 
186  struct change_name
187  {
188  change_name(const OUString &rName) : mName(rName) {}
189  void operator()(SwPageDesc *pPageDesc) { pPageDesc->m_StyleName = mName; }
190  const OUString &mName;
191  };
192 
193 protected:
194  virtual void SwClientNotify(const SwModify&, const SfxHint&) override;
195 
196 public:
197  const OUString& GetName() const { return m_StyleName; }
198  bool SetName(const OUString& rNewName);
199 
200  bool GetLandscape() const { return m_IsLandscape; }
201  void SetLandscape( bool bNew ) { m_IsLandscape = bNew; }
202 
203  const SvxNumberType &GetNumType() const { return m_NumType; }
204  void SetNumType(const SvxNumberType& rNew) { m_NumType = rNew; }
205 
206  const SwPageFootnoteInfo &GetFootnoteInfo() const { return m_FootnoteInfo; }
207  SwPageFootnoteInfo &GetFootnoteInfo() { return m_FootnoteInfo; }
208  void SetFootnoteInfo(const SwPageFootnoteInfo &rNew) { m_FootnoteInfo = rNew; }
209 
210  inline bool IsHeaderShared() const;
211  inline bool IsFooterShared() const;
212  inline void ChgHeaderShare( bool bNew );
213  inline void ChgFooterShare( bool bNew );
214  bool IsFirstShared() const;
215  void ChgFirstShare( bool bNew );
216 
217  bool IsHidden() const { return m_IsHidden; }
218  void SetHidden(bool const bValue) { m_IsHidden = bValue; }
219 
221  void StashFrameFormat(const SwFrameFormat& rFormat, bool bHeader, bool bLeft, bool bFirst);
222 
224  const SwFrameFormat* GetStashedFrameFormat(bool bHeader, bool bLeft, bool bFirst) const;
225 
227  bool HasStashedFormat(bool bHeader, bool bLeft, bool bFirst);
228 
230  void RemoveStashedFormat(bool bHeader, bool bLeft, bool bFirst);
231 
233  inline void SetUseOn( UseOnPage eNew );
234  inline UseOnPage GetUseOn() const;
235 
236  void WriteUseOn(UseOnPage const eNew) { m_eUse = eNew; }
237  UseOnPage ReadUseOn() const { return m_eUse; }
238 
239  SwFrameFormat &GetMaster() { return m_Master; }
240  SwFrameFormat &GetLeft() { return m_Left; }
241  SwFrameFormat &GetFirstMaster() { return m_FirstMaster; }
242  SwFrameFormat &GetFirstLeft() { return m_FirstLeft; }
243  const SwFrameFormat &GetMaster() const { return m_Master; }
244  const SwFrameFormat &GetLeft() const { return m_Left; }
245  const SwFrameFormat &GetFirstMaster() const { return m_FirstMaster; }
246  const SwFrameFormat &GetFirstLeft() const { return m_FirstLeft; }
247 
250  inline void ResetAllMasterAttr();
251 
254  SwFrameFormat *GetRightFormat(bool const bFirst = false);
255  inline const SwFrameFormat *GetRightFormat(bool const bFirst = false) const;
256  SwFrameFormat *GetLeftFormat(bool const bFirst = false);
257  inline const SwFrameFormat *GetLeftFormat(bool const bFirst = false) const;
258 
259  sal_uInt16 GetRegHeight() const { return m_nRegHeight; }
260  sal_uInt16 GetRegAscent() const { return m_nRegAscent; }
261  void SetRegHeight(sal_uInt16 const nNew) { m_nRegHeight = nNew; }
262  void SetRegAscent(sal_uInt16 const nNew) { m_nRegAscent = nNew; }
263 
264  drawing::TextVerticalAdjust GetVerticalAdjustment () const {return m_nVerticalAdjustment; }
265  void SetVerticalAdjustment (const drawing::TextVerticalAdjust nVA) {m_nVerticalAdjustment = nVA; }
266 
267  inline void SetFollow( const SwPageDesc* pNew );
268  const SwPageDesc* GetFollow() const { return m_pFollow; }
269  SwPageDesc* GetFollow() { return m_pFollow; }
270 
271  void SetRegisterFormatColl( const SwTextFormatColl* rFormat );
272  const SwTextFormatColl* GetRegisterFormatColl() const;
273  void RegisterChange();
274 
276  sal_uInt16 GetPoolFormatId() const { return m_Master.GetPoolFormatId(); }
277  void SetPoolFormatId(sal_uInt16 const nId) { m_Master.SetPoolFormatId(nId); }
278  sal_uInt16 GetPoolHelpId() const { return m_Master.GetPoolHelpId(); }
279  void SetPoolHelpId(sal_uInt16 const nId){ m_Master.SetPoolHelpId(nId); }
280  sal_uInt8 GetPoolHlpFileId() const { return m_Master.GetPoolHlpFileId(); }
281  void SetPoolHlpFileId(sal_uInt8 const nId) { m_Master.SetPoolHlpFileId(nId); }
282 
284  virtual bool GetInfo( SfxPoolItem& ) const override;
285 
286  const SwFrameFormat* GetPageFormatOfNode( const SwNode& rNd,
287  bool bCheckForThisPgDc = true ) const;
288  bool IsFollowNextPageOfNode( const SwNode& rNd ) const;
289 
291  static const SwPageDesc* GetPageDescOfNode(const SwNode& rNd);
292 
293  static SwPageDesc* GetByName(SwDoc& rDoc, std::u16string_view rName);
294 
295  SwPageDesc& operator=( const SwPageDesc& );
296 
297  SwPageDesc( const SwPageDesc& );
298  virtual ~SwPageDesc() override;
299 
300  void dumpAsXml(xmlTextWriterPtr pWriter) const;
301 };
302 
303 namespace std {
304  template<>
305  struct less<SwPageDesc*> {
306  bool operator()(const SwPageDesc *pPageDesc, std::u16string_view rName) const
307  { return pPageDesc->GetName() < rName; }
308  bool operator()(std::u16string_view rName, const SwPageDesc *pPageDesc) const
309  { return rName < pPageDesc->GetName(); }
310  bool operator()(const SwPageDesc *lhs, const SwPageDesc *rhs) const
311  { return lhs->GetName() < rhs->GetName(); }
312  };
313 }
314 
315 inline void SwPageDesc::SetFollow( const SwPageDesc* pNew )
316 {
317  m_pFollow = pNew ? const_cast<SwPageDesc*>(pNew) : this;
318 }
319 
320 inline bool SwPageDesc::IsHeaderShared() const
321 {
322  return bool(m_eUse & UseOnPage::HeaderShare);
323 }
324 inline bool SwPageDesc::IsFooterShared() const
325 {
326  return bool(m_eUse & UseOnPage::FooterShare);
327 }
328 inline void SwPageDesc::ChgHeaderShare( bool bNew )
329 {
330  if ( bNew )
332  else
334 }
335 inline void SwPageDesc::ChgFooterShare( bool bNew )
336 {
337  if ( bNew )
339  else
341 }
342 inline void SwPageDesc::SetUseOn( UseOnPage eNew )
343 {
344  UseOnPage eTmp = UseOnPage::NONE;
346  eTmp = UseOnPage::HeaderShare;
348  eTmp |= UseOnPage::FooterShare;
350  eTmp |= UseOnPage::FirstShare;
351  m_eUse = eTmp | eNew;
352 
353 }
355 {
356  UseOnPage eRet = m_eUse;
357  eRet &= UseOnPage::NoHeaderShare;
358  eRet &= UseOnPage::NoFooterShare;
359  eRet &= UseOnPage::NoFirstShare;
360  return eRet;
361 }
362 
364 {
365  ResetAllAttr();
366 }
367 
368 inline const SwFrameFormat *SwPageDesc::GetRightFormat(bool const bFirst) const
369 {
370  return const_cast<SwPageDesc*>(this)->GetRightFormat(bFirst);
371 }
372 inline const SwFrameFormat *SwPageDesc::GetLeftFormat(bool const bFirst) const
373 {
374  return const_cast<SwPageDesc*>(this)->GetLeftFormat(bFirst);
375 }
376 
378 {
379 public:
381 private:
383  OUString m_sFollow;
384 
385  void SetPageDesc(const SwPageDesc & rPageDesc);
386 
387 public:
388  SwPageDescExt(const SwPageDesc & rPageDesc, SwDoc * pDoc);
389  SwPageDescExt(const SwPageDescExt & rSrc);
390  ~SwPageDescExt();
391 
392  SwPageDescExt & operator = (const SwPageDescExt & rSrc);
393  SwPageDescExt & operator = (const SwPageDesc & rSrc);
394 
395  OUString const & GetName() const;
396 
397  operator SwPageDesc() const; // #i7983#
398 };
399 
400 namespace sw {
401  class PageFootnoteHint final : public SfxHint {};
402 
404 }
405 
406 typedef boost::multi_index_container<
407  SwPageDesc*,
408  boost::multi_index::indexed_by<
409  boost::multi_index::random_access<>,
410  boost::multi_index::ordered_unique<
411  boost::multi_index::identity<SwPageDesc*> >
412  >
413  >
415 
416 class SwPageDescs final
417 {
418  // function updating ByName index via modify
419  friend bool SwPageDesc::SetName( const OUString& rNewName );
420 
421  typedef SwPageDescsBase::nth_index<0>::type ByPos;
422  typedef SwPageDescsBase::nth_index<1>::type ByName;
423  typedef ByPos::iterator iterator;
424 
425  iterator find_( const OUString &name ) const;
426 
428  ByPos &m_PosIndex;
429  ByName &m_NameIndex;
430 
431 public:
432  typedef ByPos::const_iterator const_iterator;
433  typedef SwPageDescsBase::size_type size_type;
434  typedef SwPageDescsBase::value_type value_type;
435 
436  SwPageDescs();
437 
438  // frees all SwPageDesc!
439  ~SwPageDescs();
440 
441  void clear() { return m_Array.clear(); }
442  bool empty() const { return m_Array.empty(); }
443  size_t size() const { return m_Array.size(); }
444 
445  std::pair<const_iterator,bool> push_back( const value_type& x );
446  void erase( const value_type& x );
447  void erase( size_type index );
448  void erase( const_iterator const& position );
449 
450  const_iterator find( const OUString &name ) const
451  { return find_( name ); }
452  const value_type& operator[]( size_t index_ ) const
453  { return m_PosIndex.operator[]( index_ ); }
454  const value_type& front() const { return m_PosIndex.front(); }
455  const value_type& back() const { return m_PosIndex.back(); }
456  const_iterator begin() const { return m_PosIndex.begin(); }
457  const_iterator end() const { return m_PosIndex.end(); }
458 
459  bool contains( const value_type& x ) const
460  { return x->m_pdList == this; }
461 
462  void dumpAsXml(xmlTextWriterPtr pWriter) const;
463 };
464 
465 #endif // INCLUDED_SW_INC_PAGEDESC_HXX
466 
467 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
BroadcasterMixin & operator=(const BroadcasterMixin &)
Definition: calbck.hxx:95
void SetTopDist(SwTwips const nNew)
Definition: pagedesc.hxx:76
void SetUseOn(UseOnPage eNew)
Same as WriteUseOn(), but the >= HeaderShare part of the bitfield is not modified.
Definition: pagedesc.hxx:342
const SwFrameFormat & GetLeft() const
Definition: pagedesc.hxx:244
Represents the style of a paragraph.
Definition: fmtcol.hxx:56
const_iterator end() const
Definition: pagedesc.hxx:457
SwPageFootnoteInfo & GetFootnoteInfo()
Definition: pagedesc.hxx:207
SwTwips m_nBottomDist
distance between separator and first footnote
Definition: pagedesc.hxx:58
const_iterator begin() const
Definition: pagedesc.hxx:456
SwFrameFormat & GetLeft()
Definition: pagedesc.hxx:240
void SetLineStyle(SvxBorderLineStyle const eSet)
Definition: pagedesc.hxx:72
const value_type & back() const
Definition: pagedesc.hxx:455
size_t size() const
Definition: pagedesc.hxx:443
void SetPoolHelpId(sal_uInt16 nId)
Definition: format.hxx:152
void ChgHeaderShare(bool bNew)
Definition: pagedesc.hxx:328
const_iterator find(const OUString &name) const
Definition: pagedesc.hxx:450
sal_uInt16 GetRegHeight() const
Definition: pagedesc.hxx:259
void SetPoolHelpId(sal_uInt16 const nId)
Definition: pagedesc.hxx:279
SwPageDescsBase::value_type value_type
Definition: pagedesc.hxx:434
iterator find_(const OUString &name) const
Definition: pagedesc.cxx:747
ByName & m_NameIndex
Definition: pagedesc.hxx:429
void clear()
Definition: pagedesc.hxx:441
sal_uIntPtr sal_uLong
void SetBottomDist(SwTwips const nNew)
Definition: pagedesc.hxx:77
SwTwips GetBottomDist() const
Definition: pagedesc.hxx:68
SwFrameFormat & GetFirstMaster()
Definition: pagedesc.hxx:241
For internal use only.
Definition: doc.hxx:187
SwPageDescExt(const SwPageDesc &rPageDesc, SwDoc *pDoc)
Definition: pagedesc.cxx:679
sal_uInt16 m_nRegAscent
For grid alignment (Registerhaltigkeit).
Definition: pagedesc.hxx:166
bool operator()(std::u16string_view rName, const SwPageDesc *pPageDesc) const
Definition: pagedesc.hxx:308
Dialog to specify the properties of date form field.
const SwFrameFormat & GetMaster() const
Definition: pagedesc.hxx:243
void SetHeight(SwTwips const nNew)
Definition: pagedesc.hxx:70
virtual bool GetInfo(SfxPoolItem &) const override
Definition: calbck.cxx:160
change_name(const OUString &rName)
Definition: pagedesc.hxx:188
SwPageDescExt & operator=(const SwPageDescExt &rSrc)
Definition: pagedesc.cxx:717
UseOnPage GetUseOn() const
Definition: pagedesc.hxx:354
void SetFollow(const SwPageDesc *pNew)
Definition: pagedesc.hxx:315
SwTwips GetTopDist() const
Definition: pagedesc.hxx:67
const OUString & GetName() const
Definition: pagedesc.hxx:197
UseOnPage
Definition: pagedesc.hxx:120
SvxBorderLineStyle
ByPos::iterator iterator
Definition: pagedesc.hxx:423
const SwPageFootnoteInfo & GetFootnoteInfo() const
Definition: pagedesc.hxx:206
For internal use only.
void SetFootnoteInfo(const SwPageFootnoteInfo &rNew)
Definition: pagedesc.hxx:208
std::pair< const_iterator, bool > push_back(const value_type &x)
Definition: pagedesc.cxx:753
void SetPoolFormatId(sal_uInt16 nId)
Definition: format.hxx:148
sal_uInt16 GetPoolFormatId() const
Query and set PoolFormat-Id.
Definition: pagedesc.hxx:276
ByPos::const_iterator const_iterator
Definition: pagedesc.hxx:432
void SetLandscape(bool bNew)
Definition: pagedesc.hxx:201
sw::WriterMultiListener m_aDepends
Because of grid alignment (Registerhaltigkeit).
Definition: pagedesc.hxx:162
struct _xmlTextWriter * xmlTextWriterPtr
Definition: pagedesc.hxx:45
void SetPoolHlpFileId(sal_uInt8 nId)
Definition: format.hxx:154
For internal use only.
SwTwips GetHeight() const
Definition: pagedesc.hxx:61
StashedPageDesc m_aStashedHeader
Definition: pagedesc.hxx:159
drawing::TextVerticalAdjust m_nVerticalAdjustment
Definition: pagedesc.hxx:167
void SetPoolHlpFileId(sal_uInt8 const nId)
Definition: pagedesc.hxx:281
sal_uInt16 GetPoolFormatId() const
Get and set Pool style IDs.
Definition: format.hxx:147
SwFrameFormat m_FirstMaster
Definition: pagedesc.hxx:149
SwPageDesc m_PageDesc
Definition: pagedesc.hxx:380
bool operator()(const SwPageDesc *pPageDesc, std::u16string_view rName) const
Definition: pagedesc.hxx:306
bool IsHeaderShared() const
Definition: pagedesc.hxx:320
void SetPageDesc(const SwPageDesc &rPageDesc)
Definition: pagedesc.cxx:702
struct _xmlTextWriter * xmlTextWriterPtr
SwDoc * m_pDoc
Definition: pagedesc.hxx:382
void SetRegHeight(sal_uInt16 const nNew)
Definition: pagedesc.hxx:261
Style of a layout element.
Definition: frmfmt.hxx:58
void erase(const value_type &x)
Definition: pagedesc.cxx:764
void SetNumType(const SvxNumberType &rNew)
Definition: pagedesc.hxx:204
const SwFrameFormat & GetFirstLeft() const
Definition: pagedesc.hxx:246
Color m_LineColor
color of the separator line
Definition: pagedesc.hxx:54
SvxNumberType m_NumType
Definition: pagedesc.hxx:145
sal_uInt16 m_nRegHeight
Sentence spacing and fontascent of style.
Definition: pagedesc.hxx:165
void SetAdj(css::text::HorizontalAdjust const eNew)
Definition: pagedesc.hxx:75
void SetWidth(const Fraction &rNew)
Definition: pagedesc.hxx:74
bool GetLandscape() const
Definition: pagedesc.hxx:200
SwFrameFormat * GetLeftFormat(bool const bFirst=false)
Definition: pagedesc.cxx:382
void ChgFooterShare(bool bNew)
Definition: pagedesc.hxx:335
UseOnPage ReadUseOn() const
Definition: pagedesc.hxx:237
void dumpAsXml(xmlTextWriterPtr pWriter) const
Definition: pagedesc.cxx:791
sal_uInt8 GetPoolHlpFileId() const
Definition: format.hxx:153
const OUString & mName
Definition: pagedesc.hxx:190
SwPageDescsBase m_Array
Definition: pagedesc.hxx:427
ByPos & m_PosIndex
Definition: pagedesc.hxx:428
void SetVerticalAdjustment(const drawing::TextVerticalAdjust nVA)
Definition: pagedesc.hxx:265
UseOnPage m_eUse
Definition: pagedesc.hxx:168
SwPageDescsBase::size_type size_type
Definition: pagedesc.hxx:433
bool IsFooterShared() const
Definition: pagedesc.hxx:324
bool IsHidden() const
Definition: pagedesc.hxx:217
void SetHidden(bool const bValue)
Definition: pagedesc.hxx:218
bool m_IsLandscape
Definition: pagedesc.hxx:169
void SetPoolFormatId(sal_uInt16 const nId)
Definition: pagedesc.hxx:277
#define SW_DLLPUBLIC
Definition: swdllapi.h:28
SwFrameFormat m_Left
Definition: pagedesc.hxx:147
tools::Long SwTwips
Definition: swtypes.hxx:49
const SwPageDesc * GetFollow() const
Definition: pagedesc.hxx:268
sal_uInt16 GetRegAscent() const
Definition: pagedesc.hxx:260
const value_type & front() const
Definition: pagedesc.hxx:454
SwPageFootnoteInfo m_FootnoteInfo
Footnote information.
Definition: pagedesc.hxx:173
SwFrameFormat & GetMaster()
Definition: pagedesc.hxx:239
SwPageDescsBase::nth_index< 1 >::type ByName
Definition: pagedesc.hxx:422
Footnote information.
Definition: pagedesc.hxx:48
drawing::TextVerticalAdjust GetVerticalAdjustment() const
Definition: pagedesc.hxx:264
const Fraction & GetWidth() const
Definition: pagedesc.hxx:65
sal_uInt16 GetPoolHelpId() const
Get and set Help-IDs for document templates.
Definition: format.hxx:151
unsigned char sal_uInt8
OUString m_StyleName
Definition: pagedesc.hxx:144
void SetLineColor(const Color &rCol)
Definition: pagedesc.hxx:73
OUString const & GetName() const
Definition: pagedesc.cxx:697
OUString m_sFollow
Definition: pagedesc.hxx:383
SwFrameFormat & GetFirstLeft()
Definition: pagedesc.hxx:242
css::text::HorizontalAdjust GetAdj() const
Definition: pagedesc.hxx:66
void WriteUseOn(UseOnPage const eNew)
Definition: pagedesc.hxx:236
SwFrameFormat * GetRightFormat(bool const bFirst=false)
Layout uses the following methods to obtain a format in order to be able to create a page...
Definition: pagedesc.cxx:389
SwPageDesc * m_pFollow
Definition: pagedesc.hxx:164
sal_uLong GetLineWidth() const
Definition: pagedesc.hxx:62
void ResetAllMasterAttr()
Reset all attrs of the format but keep the ones a pagedesc cannot live without.
Definition: pagedesc.hxx:363
sal_uInt16 GetPoolHelpId() const
Definition: pagedesc.hxx:278
SwFrameFormat m_Master
Definition: pagedesc.hxx:146
bool SetName(const OUString &rNewName)
Definition: pagedesc.cxx:148
Fraction m_Width
percentage width of the separator line.
Definition: pagedesc.hxx:55
const SwTextFormatColl * m_pTextFormatColl
Definition: pagedesc.hxx:163
bool contains(const value_type &x) const
Definition: pagedesc.hxx:459
SwPageDescsBase::nth_index< 0 >::type ByPos
Definition: pagedesc.hxx:421
void SetLineWidth(sal_uLong const nSet)
Definition: pagedesc.hxx:71
const SwFrameFormat & GetFirstMaster() const
Definition: pagedesc.hxx:245
sal_uInt8 GetPoolHlpFileId() const
Definition: pagedesc.hxx:280
boost::multi_index_container< SwPageDesc *, boost::multi_index::indexed_by< boost::multi_index::random_access<>, boost::multi_index::ordered_unique< boost::multi_index::identity< SwPageDesc * > > > > SwPageDescsBase
Definition: pagedesc.hxx:414
SwFrameFormat m_FirstLeft
Definition: pagedesc.hxx:150
bool empty() const
Definition: pagedesc.hxx:442
std::shared_ptr< SwFrameFormat > m_pStashedFirstLeft
Definition: pagedesc.hxx:156
SvxBorderLineStyle m_eLineStyle
Style of the separator line.
Definition: pagedesc.hxx:53
SAL_DLLPRIVATE void ResetAllAttr()
Definition: pagedesc.cxx:190
virtual void SwClientNotify(const SwModify &, const SfxHint &rHint) override
Definition: calbck.cxx:302
SwPageDesc * GetFollow()
Definition: pagedesc.hxx:269
bool operator()(const SwPageDesc *lhs, const SwPageDesc *rhs) const
Definition: pagedesc.hxx:310
SwTwips FootnoteSeparatorHeight(SwPageFootnoteInfo const &rInf)
Definition: ftnfrm.cxx:222
StashedPageDesc m_aStashedFooter
Definition: pagedesc.hxx:160
SvxBorderLineStyle GetLineStyle() const
Definition: pagedesc.hxx:64
std::shared_ptr< SwFrameFormat > m_pStashedLeft
Definition: pagedesc.hxx:155
sal_uLong m_nLineWidth
width of separator line
Definition: pagedesc.hxx:52
const value_type & operator[](size_t index_) const
Definition: pagedesc.hxx:452
SwPageDescs * m_pdList
Backref to the assigned SwPageDescs list to handle renames.
Definition: pagedesc.hxx:176
bool m_IsHidden
Definition: pagedesc.hxx:170
void operator()(SwPageDesc *pPageDesc)
Definition: pagedesc.hxx:189
SwTwips m_nTopDist
distance between body and separator.
Definition: pagedesc.hxx:57
css::text::HorizontalAdjust m_eAdjust
line adjustment.
Definition: pagedesc.hxx:56
const Color & GetLineColor() const
Definition: pagedesc.hxx:63
void SetRegAscent(sal_uInt16 const nNew)
Definition: pagedesc.hxx:262
std::shared_ptr< SwFrameFormat > m_pStashedFirst
Definition: pagedesc.hxx:154
SwTwips m_nMaxHeight
maximum height of the footnote area.
Definition: pagedesc.hxx:51
Base class of the Writer document model elements.
Definition: node.hxx:80
const SvxNumberType & GetNumType() const
Definition: pagedesc.hxx:203