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