LibreOffice Module cui (master)  1
tparea.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 <stdlib.h>
21 
22 #include <tools/urlobj.hxx>
23 #include <sfx2/app.hxx>
24 #include <sfx2/module.hxx>
25 #include <svx/dialogs.hrc>
26 #include <svx/svxids.hrc>
27 
28 #include <svx/xpool.hxx>
29 #include <svx/xfillit0.hxx>
30 #include <svx/xflbckit.hxx>
31 #include <svx/xtable.hxx>
32 #include <svx/xlineit0.hxx>
33 #include <svx/drawitem.hxx>
34 #include <svx/xflclit.hxx>
35 #include <svx/xflgrit.hxx>
36 #include <svx/xflhtit.hxx>
37 #include <svx/xbtmpit.hxx>
38 #include <cuitabarea.hxx>
39 #include <dlgname.hxx>
40 #include <svx/dlgutil.hxx>
41 #include <svl/intitem.hxx>
42 #include <sfx2/request.hxx>
43 #include <sfx2/tabdlg.hxx>
44 #include <sfx2/opengrf.hxx>
45 
46 using namespace com::sun::star;
47 
48 // static ----------------------------------------------------------------
49 
51 {
58 };
59 
60 const sal_uInt16 SvxAreaTabPage::pAreaRanges[] =
61 {
64  SID_ATTR_FILL_STYLE,
65  SID_ATTR_FILL_BITMAP,
66  0
67 };
68 
69 namespace
70 {
71 
72 void lclExtendSize(Size& rSize, const Size& rInputSize)
73 {
74  if (rSize.Width() < rInputSize.Width())
75  rSize.setWidth( rInputSize.Width() );
76  if (rSize.Height() < rInputSize.Height())
77  rSize.setHeight( rInputSize.Height() );
78 }
79 
80 } // end anonymous namespace
81 
82 /*************************************************************************
83 |*
84 |* Dialog to modify fill-attributes
85 |*
86 \************************************************************************/
87 
89  : SfxTabPage(pParent, "cui/ui/areatabpage.ui", "AreaTabPage", &rInAttrs)
90  // local fixed not o be changed values for local pointers
91  , maFixed_ChangeType(ChangeType::NONE)
92  // init with pointers to fixed ChangeType
93  , m_pnColorListState(&maFixed_ChangeType)
94  , m_pnBitmapListState(&maFixed_ChangeType)
95  , m_pnPatternListState(&maFixed_ChangeType)
96  , m_pnGradientListState(&maFixed_ChangeType)
97  , m_pnHatchingListState(&maFixed_ChangeType)
98  , m_aXFillAttr(rInAttrs.GetPool())
99  , m_rXFSet(m_aXFillAttr.GetItemSet())
100  , m_xFillTab(m_xBuilder->weld_container("fillstylebox"))
101  , m_xBtnNone(m_xBuilder->weld_toggle_button("btnnone"))
102  , m_xBtnColor(m_xBuilder->weld_toggle_button("btncolor"))
103  , m_xBtnGradient(m_xBuilder->weld_toggle_button("btngradient"))
104  , m_xBtnHatch(m_xBuilder->weld_toggle_button("btnhatch"))
105  , m_xBtnBitmap(m_xBuilder->weld_toggle_button("btnbitmap"))
106  , m_xBtnPattern(m_xBuilder->weld_toggle_button("btnpattern"))
107 {
108  maBox.AddButton(m_xBtnNone.get());
109  maBox.AddButton(m_xBtnColor.get());
111  maBox.AddButton(m_xBtnHatch.get());
114  Link<weld::ToggleButton&, void> aLink = LINK(this, SvxAreaTabPage, SelectFillTypeHdl_Impl);
115  m_xBtnNone->connect_toggled(aLink);
116  m_xBtnColor->connect_toggled(aLink);
117  m_xBtnGradient->connect_toggled(aLink);
118  m_xBtnHatch->connect_toggled(aLink);
119  m_xBtnBitmap->connect_toggled(aLink);
120  m_xBtnPattern->connect_toggled(aLink);
121 
123 }
124 
126 {
127  m_xFillTab->set_size_request(-1, -1);
128 
129  TabPageParent aFillTab(m_xFillTab.get(), pController);
130  // TEMP
131  if (!aFillTab.pController)
132  aFillTab.pParent = GetParentDialog();
133 
134  // Calculate optimal size of all pages..
136  Size aSize(m_xFillTab->get_preferred_size());
137 
138  if (m_xBtnGradient->get_visible())
139  {
141  Size aGradientSize = m_xFillTab->get_preferred_size();
142  lclExtendSize(aSize, aGradientSize);
143  }
144  if (m_xBtnBitmap->get_visible())
145  {
147  Size aBitmapSize = m_xFillTab->get_preferred_size();
148  lclExtendSize(aSize, aBitmapSize);
149  }
150  if (m_xBtnHatch->get_visible())
151  {
153  Size aHatchSize = m_xFillTab->get_preferred_size();
154  lclExtendSize(aSize, aHatchSize);
155  }
156  if (m_xBtnPattern->get_visible())
157  {
159  Size aPatternSize = m_xFillTab->get_preferred_size();
160  lclExtendSize(aSize, aPatternSize);
161  }
163 
164  aSize.extendBy(10, 10); // apply a bit of margin
165 
166  m_xFillTab->set_size_request(aSize.Width(), aSize.Height());
167 }
168 
170 {
171  disposeOnce();
172 }
173 
175 {
178 }
179 
181 {
182  drawing::FillStyle eXFS = drawing::FillStyle_NONE;
183  if( rSet.GetItemState( XATTR_FILLSTYLE ) != SfxItemState::DONTCARE )
184  {
185  XFillStyleItem aFillStyleItem( static_cast<const XFillStyleItem&>( rSet.Get( GetWhich( XATTR_FILLSTYLE ) ) ) );
186  eXFS = aFillStyleItem.GetValue();
187  m_rXFSet.Put( aFillStyleItem );
188  }
189 
190  switch(eXFS)
191  {
192  default:
193  case drawing::FillStyle_NONE:
194  {
196  break;
197  }
198  case drawing::FillStyle_SOLID:
199  {
200  m_rXFSet.Put( static_cast<const XFillColorItem&>( rSet.Get( GetWhich( XATTR_FILLCOLOR ) ) ) );
202  break;
203  }
204  case drawing::FillStyle_GRADIENT:
205  {
206  m_rXFSet.Put( static_cast<const XFillGradientItem&>( rSet.Get( GetWhich( XATTR_FILLGRADIENT ) ) ) );
208  break;
209  }
210  case drawing::FillStyle_HATCH:
211  {
212  m_rXFSet.Put( rSet.Get(XATTR_FILLHATCH) );
214  m_rXFSet.Put( rSet.Get(XATTR_FILLCOLOR) );
216  break;
217  }
218  case drawing::FillStyle_BITMAP:
219  {
220  const bool bPattern
222  // pass full item set here, bitmap fill has many attributes (tiling, size, offset etc.)
223  m_rXFSet.Put( rSet );
224  if (!bPattern)
226  else
228  break;
229  }
230  }
231 }
232 
233 template< typename TTabPage >
235 {
236  return static_cast<TTabPage&>(*m_pFillTabPage).DeactivatePage(_pSet);
237 }
238 
240 {
241  FillType eFillType = static_cast<FillType>(maBox.GetCurrentButtonPos());
242  switch( eFillType )
243  {
244  case TRANSPARENT:
245  {
246  // Fill: None doesn't have its own tabpage and thus
247  // implementation of FillItemSet, so we supply it here
248  if ( m_bBtnClicked )
249  {
250  XFillStyleItem aStyleItem( drawing::FillStyle_NONE );
251  _pSet->Put( aStyleItem );
252  }
253  break;
254  }
255  case SOLID:
256  return DeactivatePage_Impl<SvxColorTabPage>(_pSet);
257  case GRADIENT:
258  return DeactivatePage_Impl<SvxGradientTabPage>(_pSet);
259  case HATCH:
260  return DeactivatePage_Impl<SvxHatchTabPage>(_pSet);
261  case BITMAP:
262  return DeactivatePage_Impl<SvxBitmapTabPage&>(_pSet);
263  case PATTERN:
264  return DeactivatePage_Impl<SvxPatternTabPage>(_pSet);
265  default:
266  break;
267  }
268  return DeactivateRC::LeavePage;
269 }
270 
271 template< typename TTabPage >
273 {
274  return static_cast<TTabPage&>( *m_pFillTabPage ).FillItemSet( rAttrs );
275 }
276 
278 {
279  FillType eFillType = static_cast<FillType>(maBox.GetCurrentButtonPos());
280  switch( eFillType )
281  {
282  case TRANSPARENT:
283  {
284  rAttrs->Put( XFillStyleItem( drawing::FillStyle_NONE ) );
285  return true;
286  }
287  case SOLID:
288  {
289  return FillItemSet_Impl<SvxColorTabPage>( rAttrs );
290  }
291  case GRADIENT:
292  {
293  return FillItemSet_Impl<SvxGradientTabPage>( rAttrs );
294  }
295  case HATCH:
296  {
297  return FillItemSet_Impl<SvxHatchTabPage>( rAttrs );
298  }
299  case BITMAP:
300  {
301  return FillItemSet_Impl<SvxBitmapTabPage>( rAttrs );
302  }
303  case PATTERN:
304  {
305  return FillItemSet_Impl<SvxPatternTabPage>( rAttrs );
306  }
307  default:
308  return false;
309  }
310 }
311 
312 template< typename TTabPage >
314 {
315  static_cast<TTabPage&>( *m_pFillTabPage ).Reset( rAttrs );
316 }
317 
318 void SvxAreaTabPage::Reset( const SfxItemSet* rAttrs )
319 {
320  m_bBtnClicked = false;
321  auto eFillType = maBox.GetCurrentButtonPos();
322  switch(eFillType)
323  {
324  case SOLID:
325  {
326  Reset_Impl<SvxColorTabPage>( rAttrs );
327  break;
328  }
329  case GRADIENT:
330  {
331  Reset_Impl<SvxGradientTabPage>( rAttrs );
332  break;
333  }
334  case HATCH:
335  {
336  Reset_Impl<SvxHatchTabPage>( rAttrs );
337  break;
338  }
339  case BITMAP:
340  {
341  Reset_Impl<SvxBitmapTabPage>( rAttrs );
342  break;
343  }
344  case PATTERN:
345  {
346  Reset_Impl<SvxPatternTabPage>( rAttrs );
347  break;
348  }
349  default:
350  break;
351  }
352 }
353 
355 {
356  auto xRet = VclPtr<SvxAreaTabPage>::Create(pParent, *rAttrs);
357  xRet->SetOptimalSize(pParent.pController);
358  return xRet;
359 }
360 
361 namespace {
362 
363 VclPtr<SfxTabPage> lcl_CreateFillStyleTabPage(sal_uInt16 nId, TabPageParent pParent, const SfxItemSet& rSet)
364 {
365  CreateTabPage fnCreate = nullptr;
366  switch(nId)
367  {
368  case TRANSPARENT: fnCreate = nullptr; break;
369  case SOLID: fnCreate = &SvxColorTabPage::Create; break;
370  case GRADIENT: fnCreate = &SvxGradientTabPage::Create; break;
371  case HATCH: fnCreate = &SvxHatchTabPage::Create; break;
372  case BITMAP: fnCreate = &SvxBitmapTabPage::Create; break;
373  case PATTERN: fnCreate = &SvxPatternTabPage::Create; break;
374  }
375  VclPtr<SfxTabPage> pRet = fnCreate ? (*fnCreate)( pParent, &rSet ) : nullptr;
376  return pRet;
377 }
378 
379 }
380 
381 IMPL_LINK(SvxAreaTabPage, SelectFillTypeHdl_Impl, weld::ToggleButton&, rButton, void)
382 {
383  //tdf#124549 - If the button is already active do not toggle it back.
384  if(!rButton.get_active())
385  rButton.set_active(true);
386 
387  SelectFillType(rButton);
388  m_bBtnClicked = true;
389 }
390 
392 {
393  if (_pSet)
394  m_rXFSet.Set(*_pSet);
395 
396  sal_Int32 nPos = maBox.GetButtonPos(&rButton);
397  if (nPos != -1 && (_pSet || nPos != maBox.GetCurrentButtonPos()))
398  {
399  maBox.SelectButton(&rButton);
400  FillType eFillType = static_cast<FillType>(maBox.GetCurrentButtonPos());
401  TabPageParent aFillTab(m_xFillTab.get(), GetDialogController());
402  m_pFillTabPage.disposeAndReset(lcl_CreateFillStyleTabPage(eFillType, aFillTab, m_rXFSet));
403  if (m_pFillTabPage)
404  m_pFillTabPage->SetDialogController(GetDialogController());
405  CreatePage( eFillType , m_pFillTabPage);
406  }
407 }
408 
410 {
411  const SvxColorListItem* pColorListItem = aSet.GetItem<SvxColorListItem>(SID_COLOR_TABLE, false);
412  const SvxGradientListItem* pGradientListItem = aSet.GetItem<SvxGradientListItem>(SID_GRADIENT_LIST, false);
413  const SvxHatchListItem* pHatchingListItem = aSet.GetItem<SvxHatchListItem>(SID_HATCH_LIST, false);
414  const SvxBitmapListItem* pBitmapListItem = aSet.GetItem<SvxBitmapListItem>(SID_BITMAP_LIST, false);
415  const SvxPatternListItem* pPatternListItem = aSet.GetItem<SvxPatternListItem>(SID_PATTERN_LIST, false);
416 
417  if (pColorListItem)
418  SetColorList(pColorListItem->GetColorList());
419  if (pGradientListItem)
420  SetGradientList(pGradientListItem->GetGradientList());
421  if (pHatchingListItem)
422  SetHatchingList(pHatchingListItem->GetHatchList());
423  if (pBitmapListItem)
424  SetBitmapList(pBitmapListItem->GetBitmapList());
425  if (pPatternListItem)
426  SetPatternList(pPatternListItem->GetPatternList());
427 }
428 
429 void SvxAreaTabPage::CreatePage( sal_Int32 nId, SfxTabPage* pTab )
430 {
431  if(nId == SOLID )
432  {
433  auto* pColorTab = static_cast<SvxColorTabPage*>(pTab);
434  pColorTab->SetColorList(m_pColorList);
435  pColorTab->SetColorChgd(m_pnColorListState);
436  pColorTab->Construct();
437  pColorTab->ActivatePage(m_rXFSet);
438  pColorTab->Reset(&m_rXFSet);
439  pColorTab->Show();
440  }
441  else if(nId == GRADIENT)
442  {
443  auto* pGradientTab = static_cast<SvxGradientTabPage*>(pTab);
444  pGradientTab->SetColorList(m_pColorList);
445  pGradientTab->SetGradientList(m_pGradientList);
446  pGradientTab->SetGrdChgd(m_pnGradientListState);
447  pGradientTab->SetColorChgd(m_pnColorListState);
448  pGradientTab->Construct();
449  pGradientTab->ActivatePage(m_rXFSet);
450  pGradientTab->Reset(&m_rXFSet);
451  pGradientTab->Show();
452  }
453  else if(nId == HATCH)
454  {
455  auto* pHatchTab = static_cast<SvxHatchTabPage*>(pTab);
456  pHatchTab->SetColorList(m_pColorList);
457  pHatchTab->SetHatchingList(m_pHatchingList);
458  pHatchTab->SetHtchChgd(m_pnHatchingListState);
459  pHatchTab->SetColorChgd(m_pnColorListState);
460  pHatchTab->Construct();
461  pHatchTab->ActivatePage(m_rXFSet);
462  pHatchTab->Reset(&m_rXFSet);
463  pHatchTab->Show();
464  }
465  else if(nId == BITMAP)
466  {
467  auto* pBitmapTab = static_cast<SvxBitmapTabPage*>(pTab);
468  pBitmapTab->SetBitmapList(m_pBitmapList);
469  pBitmapTab->SetBmpChgd(m_pnBitmapListState);
470  pBitmapTab->Construct();
471  pBitmapTab->ActivatePage(m_rXFSet);
472  pBitmapTab->Reset(&m_rXFSet);
473  pBitmapTab->Show();
474  }
475  else if(nId == PATTERN)
476  {
477  auto* pPatternTab = static_cast<SvxPatternTabPage*>(pTab);
478  pPatternTab->SetColorList(m_pColorList);
479  pPatternTab->SetPatternList(m_pPatternList);
480  pPatternTab->SetPtrnChgd(m_pnPatternListState);
481  pPatternTab->SetColorChgd(m_pnColorListState);
482  pPatternTab->Construct();
483  pPatternTab->ActivatePage(m_rXFSet);
484  pPatternTab->Reset(&m_rXFSet);
485  pPatternTab->Show();
486  }
487 }
488 
489 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
DeactivateRC DeactivatePage_Impl(SfxItemSet *pSet)
Definition: tparea.cxx:234
void SetBitmapList(const XBitmapListRef &pBmpLst)
Definition: cuitabarea.hxx:581
long Width() const
#define XATTR_FILLHATCH
virtual bool FillItemSet(SfxItemSet *) override
Definition: tparea.cxx:277
sal_Int32 GetButtonPos(weld::ToggleButton *pButton)
Definition: cuitabarea.hxx:66
static const sal_uInt16 pAreaRanges[]
Definition: cuitabarea.hxx:212
void Reset_Impl(const SfxItemSet *)
Definition: tparea.cxx:313
void SetGradientList(XGradientListRef const &pGrdLst)
Definition: cuitabarea.hxx:283
bool Set(const SfxItemSet &, bool bDeep=true)
ButtonBox maBox
Definition: cuitabarea.hxx:215
long Height() const
static VclPtr< SfxTabPage > Create(TabPageParent, const SfxItemSet *)
Definition: tpcolor.cxx:290
void disposeAndClear()
std::unique_ptr< weld::ToggleButton > m_xBtnHatch
Definition: cuitabarea.hxx:245
virtual void ActivatePage(const SfxItemSet &rSet) override
Definition: tparea.cxx:180
#define XATTR_FILLGRADIENT
virtual void Reset(const SfxItemSet *) override
Definition: tparea.cxx:318
virtual void dispose() override
Definition: tparea.cxx:174
XGradientListRef m_pGradientList
Definition: cuitabarea.hxx:218
void SetColorList(XColorListRef const &pColorList)
Definition: cuitabarea.hxx:282
static VclPtr< SfxTabPage > Create(TabPageParent, const SfxItemSet *)
Definition: tpgradnt.cxx:246
#define XATTR_FILLCOLOR
XBitmapListRef m_pBitmapList
Definition: cuitabarea.hxx:220
void disposeAndReset(reference_type *pBody)
static VclPtr< SfxTabPage > Create(TabPageParent, const SfxItemSet *)
Definition: tparea.cxx:354
void SetExchangeSupport()
BITMAP
ScopedVclPtr< SfxTabPage > m_pFillTabPage
Definition: cuitabarea.hxx:214
IMPL_LINK(SvxAreaTabPage, SelectFillTypeHdl_Impl, weld::ToggleButton &, rButton, void)
Definition: tparea.cxx:381
std::unique_ptr< weld::Container > m_xFillTab
Definition: cuitabarea.hxx:241
virtual void dispose() override
sal_Int32 GetCurrentButtonPos()
Definition: cuitabarea.hxx:65
FillType
Definition: tparea.cxx:50
virtual void PageCreated(const SfxAllItemSet &aSet) override
Definition: tparea.cxx:409
std::unique_ptr< weld::ToggleButton > m_xBtnColor
Definition: cuitabarea.hxx:243
void SetPatternList(XPatternListRef const &pPtrnLst)
Definition: cuitabarea.hxx:288
std::unique_ptr< weld::ToggleButton > m_xBtnGradient
Definition: cuitabarea.hxx:244
ChangeType * m_pnGradientListState
Definition: cuitabarea.hxx:232
ChangeType
NONE
VclPtr< vcl::Window > pParent
void SetColorList(const XColorListRef &pColList)
Definition: tpcolor.cxx:753
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
void SetHatchingList(XHatchListRef const &pHtchLst)
Definition: cuitabarea.hxx:285
weld::DialogController * pController
void SelectButton(weld::ToggleButton *pButton)
Definition: cuitabarea.hxx:74
GRADIENT
Definition: tparea.cxx:55
ChangeType * m_pnBitmapListState
Definition: cuitabarea.hxx:230
void SelectFillType(weld::ToggleButton &rButton, const SfxItemSet *_pSet=nullptr)
Definition: tparea.cxx:391
virtual ~SvxAreaTabPage() override
Definition: tparea.cxx:169
SvxAreaTabPage(TabPageParent pParent, const SfxItemSet &rInAttrs)
Definition: tparea.cxx:88
const SfxItemSet * GetItemSet(const SfxPoolItem &rAttr)
virtual DeactivateRC DeactivatePage(SfxItemSet *pSet) override
Definition: tparea.cxx:239
Definition: tparea.cxx:53
XHatchListRef m_pHatchingList
Definition: cuitabarea.hxx:219
VclPtr< SfxTabPage >(* CreateTabPage)(TabPageParent pParent, const SfxItemSet *rAttrSet)
#define XATTR_GRADIENTSTEPCOUNT
std::unique_ptr< weld::ToggleButton > m_xBtnNone
Definition: cuitabarea.hxx:242
const XColorListRef & GetColorList() const
std::unique_ptr< weld::ToggleButton > m_xBtnBitmap
Definition: cuitabarea.hxx:246
#define XATTR_FILLSTYLE
void CreatePage(sal_Int32 nId, SfxTabPage *pTab)
Definition: tparea.cxx:429
SOLID
static VclPtr< SfxTabPage > Create(TabPageParent, const SfxItemSet *)
Definition: tpbitmap.cxx:434
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
static VclPtr< SfxTabPage > Create(TabPageParent, const SfxItemSet *)
Definition: tppattern.cxx:258
ChangeType * m_pnPatternListState
Definition: cuitabarea.hxx:231
static VclPtr< reference_type > Create(Arg &&...arg)
void SetColorList(XColorListRef const &pColorList)
Definition: cuitabarea.hxx:424
SfxOkDialogController * GetDialogController() const
ChangeType * m_pnHatchingListState
Definition: cuitabarea.hxx:233
HATCH
DeactivateRC
#define XATTR_FILLBITMAP
void AddButton(weld::ToggleButton *pButton)
Definition: cuitabarea.hxx:60
std::unique_ptr< weld::ToggleButton > m_xBtnPattern
Definition: cuitabarea.hxx:247
bool FillItemSet_Impl(SfxItemSet *)
Definition: tparea.cxx:272
void SetBitmapList(XBitmapListRef const &pBmpLst)
Definition: cuitabarea.hxx:287
static VclPtr< SfxTabPage > Create(TabPageParent, const SfxItemSet *)
Definition: tphatch.cxx:285
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
sal_Int32 nPos
XPatternListRef m_pPatternList
Definition: cuitabarea.hxx:221
XColorListRef m_pColorList
Definition: cuitabarea.hxx:217
void setWidth(long nWidth)
void SetColorList(XColorListRef const &pColorList)
Definition: cuitabarea.hxx:641
void SetOptimalSize(weld::DialogController *pController)
Definition: tparea.cxx:125
sal_uInt16 GetWhich(sal_uInt16 nSlot, bool bDeep=true) const
void SetColorList(XColorListRef const &pColorList)
Definition: cuitabarea.hxx:496
#define XATTR_FILLBACKGROUND
ChangeType * m_pnColorListState
Definition: cuitabarea.hxx:229
SfxItemSet & m_rXFSet
Definition: cuitabarea.hxx:236
void setHeight(long nHeight)