LibreOffice Module sw (master)  1
PageStylesPanel.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 #include <sal/config.h>
20 #include <svl/intitem.hxx>
21 #include <svx/colorbox.hxx>
22 #include <svx/drawitem.hxx>
23 #include <svx/xfillit0.hxx>
24 #include <svx/xflclit.hxx>
25 #include <svx/xflgrit.hxx>
26 #include <svx/xflhtit.hxx>
27 #include <svx/xbtmpit.hxx>
29 #include "PageStylesPanel.hxx"
30 #include <sfx2/dispatch.hxx>
31 #include <sfx2/bindings.hxx>
32 #include <sfx2/objsh.hxx>
33 #include <cmdid.h>
34 
35 using namespace ::com::sun::star;
36 
37 namespace sw::sidebar{
38 
39 namespace {
40 
41 enum eFillStyle
42 {
43  NONE,
44  SOLID,
45  GRADIENT,
46  HATCH,
47  BITMAP,
48  PATTERN
49 };
50 
51 }
52 
53 const SvxPageUsage aArr[] =
54 {
55  SvxPageUsage::All,
56  SvxPageUsage::Mirror,
57  SvxPageUsage::Right,
58  SvxPageUsage::Left
59 };
60 
61 
62 static sal_uInt16 PageUsageToPos_Impl( SvxPageUsage nUsage )
63 {
64  for ( size_t i = 0; i < SAL_N_ELEMENTS(aArr); ++i )
65  if ( aArr[i] == nUsage )
66  return i;
67  return 3;
68 }
69 
70 
71 static SvxPageUsage PosToPageUsage_Impl( sal_uInt16 nPos )
72 {
73  if ( nPos >= SAL_N_ELEMENTS(aArr) )
74  return SvxPageUsage::NONE;
75  return aArr[nPos];
76 }
77 
79  vcl::Window* pParent,
80  const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rxFrame,
81  SfxBindings* pBindings)
82 {
83  if( pParent == nullptr )
84  throw ::com::sun::star::lang::IllegalArgumentException("no parent window given to PageStylesPanel::Create", nullptr, 0);
85  if( !rxFrame.is() )
86  throw ::com::sun::star::lang::IllegalArgumentException("no XFrame given to PageStylesPanel::Create", nullptr, 0);
87  if( pBindings == nullptr )
88  throw ::com::sun::star::lang::IllegalArgumentException("no SfxBindings given to PageStylesPanel::Create", nullptr, 0);
89 
90  return VclPtr<PageStylesPanel>::Create(pParent, rxFrame, pBindings);
91 }
92 
94  vcl::Window* pParent,
95  const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rxFrame,
96  SfxBindings* pBindings
97  ) :
98  PanelLayout(pParent, "PageStylesPanel", "modules/swriter/ui/pagestylespanel.ui", rxFrame),
99  mpBindings( pBindings ),
100  mpPageColumnItem( new SfxInt16Item(SID_ATTR_PAGE_COLUMN) ),
101  mpPageItem( new SvxPageItem(SID_ATTR_PAGE) ),
102  maPageColumnControl(SID_ATTR_PAGE_COLUMN, *pBindings, *this),
103  maPageNumFormatControl( SID_ATTR_PAGE, *pBindings, *this ),
104  maBgColorControl( SID_ATTR_PAGE_COLOR, *pBindings, *this ),
105  maBgHatchingControl( SID_ATTR_PAGE_HATCH, *pBindings, *this ),
106  maBgGradientControl( SID_ATTR_PAGE_GRADIENT, *pBindings, *this ),
107  maBgBitmapControl( SID_ATTR_PAGE_BITMAP, *pBindings, *this ),
108  maBgFillStyleControl(SID_ATTR_PAGE_FILLSTYLE, *pBindings, *this),
109  mxBgColorLB(new ColorListBox(m_xBuilder->weld_menu_button("lbcolor"), GetFrameWeld())),
110  mxBgHatchingLB(m_xBuilder->weld_combo_box("lbhatching")),
111  mxBgGradientLB(new ColorListBox(m_xBuilder->weld_menu_button("lbgradient"), GetFrameWeld())),
112  mxBgBitmapLB(m_xBuilder->weld_combo_box("lbbitmap")),
113  mxLayoutSelectLB(m_xBuilder->weld_combo_box("layoutbox")),
114  mxColumnCount(m_xBuilder->weld_combo_box("columnbox")),
115  mxNumberSelectLB(new SvxPageNumberListBox(m_xBuilder->weld_combo_box("numberbox"))),
116  mxBgFillType(m_xBuilder->weld_combo_box("bgselect")),
117  mxCustomEntry(m_xBuilder->weld_label("customlabel")),
118  aCustomEntry()
119 {
120  Initialize();
121 }
122 
124 {
125  disposeOnce();
126 }
127 
129 {
130  mxColumnCount.reset();
131  mxNumberSelectLB.reset();
132  mxBgFillType.reset();
133  mxBgColorLB.reset();
134  mxBgHatchingLB.reset();
135  mxBgGradientLB.reset();
136  mxBgBitmapLB.reset();
137  mxLayoutSelectLB.reset();
138  mxCustomEntry.reset();
139 
148 }
149 
151 {
153 
154  aCustomEntry = mxCustomEntry->get_label();
156  mpBindings->Invalidate(SID_ATTR_PAGE);
157  mpBindings->Invalidate(SID_ATTR_PAGE_FILLSTYLE);
158  Update();
159 
160  mxColumnCount->connect_changed( LINK(this, PageStylesPanel, ModifyColumnCountHdl) );
161  SvxNumOptionsTabPageHelper::GetI18nNumbering(mxNumberSelectLB->get_widget(), ::std::numeric_limits<sal_uInt16>::max());
162  mxNumberSelectLB->connect_changed( LINK(this, PageStylesPanel, ModifyNumberingHdl) );
163  mxLayoutSelectLB->connect_changed( LINK(this, PageStylesPanel, ModifyLayoutHdl) );
164  mxBgFillType->connect_changed( LINK(this, PageStylesPanel, ModifyFillStyleHdl));
165  mxBgColorLB->SetSelectHdl( LINK(this, PageStylesPanel, ModifyFillColorListHdl));
166  mxBgGradientLB->SetSelectHdl( LINK(this, PageStylesPanel, ModifyFillColorListHdl));
167  mxBgHatchingLB->connect_changed( LINK(this, PageStylesPanel, ModifyFillColorHdl));
168  mxBgBitmapLB->connect_changed( LINK(this, PageStylesPanel, ModifyFillColorHdl));
169 }
170 
172 {
173  const eFillStyle eXFS = static_cast<eFillStyle>(mxBgFillType->get_active());
175  switch(eXFS)
176  {
177  case NONE:
178  {
179  mxBgColorLB->hide();
180  mxBgHatchingLB->hide();
181  mxBgGradientLB->hide();
182  mxBgBitmapLB->hide();
183  }
184  break;
185  case SOLID:
186  {
187  mxBgBitmapLB->hide();
188  mxBgGradientLB->hide();
189  mxBgHatchingLB->hide();
190  mxBgColorLB->show();
191  const Color aColor = GetColorSetOrDefault();
192  mxBgColorLB->SelectEntry(aColor);
193  }
194  break;
195  case GRADIENT:
196  {
197  mxBgBitmapLB->hide();
198  mxBgHatchingLB->hide();
199  mxBgColorLB->show();
200  mxBgGradientLB->show();
201 
202  const XGradient xGradient = GetGradientSetOrDefault();
203  const Color aStartColor = xGradient.GetStartColor();
204  mxBgColorLB->SelectEntry(aStartColor);
205  const Color aEndColor = xGradient.GetEndColor();
206  mxBgGradientLB->SelectEntry(aEndColor);
207  }
208  break;
209 
210  case HATCH:
211  {
212  mxBgColorLB->hide();
213  mxBgGradientLB->hide();
214  mxBgBitmapLB->hide();
215  mxBgHatchingLB->show();
216  mxBgHatchingLB->clear();
217  SvxFillAttrBox::Fill(*mxBgHatchingLB, pSh->GetItem(SID_HATCH_LIST)->GetHatchList());
218 
219  const OUString aHatchName = GetHatchingSetOrDefault();
220  mxBgHatchingLB->set_active_text( aHatchName );
221  }
222  break;
223 
224  case BITMAP:
225  case PATTERN:
226  {
227  mxBgColorLB->hide();
228  mxBgGradientLB->hide();
229  mxBgHatchingLB->hide();
230  mxBgBitmapLB->show();
231  mxBgBitmapLB->clear();
232  OUString aBitmapName;
233 
234  if( eXFS == BITMAP )
235  {
236  SvxFillAttrBox::Fill(*mxBgBitmapLB, pSh->GetItem(SID_BITMAP_LIST)->GetBitmapList());
237  aBitmapName = GetBitmapSetOrDefault();
238  }
239  else
240  {
241  SvxFillAttrBox::Fill(*mxBgBitmapLB, pSh->GetItem(SID_PATTERN_LIST)->GetPatternList());
242  aBitmapName = GetPatternSetOrDefault();
243  }
244 
245  mxBgBitmapLB->set_active_text( aBitmapName );
246  }
247  break;
248 
249  default:
250  break;
251  }
252 }
253 
255 {
256  if ( !mpBgColorItem )
257  mpBgColorItem.reset( new XFillColorItem( OUString(), Color(0x72, 0x9f, 0xcf) ) );
258 
259  return mpBgColorItem->GetColorValue();
260 }
261 
263 {
264  if( !mpBgGradientItem )
265  {
267  const SvxGradientListItem * pGradListItem = pSh->GetItem(SID_GRADIENT_LIST);
268  const XGradient aGradient = pGradListItem->GetGradientList()->GetGradient(0)->GetGradient();
269  const OUString aGradientName = pGradListItem->GetGradientList()->GetGradient(0)->GetName();
270 
271  mpBgGradientItem.reset( new XFillGradientItem( aGradientName, aGradient ) );
272  }
273 
274  return mpBgGradientItem->GetGradientValue();
275 }
276 
278 {
279  if( !mpBgHatchItem )
280  {
282  const SvxHatchListItem * pHatchListItem = pSh->GetItem(SID_HATCH_LIST);
283  const XHatch aHatch = pHatchListItem->GetHatchList()->GetHatch(0)->GetHatch();
284  const OUString aHatchName = pHatchListItem->GetHatchList()->GetHatch(0)->GetName();
285 
286  mpBgHatchItem.reset( new XFillHatchItem( aHatchName, aHatch ) );
287  }
288 
289  return mpBgHatchItem->GetName();
290 }
291 
293 {
294  if( !mpBgBitmapItem || mpBgBitmapItem->isPattern() )
295  {
297  const SvxBitmapListItem * pBmpListItem = pSh->GetItem(SID_BITMAP_LIST);
298  const GraphicObject aGraphObj = pBmpListItem->GetBitmapList()->GetBitmap(0)->GetGraphicObject();
299  const OUString aBmpName = pBmpListItem->GetBitmapList()->GetBitmap(0)->GetName();
300 
301  mpBgBitmapItem.reset( new XFillBitmapItem( aBmpName, aGraphObj ) );
302  }
303 
304  return mpBgBitmapItem->GetName();
305 }
306 
308 {
309  if( !mpBgBitmapItem || !mpBgBitmapItem->isPattern() )
310  {
312  const SvxPatternListItem * pPatternListItem = pSh->GetItem(SID_PATTERN_LIST);
313  const GraphicObject aGraphObj = pPatternListItem->GetPatternList()->GetBitmap(0)->GetGraphicObject();
314  const OUString aPatternName = pPatternListItem->GetPatternList()->GetBitmap(0)->GetName();
315 
316  mpBgBitmapItem.reset( new XFillBitmapItem( aPatternName, aGraphObj ) );
317  }
318 
319  return mpBgBitmapItem->GetName();
320 }
321 
323  const sal_uInt16 nSid,
324  const SfxItemState eState,
325  const SfxPoolItem* pState)
326 {
327  if(IsDisposed())
328  return;
329 
330  switch(nSid)
331  {
333  {
334  if ( eState >= SfxItemState::DEFAULT &&
335  dynamic_cast< const SfxInt16Item *>( pState ) )
336  {
337  mpPageColumnItem.reset( static_cast<SfxInt16Item*>(pState->Clone()) );
338  if(mpPageColumnItem->GetValue() <= 5)
339  {
340  mxColumnCount->set_active(mpPageColumnItem->GetValue() - 1);
341  int nIndex = mxColumnCount->find_text(aCustomEntry);
342  if (nIndex != -1)
343  mxColumnCount->remove(nIndex);
344  }
345  else
346  {
347  if (mxColumnCount->find_text(aCustomEntry) == -1)
348  mxColumnCount->append_text(aCustomEntry);
349  mxColumnCount->set_active_text(aCustomEntry);
350  }
351  }
352  }
353  break;
354 
355  case SID_ATTR_PAGE:
356  {
357  if( eState >= SfxItemState::DEFAULT &&
358  dynamic_cast< const SvxPageItem*>( pState ) )
359  {
360  mpPageItem.reset( static_cast<SvxPageItem*>(pState->Clone()) );
361  SvxNumType eNumType = mpPageItem->GetNumType();
362  mxNumberSelectLB->set_active_id(eNumType);
363 
364  SvxPageUsage nUse = mpPageItem->GetPageUsage();
365  mxLayoutSelectLB->set_active( PageUsageToPos_Impl( nUse ) );
366  }
367  }
368  break;
369 
370  case SID_ATTR_PAGE_COLOR:
371  {
372  if(eState >= SfxItemState::DEFAULT)
373  {
374  mxBgFillType->set_active( static_cast<sal_Int32>(SOLID) );
375  mpBgColorItem.reset(pState ? static_cast< XFillColorItem* >(pState->Clone()) : nullptr);
376  Update();
377  }
378  }
379  break;
380 
381  case SID_ATTR_PAGE_HATCH:
382  {
383  if(eState >= SfxItemState::DEFAULT)
384  {
385  mxBgFillType->set_active( static_cast<sal_Int32>(HATCH) );
386  mpBgHatchItem.reset(pState ? static_cast < XFillHatchItem* >(pState->Clone()) : nullptr);
387  Update();
388  }
389  }
390  break;
391 
392  case SID_ATTR_PAGE_GRADIENT:
393  {
394  if(eState >= SfxItemState::DEFAULT)
395  {
396  mxBgFillType->set_active( static_cast<sal_Int32>(GRADIENT) );
397  mpBgGradientItem.reset(pState ? static_cast< XFillGradientItem* >(pState->Clone()) : nullptr);
398  Update();
399  }
400  }
401  break;
402  case SID_ATTR_PAGE_BITMAP:
403  {
404  if(eState >= SfxItemState::DEFAULT)
405  {
406  mpBgBitmapItem.reset(pState ? static_cast< XFillBitmapItem* >(pState->Clone()) : nullptr);
407  if (mpBgBitmapItem)
408  {
409  if (mpBgBitmapItem->isPattern())
410  mxBgFillType->set_active( static_cast<sal_Int32>(PATTERN) );
411  else
412  mxBgFillType->set_active( static_cast<sal_Int32>(BITMAP) );
413  }
414  Update();
415  }
416  }
417  break;
418 
419  case SID_ATTR_PAGE_FILLSTYLE:
420  {
421  const XFillStyleItem* pFillStyleItem = nullptr;
422  if (eState >= SfxItemState::DEFAULT)
423  pFillStyleItem = dynamic_cast< const XFillStyleItem* >(pState);
424  if (pFillStyleItem)
425  {
426  css::drawing::FillStyle eXFS = pFillStyleItem->GetValue();
427  switch(eXFS)
428  {
429  case drawing::FillStyle_NONE:
430  mxBgFillType->set_active( static_cast<sal_Int32>(NONE) );
431  break;
432  case drawing::FillStyle_SOLID:
433  mxBgFillType->set_active( static_cast<sal_Int32>(SOLID) );
434  break;
435  case drawing::FillStyle_GRADIENT:
436  mxBgFillType->set_active( static_cast<sal_Int32>(GRADIENT) );
437  break;
438  case drawing::FillStyle_HATCH:
439  mxBgFillType->set_active( static_cast<sal_Int32>(HATCH) );
440  break;
441  case drawing::FillStyle_BITMAP:
442  if (mpBgBitmapItem->isPattern())
443  mxBgFillType->set_active( static_cast<sal_Int32>(PATTERN) );
444  else
445  mxBgFillType->set_active( static_cast<sal_Int32>(BITMAP) );
446  break;
447  default:
448  break;
449  }
450  Update();
451  }
452  }
453  break;
454 
455  default:
456  break;
457  }
458 }
459 
460 IMPL_LINK_NOARG( PageStylesPanel, ModifyColumnCountHdl, weld::ComboBox&, void )
461 {
462  sal_uInt16 nColumnType = mxColumnCount->get_active() + 1;
463  mpPageColumnItem->SetValue( nColumnType );
464  mpBindings->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_COLUMN,
465  SfxCallMode::RECORD, { mpPageColumnItem.get() });
466 }
467 
468 IMPL_LINK_NOARG( PageStylesPanel, ModifyNumberingHdl, weld::ComboBox&, void )
469 {
470  SvxNumType nEntryData = mxNumberSelectLB->get_active_id();
471  mpPageItem->SetNumType(nEntryData);
472  mpBindings->GetDispatcher()->ExecuteList(SID_ATTR_PAGE, SfxCallMode::RECORD, { mpPageItem.get() });
473 }
474 
475 IMPL_LINK_NOARG( PageStylesPanel, ModifyLayoutHdl, weld::ComboBox&, void )
476 {
477  sal_uInt16 nUse = mxLayoutSelectLB->get_active();
478  mpPageItem->SetPageUsage(PosToPageUsage_Impl(nUse));
479  mpBindings->GetDispatcher()->ExecuteList(SID_ATTR_PAGE, SfxCallMode::RECORD, { mpPageItem.get() });
480 }
481 
482 IMPL_LINK_NOARG(PageStylesPanel, ModifyFillStyleHdl, weld::ComboBox&, void)
483 {
484  const eFillStyle eXFS = static_cast<eFillStyle>(mxBgFillType->get_active());
485  Update();
486 
487  switch (eXFS)
488  {
489  case NONE:
490  {
491  const XFillStyleItem aXFillStyleItem(drawing::FillStyle_NONE);
492  GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_FILLSTYLE, SfxCallMode::RECORD, { &aXFillStyleItem });
493  }
494  break;
495 
496  case SOLID:
497  {
498  XFillColorItem aItem( OUString(), mpBgColorItem->GetColorValue() );
499  GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_COLOR, SfxCallMode::RECORD, { &aItem });
500  }
501  break;
502 
503  case GRADIENT:
504  {
505  XFillGradientItem aItem( mpBgGradientItem->GetName(), mpBgGradientItem->GetGradientValue() );
506  GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_GRADIENT, SfxCallMode::RECORD, { &aItem });
507  }
508  break;
509 
510  case HATCH:
511  {
512  XFillHatchItem aItem( mpBgHatchItem->GetName(), mpBgHatchItem->GetHatchValue() );
513  GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_HATCH, SfxCallMode::RECORD, { &aItem });
514  }
515  break;
516 
517  case BITMAP:
518  case PATTERN:
519  {
520  XFillBitmapItem aItem( mpBgBitmapItem->GetName(), mpBgBitmapItem->GetGraphicObject() );
521  GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_BITMAP, SfxCallMode::RECORD, { &aItem });
522  }
523  break;
524 
525  default:
526  break;
527  }
528 }
529 
531 {
532  const eFillStyle eXFS = static_cast<eFillStyle>(mxBgFillType->get_active());
534  switch(eXFS)
535  {
536  case SOLID:
537  {
538  XFillColorItem aItem(OUString(), mxBgColorLB->GetSelectEntryColor());
539  GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_COLOR, SfxCallMode::RECORD, { &aItem });
540  }
541  break;
542  case GRADIENT:
543  {
544  XGradient aGradient;
545  aGradient.SetStartColor(mxBgColorLB->GetSelectEntryColor());
546  aGradient.SetEndColor(mxBgGradientLB->GetSelectEntryColor());
547 
548  XFillGradientItem aItem(aGradient);
549  GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_GRADIENT, SfxCallMode::RECORD, { &aItem });
550  }
551  break;
552  case HATCH:
553  {
554  const SvxHatchListItem * pHatchListItem = pSh->GetItem(SID_HATCH_LIST);
555  sal_uInt16 nPos = mxBgHatchingLB->get_active();
556  XHatch aHatch = pHatchListItem->GetHatchList()->GetHatch(nPos)->GetHatch();
557  const OUString aHatchName = pHatchListItem->GetHatchList()->GetHatch(nPos)->GetName();
558 
559  XFillHatchItem aItem(aHatchName, aHatch);
560  GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_HATCH, SfxCallMode::RECORD, { &aItem });
561  }
562  break;
563  case BITMAP:
564  case PATTERN:
565  {
566  sal_Int16 nPos = mxBgBitmapLB->get_active();
567  GraphicObject aBitmap;
568  OUString aBitmapName;
569 
570  if ( eXFS == BITMAP )
571  {
572  SvxBitmapListItem const * pBitmapListItem = pSh->GetItem(SID_BITMAP_LIST);
573  aBitmap = pBitmapListItem->GetBitmapList()->GetBitmap(nPos)->GetGraphicObject();
574  aBitmapName = pBitmapListItem->GetBitmapList()->GetBitmap(nPos)->GetName();
575  }
576  else
577  {
578  SvxPatternListItem const * pPatternListItem = pSh->GetItem(SID_PATTERN_LIST);
579  aBitmap = pPatternListItem->GetPatternList()->GetBitmap(nPos)->GetGraphicObject();
580  aBitmapName = pPatternListItem->GetPatternList()->GetBitmap(nPos)->GetName();
581  }
582 
583  XFillBitmapItem aItem(aBitmapName, aBitmap);
584  GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_PAGE_BITMAP, SfxCallMode::RECORD, { &aItem });
585  }
586  break;
587  default:
588  break;
589  }
590 }
591 
592 IMPL_LINK_NOARG(PageStylesPanel, ModifyFillColorHdl, weld::ComboBox&, void)
593 {
594  ModifyFillColor();
595 }
596 
597 IMPL_LINK_NOARG(PageStylesPanel, ModifyFillColorListHdl, ColorListBox&, void)
598 {
599  ModifyFillColor();
600 }
601 
602 }
603 
604 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::unique_ptr< SvxPageNumberListBox > mxNumberSelectLB
const SfxPoolItem * ExecuteList(sal_uInt16 nSlot, SfxCallMode nCall, std::initializer_list< SfxPoolItem const * > args, std::initializer_list< SfxPoolItem const * > internalargs=std::initializer_list< SfxPoolItem const * >())
sal_Int32 nIndex
const XPatternListRef & GetPatternList() const
std::unique_ptr< weld::ComboBox > mxBgBitmapLB
#define SID_ATTR_PAGE_COLUMN
Definition: cmdid.h:851
::sfx2::sidebar::ControllerItem maBgColorControl
virtual SfxPoolItem * Clone(SfxItemPool *pPool=nullptr) const =0
SVX_DLLPUBLIC void Fill(weld::ComboBox &, const XHatchListRef &pList)
void SetEndColor(const Color &rColor)
const XGradientListRef & GetGradientList() const
std::unique_ptr< weld::ComboBox > mxBgHatchingLB
static SfxObjectShell * Current()
virtual void dispose() override
void Invalidate(sal_uInt16 nId)
SvxNumType
OUString const & GetPatternSetOrDefault()
::sfx2::sidebar::ControllerItem maPageNumFormatControl
const Color & GetStartColor() const
static VclPtr< vcl::Window > Create(vcl::Window *pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > &rxFrame, SfxBindings *pBindings)
NONE
::sfx2::sidebar::ControllerItem maBgBitmapControl
::sfx2::sidebar::ControllerItem maPageColumnControl
std::unique_ptr< weld::ComboBox > mxLayoutSelectLB
std::unique_ptr< ColorListBox > mxBgColorLB
::std::unique_ptr< SfxInt16Item > mpPageColumnItem
XGradient const & GetGradientSetOrDefault()
#define SAL_N_ELEMENTS(arr)
weld::Window * GetFrameWeld(const SfxFrame *pFrame)
Definition: dialoghelp.cxx:20
const XHatchListRef & GetHatchList() const
const SfxPoolItem * GetItem(sal_uInt16 nSlotId) const
SVX_DLLPUBLIC void Fill(weld::ComboBox &rListBox)
void SetStartColor(const Color &rColor)
::std::unique_ptr< XFillGradientItem > mpBgGradientItem
int i
std::unique_ptr< weld::Label > mxCustomEntry
virtual void dispose()
::std::unique_ptr< XFillColorItem > mpBgColorItem
static sal_uInt16 PageUsageToPos_Impl(SvxPageUsage nUsage)
const SvxPageUsage aArr[]
PageStylesPanel(vcl::Window *pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > &rxFrame, SfxBindings *pBindings)
::std::unique_ptr< SvxPageItem > mpPageItem
IMPL_LINK_NOARG(PageColumnControl, MoreButtonClickHdl_Impl, weld::Button &, void)
virtual ~PageStylesPanel() override
const XBitmapListRef & GetBitmapList() const
::std::unique_ptr< XFillHatchItem > mpBgHatchItem
::sfx2::sidebar::ControllerItem maBgHatchingControl
SvxPageUsage
virtual void dispose() override
::sfx2::sidebar::ControllerItem maBgGradientControl
static SvxPageUsage PosToPageUsage_Impl(sal_uInt16 nPos)
SfxItemState
SfxBindings * GetBindings() const
std::unique_ptr< ColorListBox > mxBgGradientLB
std::unique_ptr< weld::ComboBox > mxBgFillType
static VclPtr< reference_type > Create(Arg &&...arg)
OUString const & GetBitmapSetOrDefault()
std::unique_ptr< weld::ComboBox > mxColumnCount
::sfx2::sidebar::ControllerItem maBgFillStyleControl
SfxDispatcher * GetDispatcher() const
static void GetI18nNumbering(weld::ComboBox &rFmtLB, sal_uInt16 nDoNotRemove)
virtual void NotifyItemUpdate(const sal_uInt16 nSId, const SfxItemState eState, const SfxPoolItem *pState) override
OUString const & GetHatchingSetOrDefault()
const Color & GetEndColor() const
sal_uInt16 nPos
::std::unique_ptr< XFillBitmapItem > mpBgBitmapItem