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