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