LibreOffice Module vcl (master)  1
ivctrl.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 
21 #include <vcl/toolkit/ivctrl.hxx>
22 #include "imivctl.hxx"
24 #include <vcl/bitmapex.hxx>
25 #include <vcl/commandevent.hxx>
26 #include <vcl/mnemonic.hxx>
27 #include <vcl/settings.hxx>
28 #include <vcl/tabctrl.hxx>
29 #include <vcl/vclevent.hxx>
30 #include <vcl/uitest/uiobject.hxx>
31 #include <verticaltabctrl.hxx>
32 
33 using namespace ::com::sun::star::accessibility;
34 
35 /*****************************************************************************
36 |
37 | class : SvxIconChoiceCtrlEntry
38 |
39 \*****************************************************************************/
40 
42  const Image& rImage )
43  : aImage(rImage)
44  , aText(rText)
45  , nPos(0)
46  , pblink(nullptr)
47  , pflink(nullptr)
48  , eTextMode(SvxIconChoiceCtrlTextMode::Short)
49  , nX(0)
50  , nY(0)
51  , nFlags(SvxIconViewFlags::NONE)
52 {
53 }
54 
56 {
58 }
59 
60 
62 {
63  nWidth = rInfo.nWidth;
64 }
65 
66 /*****************************************************************************
67 |
68 | class : SvtIconChoiceCtrl
69 |
70 \*****************************************************************************/
71 
73 
74  // WB_CLIPCHILDREN on, as ScrollBars lie on the window!
75  Control( pParent, nWinStyle | WB_CLIPCHILDREN ),
76 
77  _pImpl ( new SvxIconChoiceCtrl_Impl( this, nWinStyle ) )
78 {
79  SetLineColor();
80  _pImpl->InitSettings();
82 }
83 
85 {
86  disposeOnce();
87 }
88 
90 {
91  if (_pImpl)
92  {
93  _pImpl->CallEventListeners( VclEventId::ObjectDying, nullptr );
94  _pImpl.reset();
95  }
97 }
98 
99 SvxIconChoiceCtrlEntry* SvtIconChoiceCtrl::InsertEntry( const OUString& rText, const Image& rImage )
100 {
101  SvxIconChoiceCtrlEntry* pEntry = new SvxIconChoiceCtrlEntry( rText, rImage);
102 
103  _pImpl->InsertEntry(std::unique_ptr<SvxIconChoiceCtrlEntry>(pEntry), _pImpl->GetEntryCount());
104 
105  return pEntry;
106 }
107 
108 void SvtIconChoiceCtrl::RemoveEntry(sal_Int32 nIndex)
109 {
110  _pImpl->RemoveEntry(nIndex);
111 }
112 
113 void SvtIconChoiceCtrl::DrawEntryImage( SvxIconChoiceCtrlEntry const * pEntry, const Point& rPos, OutputDevice& rDev )
114 {
115  rDev.DrawImage( rPos, pEntry->GetImage() );
116 }
117 
119 {
120  return pEntry->GetText();
121 }
122 
124 {
125  _pImpl->Paint(rRenderContext, rRect);
126 }
127 
129 {
130  if( !_pImpl->MouseButtonDown( rMEvt ) )
131  Control::MouseButtonDown( rMEvt );
132 }
133 
135 {
136  if( !_pImpl->MouseButtonUp( rMEvt ) )
137  Control::MouseButtonUp( rMEvt );
138 }
139 
141 {
142  if( !_pImpl->MouseMove( rMEvt ) )
143  Control::MouseMove( rMEvt );
144 }
146 {
147  if ( GetStyle() & WB_ALIGN_TOP )
148  {
149  Size aFullSize;
150  tools::Rectangle aEntryRect;
151 
152  for ( sal_Int32 i = 0; i < GetEntryCount(); i++ )
153  {
154  SvxIconChoiceCtrlEntry* pEntry = GetEntry ( i );
155  aEntryRect = _pImpl->GetEntryBoundRect ( pEntry );
156 
157  aFullSize.setWidth ( aFullSize.getWidth()+aEntryRect.GetWidth() );
158  }
159 
160  _pImpl->Arrange ( false, aFullSize.getWidth(), 0 );
161  }
162  else if ( GetStyle() & WB_ALIGN_LEFT )
163  {
164  Size aFullSize;
165  tools::Rectangle aEntryRect;
166 
167  for ( sal_Int32 i = 0; i < GetEntryCount(); i++ )
168  {
169  SvxIconChoiceCtrlEntry* pEntry = GetEntry ( i );
170  aEntryRect = _pImpl->GetEntryBoundRect ( pEntry );
171 
172  aFullSize.setHeight ( aFullSize.getHeight()+aEntryRect.GetHeight() );
173  }
174 
175  _pImpl->Arrange ( false, 0, aFullSize.getHeight() );
176  }
177  else
178  {
179  _pImpl->Arrange(false, 0, 0);
180  }
181  _pImpl->Arrange( false, 0, 1000 );
182 }
184 {
185  _pImpl->Resize();
186  Control::Resize();
187 }
188 
190 {
191  _pImpl->GetFocus();
193  SvxIconChoiceCtrlEntry* pSelectedEntry = GetSelectedEntry();
194  if ( pSelectedEntry )
195  _pImpl->CallEventListeners( VclEventId::ListboxSelect, pSelectedEntry );
196 }
197 
199 {
200  if (_pImpl)
201  _pImpl->LoseFocus();
203 }
204 
206 {
207  if (rFont != GetFont())
208  {
209  Control::SetFont(rFont);
210  _pImpl->FontModified();
211  }
212 }
213 
215 {
216  if (rFont != GetPointFont(*this)) //FIXME
217  {
218  Control::SetPointFont(*this, rFont); //FIXME
219  _pImpl->FontModified();
220  }
221 }
222 
224 {
225  return _pImpl->GetStyle();
226 }
227 
229 {
230  _pImpl->Command( rCEvt );
231  //pass at least alt press/release to parent impl
233  Control::Command(rCEvt);
234 }
235 
236 #ifdef DBG_UTIL
238 {
239  _pImpl->SetEntryTextMode( eMode, pEntry );
240 }
241 #endif
242 
244 {
245  return _pImpl ? _pImpl->GetEntryCount() : 0;
246 }
247 
249 {
250  return _pImpl ? _pImpl->GetEntry( nPos ) : nullptr;
251 }
252 
254 {
255  return _pImpl ? _pImpl->GetFirstSelectedEntry() : nullptr;
256 }
257 
259 {
261  _aClickIconHdl.Call( this );
262 }
263 
265 {
266  bool bKeyUsed = DoKeyInput( rKEvt );
267  if ( !bKeyUsed )
268  {
269  Control::KeyInput( rKEvt );
270  }
271 }
273 {
274  return _pImpl->KeyInput( rKEvt );
275 }
277 {
278  return _pImpl->GetEntryListPos( pEntry );
279 }
281 {
282  return _pImpl->GetCurEntry( );
283 }
285 {
286  _pImpl->SetCursor( pEntry );
287 }
288 
290 {
291  if ( ((rDCEvt.GetType() == DataChangedEventType::SETTINGS) ||
293  (rDCEvt.GetType() == DataChangedEventType::FONTS) ) &&
294  (rDCEvt.GetFlags() & AllSettingsFlags::STYLE) )
295  {
296  _pImpl->InitSettings();
298  }
299  else
300  Control::DataChanged( rDCEvt );
301 }
302 
304 {
305  if( rPaper == GetBackground() )
306  return;
307 
308  const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
309  // if it is the default (empty) wallpaper
310  if (rPaper.IsEmpty())
311  {
312  Control::SetBackground( rStyleSettings.GetFieldColor() );
313  }
314  else
315  {
316  Wallpaper aBackground( rPaper );
317  // HACK, as background might be transparent!
318  if( !aBackground.IsBitmap() )
319  aBackground.SetStyle( WallpaperStyle::Tile );
320 
321  WallpaperStyle eStyle = aBackground.GetStyle();
322  Color aBack( aBackground.GetColor());
323  if( aBack == COL_TRANSPARENT &&
324  (!aBackground.IsBitmap() ||
325  aBackground.GetBitmap().IsTransparent() ||
326  (eStyle != WallpaperStyle::Tile && eStyle != WallpaperStyle::Scale)) )
327  {
328  aBackground.SetColor( rStyleSettings.GetFieldColor() );
329  }
330  if( aBackground.IsScrollable() )
331  {
332  tools::Rectangle aRect;
333  aRect.SetSize( Size(32765, 32765) );
334  aBackground.SetRect( aRect );
335  }
336  else
337  {
338  tools::Rectangle aRect( _pImpl->GetOutputRect() );
339  aBackground.SetRect( aRect );
340  }
341  Control::SetBackground( aBackground );
342  }
343 
344  // If text colors are attributed "hard," don't use automatism to select
345  // a readable text color.
346  vcl::Font aFont( GetFont() );
347  aFont.SetColor( rStyleSettings.GetFieldTextColor() );
348  SetFont( aFont );
349 
351 }
352 
354 {
355  if ( !_pImpl->RequestHelp( rHEvt ) )
356  Control::RequestHelp( rHEvt );
357 }
358 
360 {
361  return _pImpl->GetEntryBoundRect( pEntry );
362 }
363 
365 {
367  const_cast<SvtIconChoiceCtrl*>(this)->Invalidate();
368 }
369 
370 tools::Rectangle SvtIconChoiceCtrl::GetEntryCharacterBounds( const sal_Int32 _nEntryPos, const sal_Int32 _nCharacterIndex ) const
371 {
372  tools::Rectangle aRect;
373 
374  Pair aEntryCharacterRange = GetLineStartEnd( _nEntryPos );
375  if ( aEntryCharacterRange.A() + _nCharacterIndex < aEntryCharacterRange.B() )
376  {
377  aRect = GetCharacterBounds( aEntryCharacterRange.A() + _nCharacterIndex );
378  }
379 
380  return aRect;
381 }
382 
384 {
385  _pImpl->SetNoSelection();
386 }
387 
389 {
390  CallEventListeners(nEvent, pData);
391 }
392 css::uno::Reference< XAccessible > SvtIconChoiceCtrl::CreateAccessible()
393 {
395  DBG_ASSERT( pParent, "SvTreeListBox::CreateAccessible - accessible parent not found" );
396 
397  css::uno::Reference< XAccessible > xAccessible;
398  if ( pParent )
399  {
400  css::uno::Reference< XAccessible > xAccParent = pParent->GetAccessible();
401  if ( xAccParent.is() )
402  {
403  css::uno::Reference< css::awt::XWindowPeer > xHoldAlive(GetComponentInterface());
404  xAccessible = _pImpl->GetAccessibleFactory().createAccessibleIconChoiceCtrl( *this, xAccParent );
405  }
406  }
407  return xAccessible;
408 }
409 
411 {
412  OString sId;
415 };
416 
418  : VclHBox(pParent)
419  , m_xChooser(VclPtr<SvtIconChoiceCtrl>::Create(this, WB_3DLOOK | WB_ICON | WB_BORDER |
423  , m_xBox(VclPtr<VclVBox>::Create(this))
424 {
425  SetType(WindowType::VERTICALTABCONTROL);
426  m_xChooser->SetClickHdl(LINK(this, VerticalTabControl, ChosePageHdl_Impl));
429  m_xChooser->SetSizePixel(Size(110, 400));
430  m_xBox->set_vexpand(true);
431  m_xBox->set_hexpand(true);
432  m_xBox->set_expand(true);
433  m_xBox->Show();
434  m_xChooser->Show();
435 }
436 
438 {
439  disposeOnce();
440 }
441 
443 {
447 }
448 
450 {
451  SvxIconChoiceCtrlEntry *pEntry = m_xChooser->GetSelectedEntry();
452  if (!pEntry)
453  pEntry = m_xChooser->GetCursor();
454 
455  VerticalTabPageData* pData = GetPageData(pEntry);
456 
457  if (pData->sId != m_sCurrentPageId)
458  SetCurPageId(pData->sId);
459 }
460 
462 {
463  m_aActivateHdl.Call( this );
464 }
465 
467 {
468  return !m_aDeactivateHdl.IsSet() || m_aDeactivateHdl.Call(this);
469 }
470 
472 {
473  VerticalTabPageData* pRet = nullptr;
474  for (auto & pData : maPageList)
475  {
476  if (pData->pEntry == pEntry)
477  {
478  pRet = pData.get();
479  break;
480  }
481  }
482  return pRet;
483 }
484 
486 {
487  VerticalTabPageData* pRet = nullptr;
488  for (auto & pData : maPageList)
489  {
490  if (pData->sId == rId)
491  {
492  pRet = pData.get();
493  break;
494  }
495  }
496  return pRet;
497 }
498 
499 void VerticalTabControl::SetCurPageId(const OString& rId)
500 {
501  OString sOldPageId = GetCurPageId();
502  if (sOldPageId == rId)
503  return;
504 
505  VerticalTabPageData* pOldData = GetPageData(sOldPageId);
506  if (pOldData && pOldData->xPage)
507  {
508  if (!DeactivatePage())
509  return;
510  pOldData->xPage->Hide();
511  }
512 
513  m_sCurrentPageId = "";
514 
515  VerticalTabPageData* pNewData = GetPageData(rId);
516  if (pNewData && pNewData->xPage)
517  {
518  m_sCurrentPageId = rId;
519  m_xChooser->SetCursor(pNewData->pEntry);
520 
521  ActivatePage();
522  pNewData->xPage->Show();
523  }
524 }
525 
526 OString VerticalTabControl::GetPageId(sal_uInt16 nIndex) const
527 {
528  return maPageList[nIndex]->sId;
529 }
530 
531 void VerticalTabControl::InsertPage(const rtl::OString &rIdent, const rtl::OUString& rLabel, const Image& rImage,
532  const rtl::OUString& rTooltip, VclPtr<vcl::Window> xPage, int nPos)
533 {
534  SvxIconChoiceCtrlEntry* pEntry = m_xChooser->InsertEntry(rLabel, rImage);
535  pEntry->SetQuickHelpText(rTooltip);
537  VerticalTabPageData* pNew;
538  if (nPos == -1)
539  {
540  maPageList.emplace_back(new VerticalTabPageData);
541  pNew = maPageList.back().get();
542  }
543  else
544  {
545  maPageList.emplace(maPageList.begin() + nPos, new VerticalTabPageData);
546  pNew = maPageList[nPos].get();
547  }
548  pNew->sId = rIdent;
549  pNew->pEntry = pEntry;
550  pNew->xPage = xPage;
551  Size aOrigPrefSize(m_xBox->get_preferred_size());
552  Size aPagePrefSize(xPage->get_preferred_size());
553  m_xBox->set_width_request(std::max(aOrigPrefSize.Width(), aPagePrefSize.Width()));
554  m_xBox->set_height_request(std::max(aOrigPrefSize.Height(), aPagePrefSize.Height()));
555  pNew->xPage->Hide();
556 }
557 
558 void VerticalTabControl::RemovePage(const rtl::OString &rPageId)
559 {
560  for (auto it = maPageList.begin(), end = maPageList.end(); it != end; ++it)
561  {
562  VerticalTabPageData* pData = it->get();
563  if (pData->sId == rPageId)
564  {
565  sal_Int32 nEntryListPos = m_xChooser->GetEntryListPos(pData->pEntry);
566  m_xChooser->RemoveEntry(nEntryListPos);
568  maPageList.erase(it);
569  break;
570  }
571  }
572 }
573 
574 sal_uInt16 VerticalTabControl::GetPagePos(const OString& rPageId) const
575 {
577  if (!pData)
578  return TAB_PAGE_NOTFOUND;
579  return m_xChooser->GetEntryListPos(pData->pEntry);
580 }
581 
583 {
585  if (!pData)
586  return nullptr;
587  return pData->xPage;
588 }
589 
590 OUString VerticalTabControl::GetPageText(const OString& rPageId) const
591 {
593  if (!pData)
594  return OUString();
595  return pData->pEntry->GetText();
596 }
597 
598 void VerticalTabControl::SetPageText(const OString& rPageId, const OUString& rText)
599 {
601  if (!pData)
602  return;
603  pData->pEntry->SetText(rText);
604 }
605 
607 {
609 }
610 
611 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void SetEntryTextMode(SvxIconChoiceCtrlTextMode eMode, SvxIconChoiceCtrlEntry *pEntry)
Definition: ivctrl.cxx:237
void CreateLayoutData() const
creates the mpData->mpLayoutData structure
Definition: ctrl.cxx:84
virtual void Command(const CommandEvent &rCEvt) override
Definition: ivctrl.cxx:228
long GetWidth() const
const Wallpaper & GetBackground() const
Definition: outdev.hxx:643
tools::Rectangle GetCharacterBounds(long nIndex) const
Definition: ctrl.cxx:110
VclPtr< vcl::Window > xPage
the TabPage itself
Definition: ivctrl.cxx:414
Link< SvtIconChoiceCtrl *, void > _aClickIconHdl
Definition: ivctrl.hxx:181
long GetHeight() const
void SetFont(const vcl::Font &rFont)
Definition: ivctrl.cxx:205
void DrawImage(const Point &rPos, const Image &rImage, DrawImageFlags nStyle=DrawImageFlags::NONE)
This is an overloaded member function, provided for convenience. It differs from the above function o...
SvxIconChoiceCtrlEntry * GetSelectedEntry() const
Definition: ivctrl.cxx:253
void RemoveEntry(sal_Int32 nEntryListPos)
Definition: ivctrl.cxx:108
virtual void MouseButtonDown(const MouseEvent &rMEvt)
Definition: mouse.cxx:414
SvxIconChoiceCtrlEntry * InsertEntry(const OUString &rText, const Image &rImage)
Definition: ivctrl.cxx:99
std::unique_ptr< ContentProperties > pData
OString GetCurPageId() const
VerticalTabControl(vcl::Window *pParent)
Definition: ivctrl.cxx:417
sal_uInt16 GetPagePos(const OString &rPageId) const
Definition: ivctrl.cxx:574
vcl::Window * GetAccessibleParentWindow() const
void Create(SwFormatVertOrient &rItem, SvStream &rStrm, sal_uInt16 nVersionAbusedAsSize)
static std::unique_ptr< UIObject > create(vcl::Window *pWindow)
tools::Rectangle GetBoundingBox(SvxIconChoiceCtrlEntry *pEntry) const
Definition: ivctrl.cxx:359
void disposeAndClear()
Definition: vclptr.hxx:200
const StyleSettings & GetStyleSettings() const
std::function< std::unique_ptr< UIObject >vcl::Window *)> FactoryFunction
virtual void SetSizePixel(const Size &rNewSize)
Definition: window2.cxx:1262
void SetColor(const Color &rColor)
Definition: wall.cxx:195
virtual void MouseMove(const MouseEvent &rMEvt) override
Definition: ivctrl.cxx:140
SvtIconChoiceCtrl(vcl::Window *pParent, WinBits nWinStyle)
Definition: ivctrl.cxx:72
void set_height_request(sal_Int32 nHeightRequest)
Definition: window2.cxx:1589
Link< VerticalTabControl *, void > m_aActivateHdl
DataChangedEventType GetType() const
Definition: event.hxx:357
WallpaperStyle GetStyle() const
Definition: wall.cxx:219
virtual ~VerticalTabControl() override
Definition: ivctrl.cxx:437
IMPL_LINK_NOARG(VerticalTabControl, ChosePageHdl_Impl, SvtIconChoiceCtrl *, void)
Definition: ivctrl.cxx:449
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects...
Definition: window.cxx:145
Pair GetLineStartEnd(long nLine) const
Definition: ctrl.cxx:172
void SetType(WindowType nType)
Definition: window2.cxx:968
virtual void MouseButtonUp(const MouseEvent &rMEvt)
Definition: mouse.cxx:421
#define WB_NOCOLUMNHEADER
Definition: ivctrl.hxx:171
virtual void KeyInput(const KeyEvent &rKEvt) override
Definition: ivctrl.cxx:264
const Color & GetFieldTextColor() const
NONE
std::unique_ptr< SvxIconChoiceCtrl_Impl, o3tl::default_delete< SvxIconChoiceCtrl_Impl > > _pImpl
Definition: ivctrl.hxx:182
sal_Int64 WinBits
void CallImplEventListeners(VclEventId nEvent, void *pData)
Definition: ivctrl.cxx:388
constexpr::Color COL_TRANSPARENT(0xFF, 0xFF, 0xFF, 0xFF)
VerticalTabPageData * GetPageData(const OString &rId) const
Definition: ivctrl.cxx:485
void SetBackground()
SvxIconChoiceCtrlEntry * pEntry
Definition: ivctrl.cxx:413
virtual void MouseButtonUp(const MouseEvent &rMEvt) override
Definition: ivctrl.cxx:134
virtual css::uno::Reference< css::awt::XWindowPeer > GetComponentInterface(bool bCreate=true)
Definition: window.cxx:3120
void SetQuickHelpText(const OUString &rText)
Definition: ivctrl.hxx:117
void SetCurPageId(const OString &rId)
Definition: ivctrl.cxx:499
css::uno::Reference< css::accessibility::XAccessible > GetAccessible(bool bCreate=true)
const vcl::Font & GetFont() const
Definition: outdev.hxx:649
VclPtr< VclVBox > m_xBox
void Hide()
Definition: window.hxx:945
AllSettingsFlags GetFlags() const
Definition: event.hxx:358
VclEventId
Definition: vclevent.hxx:37
void set_vexpand(bool bExpand)
Definition: window2.cxx:1712
void set_width_request(sal_Int32 nWidthRequest)
Definition: window2.cxx:1603
bool DoKeyInput(const KeyEvent &rKEvt)
Definition: ivctrl.cxx:272
#define WB_NODRAGSELECTION
Definition: ivctrl.hxx:167
sal_Int32 GetEntryCount() const
Definition: ivctrl.cxx:243
SvxIconChoiceCtrlEntry * GetCursor() const
Definition: ivctrl.cxx:280
void SetPageText(const OString &rPageId, const OUString &rText)
Definition: ivctrl.cxx:598
long B() const
void RemovePage(const OString &rPageId)
Definition: ivctrl.cxx:558
VclPtr< vcl::Window > GetPage(const OString &rPageId)
Definition: ivctrl.cxx:582
void SetLineColor()
virtual void Resize() override
Definition: ivctrl.cxx:183
OUString GetPageText(const OString &rPageId) const
Definition: ivctrl.cxx:590
virtual void LoseFocus() override
Definition: ivctrl.cxx:198
#define DBG_ASSERT(sCon, aError)
int i
Link< VerticalTabControl *, bool > m_aDeactivateHdl
void SetRect(const tools::Rectangle &rRect)
Definition: wall.cxx:302
virtual void MouseButtonDown(const MouseEvent &rMEvt) override
Definition: ivctrl.cxx:128
VclPtr< SvtIconChoiceCtrl > m_xChooser
void SetStyle(WallpaperStyle eStyle)
Definition: wall.cxx:209
static void DrawEntryImage(SvxIconChoiceCtrlEntry const *pEntry, const Point &rPos, OutputDevice &rDev)
Definition: ivctrl.cxx:113
void SetSize(const Size &rSize)
const Color & GetColor() const
Definition: wall.cxx:204
virtual void FillLayoutData() const override
Definition: ivctrl.cxx:364
virtual void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
Definition: paint.cxx:1162
static OUString GetEntryText(SvxIconChoiceCtrlEntry const *pEntry)
Definition: ivctrl.cxx:118
void CallEventListeners(VclEventId nEvent, void *pData=nullptr)
Definition: ctrl.cxx:297
void ActivatePage()
Definition: ivctrl.cxx:461
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
Definition: outdev.hxx:302
const Color & GetFieldColor() const
CommandEventId GetCommand() const
void SetClickHdl(const Link< SvtIconChoiceCtrl *, void > &rLink)
Definition: ivctrl.hxx:220
SvxIconChoiceCtrlEntry * GetEntry(sal_Int32 nPos) const
Definition: ivctrl.cxx:248
long A() const
Size get_preferred_size() const
Definition: window2.cxx:1639
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects...
Definition: ctrl.cxx:59
SvxIconViewFlags
Definition: ivctrl.hxx:36
const AllSettings & GetSettings() const
Definition: outdev.hxx:418
void ArrangeIcons()
Definition: ivctrl.cxx:145
bool IsTransparent() const
Definition: bitmapex.cxx:217
virtual void LoseFocus()
Definition: window.cxx:1849
void InsertPage(const OString &rPageId, const OUString &rLabel, const Image &rImage, const OUString &rTooltip, VclPtr< vcl::Window > xPage, int nPos=-1)
Definition: ivctrl.cxx:531
enumrange< T >::Iterator end(enumrange< T >)
sal_Int32 GetEntryListPos(SvxIconChoiceCtrlEntry const *pEntry) const
Definition: ivctrl.cxx:276
void SetColor(const Color &)
Definition: font/font.cxx:80
#define WB_NOHSCROLL
Definition: ivctrl.hxx:164
WinBits GetStyle() const
Definition: ivctrl.cxx:223
void SetPointFont(vcl::RenderContext &rRenderContext, const vcl::Font &rFont)
Definition: window.cxx:2167
virtual void DataChanged(const DataChangedEvent &rDCEvt) override
Definition: ivctrl.cxx:289
virtual void KeyInput(const KeyEvent &rKEvt)
Definition: window.cxx:1799
void SetCursor(SvxIconChoiceCtrlEntry *pEntry)
Definition: ivctrl.cxx:284
virtual ~SvtIconChoiceCtrl() override
Definition: ivctrl.cxx:84
WinBits const WB_3DLOOK
#define TAB_PAGE_NOTFOUND
Definition: tabctrl.hxx:39
void ClickIcon()
Definition: ivctrl.cxx:258
SvxIconChoiceCtrlTextMode
Definition: ivctrl.hxx:49
BitmapEx GetBitmap() const
Definition: wall.cxx:247
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects...
Definition: ivctrl.cxx:89
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect) override
Definition: ivctrl.cxx:123
virtual void Resize() override
Definition: ctrl.cxx:74
void SetPointFont(const vcl::Font &rFont)
Definition: ivctrl.cxx:214
void set_hexpand(bool bExpand)
Definition: window2.cxx:1700
Definition: ctrl.hxx:33
virtual void GetFocus()
Definition: window.cxx:1835
WinBits const WB_BORDER
void SetFont(const vcl::Font &rNewFont)
WallpaperStyle
Definition: wall.hxx:32
Definition: image.hxx:39
#define WB_ICON
Definition: ivctrl.hxx:161
#define WB_ALIGN_LEFT
Definition: ivctrl.hxx:170
bool IsScrollable() const
Definition: wall.cxx:335
virtual void RequestHelp(const HelpEvent &rHEvt) override
Definition: ivctrl.cxx:353
WinBits const WB_TABSTOP
bool IsBitmap() const
Definition: wall.cxx:255
virtual void MouseMove(const MouseEvent &rMEvt)
Definition: mouse.cxx:408
virtual void GetFocus() override
Definition: ivctrl.cxx:189
static OUString EraseAllMnemonicChars(const OUString &rStr)
Definition: mnemonic.cxx:312
virtual FactoryFunction GetUITestFactory() const override
Definition: ivctrl.cxx:606
const Image & GetImage() const
Definition: ivctrl.hxx:113
long getHeight() const
OString GetPageId(sal_uInt16 nIndex) const
Definition: ivctrl.cxx:526
virtual void Command(const CommandEvent &rCEvt)
Definition: window.cxx:1917
vcl::Font GetPointFont(vcl::RenderContext const &rRenderContext) const
Definition: window.cxx:2174
#define WB_ALIGN_TOP
Definition: ivctrl.hxx:169
const OUString & GetText() const
Definition: ivctrl.hxx:115
tools::Rectangle GetEntryCharacterBounds(const sal_Int32 _nEntryPos, const sal_Int32 _nCharacterIndex) const
Definition: ivctrl.cxx:370
long getWidth() const
void setWidth(long nWidth)
virtual void RequestHelp(const HelpEvent &rHEvt)
Definition: window.cxx:1863
The child windows are not invalidated.
SvxIconChoiceCtrlEntry(const OUString &rText, const Image &rImage)
Definition: ivctrl.cxx:41
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects...
Definition: ivctrl.cxx:442
#define WB_HIGHLIGHTFRAME
Definition: ivctrl.hxx:172
void SetText(const OUString &rText)
Definition: ivctrl.hxx:114
WinBits const WB_CLIPCHILDREN
OUString VCL_DLLPUBLIC GetDisplayText() const
Definition: ivctrl.cxx:55
bool IsEmpty() const
Definition: wall.hxx:101
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override
Creates and returns the accessible object of the Box.
Definition: ivctrl.cxx:392
sal_uInt16 nPos
std::vector< std::unique_ptr< VerticalTabPageData > > maPageList
void set_expand(bool bExpand)
Definition: window2.cxx:1724
virtual void DataChanged(const DataChangedEvent &rDCEvt)
Definition: event.cxx:35
bool DeactivatePage()
Definition: ivctrl.cxx:466
void Show(bool bVisible=true, ShowFlags nFlags=ShowFlags::NONE)
Definition: window.cxx:2181
void setHeight(long nHeight)
void SetNoSelection()
Definition: ivctrl.cxx:383