LibreOffice Module sw (master)  1
envfmt.cxx
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 #include <hintids.hxx>
21 
22 #include <editeng/paperinf.hxx>
23 #include <editeng/tstpitem.hxx>
24 #include <editeng/lrspitem.hxx>
25 #include <svtools/unitconv.hxx>
26 #include <o3tl/string_view.hxx>
27 #include <osl/diagnose.h>
28 
29 #include <cmdid.h>
30 #include <wrtsh.hxx>
31 #include <view.hxx>
32 #include "envfmt.hxx"
33 #include <fmtcol.hxx>
34 #include <swuipardlg.hxx>
35 #include <chrdlgmodes.hxx>
36 #include <pardlg.hxx>
37 #include <poolfmt.hxx>
38 #include <uitool.hxx>
39 
40 #include <vector>
41 #include <algorithm>
42 
43 #include <memory>
44 
45 #include <swabstdlg.hxx>
46 #include <swuiexp.hxx>
47 
48 static tools::Long lUserW = 5669; // 10 cm
49 static tools::Long lUserH = 5669; // 10 cm
50 
52  : SfxTabPage(pPage, pController, "modules/swriter/ui/envformatpage.ui", "EnvFormatPage", &rSet)
53  , m_pDialog(nullptr)
54  , m_xAddrLeftField(m_xBuilder->weld_metric_spin_button("leftaddr", FieldUnit::CM))
55  , m_xAddrTopField(m_xBuilder->weld_metric_spin_button("topaddr", FieldUnit::CM))
56  , m_xAddrEditButton(m_xBuilder->weld_menu_button("addredit"))
57  , m_xSendLeftField(m_xBuilder->weld_metric_spin_button("leftsender", FieldUnit::CM))
58  , m_xSendTopField(m_xBuilder->weld_metric_spin_button("topsender", FieldUnit::CM))
59  , m_xSendEditButton(m_xBuilder->weld_menu_button("senderedit"))
60  , m_xSizeFormatBox(m_xBuilder->weld_combo_box("format"))
61  , m_xSizeWidthField(m_xBuilder->weld_metric_spin_button("width", FieldUnit::CM))
62  , m_xSizeHeightField(m_xBuilder->weld_metric_spin_button("height", FieldUnit::CM))
63  , m_xPreview(new weld::CustomWeld(*m_xBuilder, "preview", m_aPreview))
64 {
66 
67  // Metrics
68  FieldUnit aMetric = ::GetDfltMetric(false);
69  ::SetFieldUnit(*m_xAddrLeftField, aMetric);
70  ::SetFieldUnit(*m_xAddrTopField, aMetric);
71  ::SetFieldUnit(*m_xSendLeftField, aMetric);
72  ::SetFieldUnit(*m_xSendTopField, aMetric);
73  ::SetFieldUnit(*m_xSizeWidthField, aMetric);
74  ::SetFieldUnit(*m_xSizeHeightField, aMetric);
75 
76  // Install handlers
78  m_xAddrLeftField->connect_value_changed( aLk );
79  m_xAddrTopField->connect_value_changed( aLk );
80  m_xSendLeftField->connect_value_changed( aLk );
81  m_xSendTopField->connect_value_changed( aLk );
82  m_xSizeWidthField->connect_value_changed( aLk );
83  m_xSizeHeightField->connect_value_changed( aLk );
84 
85  m_xAddrEditButton->connect_selected(LINK(this, SwEnvFormatPage, AddrEditHdl));
86  m_xSendEditButton->connect_selected(LINK(this, SwEnvFormatPage, SendEditHdl));
87 
88  m_xSizeFormatBox->connect_changed(LINK(this, SwEnvFormatPage, FormatHdl));
89 
90  // m_xSizeFormatBox
91  for (sal_uInt16 i = PAPER_A3; i <= PAPER_KAI32BIG; i++)
92  {
93  if (i != PAPER_USER)
94  {
95  const OUString aPaperName = SvxPaperInfo::GetName(static_cast<Paper>(i));
96 
97  if (aPaperName.isEmpty())
98  continue;
99 
100  sal_Int32 nPos = 0;
101  while (nPos < m_xSizeFormatBox->get_count() &&
102  m_xSizeFormatBox->get_text(nPos) < aPaperName)
103  {
104  ++nPos;
105  }
106  m_xSizeFormatBox->insert_text(nPos, aPaperName);
107  m_aIDs.insert( m_aIDs.begin() + nPos, i);
108  }
109  }
111  m_aIDs.push_back( sal_uInt16(PAPER_USER) );
112 }
113 
115 {
116  m_pDialog = pDialog;
118 }
119 
121 {
122 }
123 
125 {
126  int lWVal = getfieldval(*m_xSizeWidthField);
127  int lHVal = getfieldval(*m_xSizeHeightField);
128 
129  int lWidth = std::max(lWVal, lHVal);
130  int lHeight = std::min(lWVal, lHVal);
131 
132  if (&rEdit == m_xSizeWidthField.get() || &rEdit == m_xSizeHeightField.get())
133  {
134  int nRotatedWidth = lHeight;
135  int nRotatedHeight = lWidth;
137  Size(nRotatedWidth, nRotatedHeight), MapUnit::MapTwip);
138  for (size_t i = 0; i < m_aIDs.size(); ++i)
139  if (m_aIDs[i] == o3tl::narrowing<sal_uInt16>(ePaper))
140  m_xSizeFormatBox->set_active(i);
141 
142  // remember user size
143  if (m_aIDs[m_xSizeFormatBox->get_active()] == sal_uInt16(PAPER_USER))
144  {
145  lUserW = lWidth ;
146  lUserH = lHeight;
147  }
148 
149  FormatHdl(*m_xSizeFormatBox);
150  }
151  else
152  {
153  FillItem(GetParentSwEnvDlg()->aEnvItem);
154  SetMinMax();
155  m_xPreview->queue_draw();
156  }
157 }
158 
159 IMPL_LINK(SwEnvFormatPage, AddrEditHdl, const OString&, rIdent, void)
160 {
161  Edit(rIdent, false);
162 }
163 
164 IMPL_LINK(SwEnvFormatPage, SendEditHdl, const OString&, rIdent, void)
165 {
166  Edit(rIdent, true);
167 }
168 
169 void SwEnvFormatPage::Edit(std::string_view rIdent, bool bSender)
170 {
171  SwWrtShell* pSh = GetParentSwEnvDlg()->pSh;
172  OSL_ENSURE(pSh, "Shell missing");
173 
174  SwTextFormatColl* pColl = pSh->GetTextCollFromPool( static_cast< sal_uInt16 >(
176  OSL_ENSURE(pColl, "Text collection missing");
177 
178  if (o3tl::starts_with(rIdent, "character"))
179  {
180  SfxItemSet *pCollSet = GetCollItemSet(pColl, bSender);
181 
182  // In order for the background color not to get ironed over:
183  SfxAllItemSet aTmpSet(*pCollSet);
184  ::ConvertAttrCharToGen(aTmpSet);
185 
187 
188  const OUString sFormatStr = pColl->GetName();
189  ScopedVclPtr<SfxAbstractTabDialog> pDlg(rFact.CreateSwCharDlg(GetFrameWeld(), pSh->GetView(), aTmpSet, SwCharDlgMode::Env, &sFormatStr));
190  if (pDlg->Execute() == RET_OK)
191  {
192  SfxItemSet aOutputSet( *pDlg->GetOutputItemSet() );
193  ::ConvertAttrGenToChar(aOutputSet, aTmpSet);
194  pCollSet->Put(aOutputSet);
195  }
196  }
197  else if (o3tl::starts_with(rIdent, "paragraph"))
198  {
199  SfxItemSet *pCollSet = GetCollItemSet(pColl, bSender);
200 
201  // In order for the tabulators not to get ironed over:
202  SfxAllItemSet aTmpSet(*pCollSet);
203 
204  // Insert tabs, default tabs into ItemSet
205  const SvxTabStopItem& rDefTabs =
207 
208  const sal_uInt16 nDefDist = o3tl::narrowing<sal_uInt16>(::GetTabDist( rDefTabs ));
209  SfxUInt16Item aDefDistItem( SID_ATTR_TABSTOP_DEFAULTS, nDefDist );
210  aTmpSet.Put( aDefDistItem );
211 
212  // Current tab
213  SfxUInt16Item aTabPos( SID_ATTR_TABSTOP_POS, 0 );
214  aTmpSet.Put( aTabPos );
215 
216  // left border as offset
217  const tools::Long nOff = aTmpSet.Get( RES_LR_SPACE ).GetTextLeft();
218  SfxInt32Item aOff( SID_ATTR_TABSTOP_OFFSET, nOff );
219  aTmpSet.Put( aOff );
220 
221  // set BoxInfo
222  ::PrepareBoxInfo( aTmpSet, *pSh );
223 
224  const OUString sFormatStr = pColl->GetName();
225  SwParaDlg aDlg(GetFrameWeld(), pSh->GetView(), aTmpSet, DLG_ENVELOP, &sFormatStr);
226 
227  if (aDlg.run() == RET_OK)
228  {
229  // maybe relocate defaults
230  const SfxUInt16Item* pDefaultsItem = nullptr;
231  SfxItemSet* pOutputSet = const_cast<SfxItemSet*>(aDlg.GetOutputItemSet());
232  sal_uInt16 nNewDist;
233 
234  if( (pDefaultsItem = pOutputSet->GetItemIfSet( SID_ATTR_TABSTOP_DEFAULTS, false )) &&
235  nDefDist != (nNewDist = pDefaultsItem->GetValue()) )
236  {
237  SvxTabStopItem aDefTabs( 0, 0, SvxTabAdjust::Default, RES_PARATR_TABSTOP );
238  MakeDefTabs( nNewDist, aDefTabs );
239  pSh->SetDefault( aDefTabs );
240  pOutputSet->ClearItem( SID_ATTR_TABSTOP_DEFAULTS );
241  }
242  if( pOutputSet->Count() )
243  {
244  pCollSet->Put(*pOutputSet);
245  }
246  }
247  }
248 }
249 
250 // A temporary Itemset that gets discarded at abort
252 {
253  std::unique_ptr<SfxItemSet>& pAddrSet = bSender ? GetParentSwEnvDlg()->pSenderSet : GetParentSwEnvDlg()->pAddresseeSet;
254  if (!pAddrSet)
255  {
256  // determine range (merge both Itemsets' ranges)
257  const WhichRangesContainer& pRanges = pColl->GetAttrSet().GetRanges();
258 
259  static WhichRangesContainer const aRanges(svl::Items<
264  SID_ATTR_TABSTOP_DEFAULTS, SID_ATTR_TABSTOP_DEFAULTS,
265  SID_ATTR_TABSTOP_POS, SID_ATTR_TABSTOP_POS,
266  SID_ATTR_TABSTOP_OFFSET, SID_ATTR_TABSTOP_OFFSET,
267  SID_ATTR_BORDER_INNER, SID_ATTR_BORDER_INNER
268  >);
269 
270  pAddrSet.reset(new SfxItemSet(GetParentSwEnvDlg()->pSh->GetView().GetCurShell()->GetPool(),
271  pRanges));
272  for (const auto& rPair : aRanges)
273  pAddrSet->MergeRange(rPair.first, rPair.second);
274  pAddrSet->Put(pColl->GetAttrSet());
275  }
276 
277  return pAddrSet.get();
278 }
279 
281 {
282  tools::Long lWidth;
283  tools::Long lHeight;
284  tools::Long lSendFromLeft;
285  tools::Long lSendFromTop;
286  tools::Long lAddrFromLeft;
287  tools::Long lAddrFromTop;
288 
289  const sal_uInt16 nPaper = m_aIDs[m_xSizeFormatBox->get_active()];
290  if (nPaper != sal_uInt16(PAPER_USER))
291  {
292  Size aSz = SvxPaperInfo::GetPaperSize(static_cast<Paper>(nPaper));
293  lWidth = std::max(aSz.Width(), aSz.Height());
294  lHeight = std::min(aSz.Width(), aSz.Height());
295  }
296  else
297  {
298  lWidth = lUserW;
299  lHeight = lUserH;
300  }
301 
302  lSendFromLeft = 566; // 1cm
303  lSendFromTop = 566; // 1cm
304  lAddrFromLeft = lWidth / 2;
305  lAddrFromTop = lHeight / 2;
306 
307  setfieldval(*m_xAddrLeftField, lAddrFromLeft);
308  setfieldval(*m_xAddrTopField , lAddrFromTop );
309  setfieldval(*m_xSendLeftField, lSendFromLeft);
310  setfieldval(*m_xSendTopField , lSendFromTop );
311 
312  setfieldval(*m_xSizeWidthField , lWidth );
313  setfieldval(*m_xSizeHeightField, lHeight);
314 
315  SetMinMax();
316 
317  FillItem(GetParentSwEnvDlg()->aEnvItem);
318  m_xPreview->queue_draw();
319 }
320 
322 {
323  tools::Long lWVal = static_cast< tools::Long >(getfieldval(*m_xSizeWidthField ));
324  tools::Long lHVal = static_cast< tools::Long >(getfieldval(*m_xSizeHeightField));
325 
326  tools::Long lWidth = std::max(lWVal, lHVal),
327  lHeight = std::min(lWVal, lHVal);
328 
329  // Min and Max
330  m_xAddrLeftField->set_range(100 * (getfieldval(*m_xSendLeftField) + 566),
331  100 * (lWidth - 2 * 566), FieldUnit::TWIP);
332  m_xAddrTopField->set_range(100 * (getfieldval(*m_xSendTopField ) + 2 * 566),
333  100 * (lHeight - 2 * 566), FieldUnit::TWIP);
334  m_xSendLeftField->set_range(100 * 566,
335  100 * (getfieldval(*m_xAddrLeftField) - 566), FieldUnit::TWIP);
336  m_xSendTopField->set_range(100 * 566,
337  100 * (getfieldval(*m_xAddrTopField ) - 2 * 566), FieldUnit::TWIP);
338 }
339 
340 std::unique_ptr<SfxTabPage> SwEnvFormatPage::Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rSet)
341 {
342  return std::make_unique<SwEnvFormatPage>(pPage, pController, *rSet);
343 }
344 
346 {
347  SfxItemSet aSet(rSet);
348  aSet.Put(GetParentSwEnvDlg()->aEnvItem);
349  Reset(&aSet);
350 }
351 
353 {
354  if( _pSet )
355  FillItemSet(_pSet);
356  return DeactivateRC::LeavePage;
357 }
358 
360 {
361  rItem.m_nAddrFromLeft = static_cast< sal_Int32 >(getfieldval(*m_xAddrLeftField));
362  rItem.m_nAddrFromTop = static_cast< sal_Int32 >(getfieldval(*m_xAddrTopField ));
363  rItem.m_nSendFromLeft = static_cast< sal_Int32 >(getfieldval(*m_xSendLeftField));
364  rItem.m_nSendFromTop = static_cast< sal_Int32 >(getfieldval(*m_xSendTopField ));
365 
366  const sal_uInt16 nPaper = m_aIDs[m_xSizeFormatBox->get_active()];
367  if (nPaper == sal_uInt16(PAPER_USER))
368  {
369  tools::Long lWVal = static_cast< tools::Long >(getfieldval(*m_xSizeWidthField ));
370  tools::Long lHVal = static_cast< tools::Long >(getfieldval(*m_xSizeHeightField));
371  rItem.m_nWidth = std::max(lWVal, lHVal);
372  rItem.m_nHeight = std::min(lWVal, lHVal);
373  }
374  else
375  {
376  tools::Long lWVal = SvxPaperInfo::GetPaperSize(static_cast<Paper>(nPaper)).Width ();
377  tools::Long lHVal = SvxPaperInfo::GetPaperSize(static_cast<Paper>(nPaper)).Height();
378  rItem.m_nWidth = std::max(lWVal, lHVal);
379  rItem.m_nHeight = std::min(lWVal, lHVal);
380  }
381 }
382 
384 {
385  FillItem(GetParentSwEnvDlg()->aEnvItem);
386  rSet->Put(GetParentSwEnvDlg()->aEnvItem);
387  return true;
388 }
389 
391 {
392  const SwEnvItem& rItem = static_cast<const SwEnvItem&>( rSet->Get(FN_ENVELOP));
393 
395  Size( std::min(rItem.m_nWidth, rItem.m_nHeight),
396  std::max(rItem.m_nWidth, rItem.m_nHeight)), MapUnit::MapTwip);
397  for (size_t i = 0; i < m_aIDs.size(); ++i)
398  if (m_aIDs[i] == o3tl::narrowing<sal_uInt16>(ePaper))
399  m_xSizeFormatBox->set_active(i);
400 
401  // Metric fields
406  setfieldval(*m_xSizeWidthField , std::max(rItem.m_nWidth, rItem.m_nHeight));
408  SetMinMax();
409 
410  GetParentSwEnvDlg()->pSenderSet.reset();
411  GetParentSwEnvDlg()->pAddresseeSet.reset();
412 }
413 
414 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void SetDefault(const SfxPoolItem &)
Set attribute as new default attribute in document.
Definition: edatmisc.cxx:84
SwNodeOffset min(const SwNodeOffset &a, const SwNodeOffset &b)
Definition: nodeoffset.hxx:35
FieldUnit
Represents the style of a paragraph.
Definition: fmtcol.hxx:56
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
virtual bool FillItemSet(SfxItemSet *rSet) override
Definition: envfmt.cxx:383
constexpr TypedWhichId< SvxTabStopItem > RES_PARATR_TABSTOP(68)
SwTextFormatColl * GetTextCollFromPool(sal_uInt16 nId)
Definition: edfmt.cxx:121
IMPL_LINK_NOARG(SwEnvFormatPage, FormatHdl, weld::ComboBox &, void)
Definition: envfmt.cxx:280
std::unique_ptr< weld::ComboBox > m_xSizeFormatBox
Definition: envfmt.hxx:43
static constexpr auto Items
#define FN_ENVELOP
Definition: cmdid.h:759
virtual const SfxItemSet * GetOutputItemSet() const =0
sal_Int32 m_nHeight
Definition: envimg.hxx:50
std::unique_ptr< weld::MetricSpinButton > m_xSizeWidthField
Definition: envfmt.hxx:44
long Long
SW_DLLPUBLIC void ConvertAttrCharToGen(SfxItemSet &rSet, bool bPara=false)
Convert character specific attributes to general ones used by tab pages.
Definition: uitool.cxx:105
SfxItemSet * GetCollItemSet(SwTextFormatColl const *pColl, bool bSender)
Definition: envfmt.cxx:251
const WhichRangesContainer & GetRanges() const
sal_Int32 m_nWidth
Definition: envimg.hxx:49
sal_uInt16 GetValue() const
sal_Int32 m_nAddrFromLeft
Definition: envimg.hxx:45
SW_DLLPUBLIC SwTwips GetTabDist(const SvxTabStopItem &rTabs)
Definition: uitool.cxx:649
std::unique_ptr< weld::MetricSpinButton > m_xAddrLeftField
Definition: envfmt.hxx:37
std::unique_ptr< weld::MetricSpinButton > m_xSendTopField
Definition: envfmt.hxx:41
sal_Int32 m_nSendFromLeft
Definition: envimg.hxx:47
virtual void Reset(const SfxItemSet *rSet) override
Definition: envfmt.cxx:390
SwEnvDlg * m_pDialog
Definition: envfmt.hxx:33
SfxShell * GetCurShell()
Definition: view.hxx:575
void Init(SwEnvDlg *pDialog)
Definition: envfmt.cxx:114
constexpr bool starts_with(std::basic_string_view< charT, traits > sv, std::basic_string_view< charT, traits > x) noexcept
Used by the UI to modify the document model.
Definition: wrtsh.hxx:96
constexpr tools::Long Width() const
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *rSet)
Definition: envfmt.cxx:340
const SwView & GetView() const
Definition: wrtsh.hxx:437
std::unique_ptr< weld::MenuButton > m_xAddrEditButton
Definition: envfmt.hxx:39
constexpr sal_uInt16 RES_PARATR_BEGIN(RES_TXTATR_END)
std::unique_ptr< SfxItemSet > pAddresseeSet
Definition: envlop.hxx:69
const OUString & GetName() const
Definition: format.hxx:131
void SetExchangeSupport()
sal_Int32 m_nAddrFromTop
Definition: envimg.hxx:46
void FillItem(SwEnvItem &rItem)
Definition: envfmt.cxx:359
static tools::Long lUserH
Definition: envfmt.cxx:49
PAPER_KAI32BIG
SfxItemPool & GetPool() const
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
std::unique_ptr< weld::MetricSpinButton > m_xSendLeftField
Definition: envfmt.hxx:40
void Edit(std::string_view rIdent, bool bSender)
Definition: envfmt.cxx:169
SwEnvPreview m_aPreview
Definition: envfmt.hxx:36
SW_DLLPUBLIC FieldUnit GetDfltMetric(bool bWeb)
Definition: uitool.cxx:755
int i
std::vector< sal_uInt16 > m_aIDs
Definition: envfmt.hxx:34
SwAbstractDialogFactory & GetFactory()
Definition: swuiexp.cxx:26
std::unique_ptr< SfxItemSet > pSenderSet
Definition: envlop.hxx:70
IMPL_LINK(SwEnvFormatPage, ModifyHdl, weld::MetricSpinButton &, rEdit, void)
Definition: envfmt.cxx:124
void SetDialog(SwEnvDlg *pDialog)
Definition: envlop.hxx:56
sal_uInt16 Count() const
#define DLG_ENVELOP
Definition: pardlg.hxx:24
SwWrtShell * pSh
Definition: envlop.hxx:67
static OUString GetName(Paper ePaper)
Paper
static Size GetPaperSize(Paper ePaper, MapUnit eUnit=MapUnit::MapTwip)
SW_DLLPUBLIC void ConvertAttrGenToChar(SfxItemSet &rSet, const SfxItemSet &rOrigSet, bool bPara=false)
Convert general attributes to the corresponding character attributes.
Definition: uitool.cxx:144
SwEnvFormatPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet)
Definition: envfmt.cxx:51
SW_DLLPUBLIC void MakeDefTabs(SwTwips nDefDist, SvxTabStopItem &rTabs)
Definition: uitool.cxx:637
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
PAPER_USER
weld::Window * GetFrameWeld() const
weld::Entry & rEdit
constexpr TypedWhichId< SvxBrushItem > RES_BACKGROUND(105)
std::unique_ptr< weld::MenuButton > m_xSendEditButton
Definition: envfmt.hxx:42
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
virtual ~SwEnvFormatPage() override
Definition: envfmt.cxx:120
constexpr tools::Long Height() const
RET_OK
constexpr sal_uInt16 RES_PARATR_END(82)
virtual void ActivatePage(const SfxItemSet &rSet) override
Definition: envfmt.cxx:345
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(91)
PAPER_A3
DeactivateRC
SW_DLLPUBLIC void PrepareBoxInfo(SfxItemSet &rSet, const SwWrtShell &rSh)
Definition: uitool.cxx:81
std::unique_ptr< weld::MetricSpinButton > m_xSizeHeightField
Definition: envfmt.hxx:45
static tools::Long lUserW
Definition: envfmt.cxx:48
const SwAttrSet & GetAttrSet() const
For querying the attribute array.
Definition: format.hxx:136
sal_Int32 m_nSendFromTop
Definition: envimg.hxx:48
int getfieldval(const weld::MetricSpinButton &rField)
Definition: envlop.hxx:30
virtual VclPtr< SfxAbstractTabDialog > CreateSwCharDlg(weld::Window *pParent, SwView &pVw, const SfxItemSet &rCoreSet, SwCharDlgMode nDialogMode, const OUString *pFormatStr=nullptr)=0
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(92)
constexpr TypedWhichId< SvxAdjustItem > RES_PARATR_ADJUST(64)
constexpr TypedWhichId< SvxShadowItem > RES_SHADOW(107)
void SetMinMax()
Definition: envfmt.cxx:321
sal_uInt16 nPos
std::unique_ptr< weld::MetricSpinButton > m_xAddrTopField
Definition: envfmt.hxx:38
virtual DeactivateRC DeactivatePage(SfxItemSet *pSet) override
Definition: envfmt.cxx:352
SwEnvDlg * GetParentSwEnvDlg()
Definition: envfmt.hxx:59
static Paper GetSvxPaper(const Size &rSize, MapUnit eUnit)
void setfieldval(weld::MetricSpinButton &rField, int lValue)
Definition: envlop.hxx:35