LibreOffice Module vcl (master) 1
svimpbox.hxx
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#ifndef INCLUDED_VCL_SOURCE_INC_SVIMPBOX_HXX
21#define INCLUDED_VCL_SOURCE_INC_SVIMPBOX_HXX
22
23#include <vcl/dllapi.h>
24#include <vcl/seleng.hxx>
25#include <vcl/idle.hxx>
26#include <vcl/image.hxx>
28#include <vcl/vclevent.hxx>
31#include <o3tl/enumarray.hxx>
32#include <memory>
33#include <vector>
34
35class SvLBoxButton;
36class SvTreeList;
37class SvImpLBox;
38class SvTreeListEntry;
39namespace comphelper::string { class NaturalStringSorter; }
40
41class ImpLBSelEng final : public FunctionSet
42{
45
46public:
48 virtual ~ImpLBSelEng() override;
49 void BeginDrag() override;
50 void CreateAnchor() override;
51 void DestroyAnchor() override;
52 void SetCursorAtPoint( const Point& rPoint,
53 bool bDontSelectAtCursor=false ) override;
54 bool IsSelectionAtPoint( const Point& rPoint ) override;
55 void DeselectAtPoint( const Point& rPoint ) override;
56 void DeselectAll() override;
57};
58
59// Flags for nFlag
60enum class LBoxFlags {
61 NONE = 0x0000,
62 DeselectAll = 0x0002,
63 StartEditTimer = 0x0004, // MAC only
64 IgnoreSelect = 0x0008,
65 InResize = 0x0010,
66 RemovedEntryInvisible = 0x0020,
68 IgnoreChangedTabs = 0x0080,
69 InPaint = 0x0100,
70 EndScrollSetVisSize = 0x0200,
71 Filling = 0x0400,
72};
73namespace o3tl
74{
75 template<> struct typed_flags<LBoxFlags> : is_typed_flags<LBoxFlags, 0x07fe> {};
76}
77
78#define NODE_BMP_TABDIST_NOTVALID -2000000
79#define FIRST_ENTRY_TAB 1
80
82{
83friend class ImpLBSelEng;
84friend class SvTreeListBox;
86friend class IconView;
87private:
94
96
97 ::vcl::AccessibleFactoryAccess
99
102 static oslInterlockedCount s_nImageRefCount;
103
104 // Node Bitmaps
105 enum class ImageType
106 {
107 NodeExpanded = 0, // node is expanded ( usually a bitmap showing a minus )
108 NodeCollapsed, // node is collapsed ( usually a bitmap showing a plus )
109 EntryDefExpanded, // default for expanded entries
110 EntryDefCollapsed, // default for collapsed entries
111 LAST = EntryDefCollapsed
112 };
113
114 // all our images
117
119
123
125 bool m_bSubLstOpLR : 1; // open/close sublist with cursor left/right, defaulted with false
127
130
131 std::unique_ptr<comphelper::string::NaturalStringSorter> m_pStringSorter;
132
133 std::vector< short > m_aContextBmpWidthVector;
134
135 DECL_LINK(EditTimerCall, Timer *, void);
136
137 void InvalidateEntriesFrom( tools::Long nY ) const;
138 bool IsLineVisible( tools::Long nY ) const;
139 void KeyLeftRight( tools::Long nDiff );
140
141 void DrawNet(vcl::RenderContext& rRenderContext);
142
143 // ScrollBar-Handler
144 DECL_LINK( ScrollUpDownHdl, ScrollBar*, void );
145 DECL_LINK( ScrollLeftRightHdl, ScrollBar*, void );
146 DECL_LINK( EndScrollHdl, ScrollBar*, void );
147
148 void SetNodeBmpWidth( const Image& );
150
151 // Selection-Engine
152 SvTreeListEntry* MakePointVisible( const Point& rPoint );
153
155 SvTreeListEntry* pNewCursor );
156 void BeginDrag();
157 bool ButtonDownCheckCtrl( const MouseEvent& rMEvt, SvTreeListEntry* pEntry );
158 bool MouseMoveCheckCtrl( const MouseEvent& rMEvt, SvTreeListEntry const * pEntry );
159 bool ButtonUpCheckCtrl( const MouseEvent& rMEvt );
161
162 bool EntryReallyHit(SvTreeListEntry* pEntry, const Point& rPos, tools::Long nLine);
163 void InitScrollBarBox();
164 SvLBoxTab* NextTab( SvLBoxTab const * );
165
166 void SetMostRight( SvTreeListEntry* pEntry );
167 void FindMostRight( SvTreeListEntry* pParent );
168 void FindMostRight_Impl( SvTreeListEntry* pParent );
169 void NotifyTabsChanged();
170
171 // if element at cursor can be expanded in general
172 bool IsExpandable() const;
173
174 static void implInitDefaultNodeImages();
175
176 void UpdateStringSorter();
177
178 short UpdateContextBmpWidthVector( SvTreeListEntry const * pEntry, short nWidth );
179 void UpdateContextBmpWidthMax( SvTreeListEntry const * pEntry );
181
182 void ExpandAll();
183 void CollapseTo(SvTreeListEntry* pParentToCollapse);
184
185protected:
196 bool mbNoAutoCurEntry; // disable the behavior of automatically selecting a "CurEntry" upon painting the control
198 sal_uLong m_nVisibleCount; // Number of lines in control
200 bool m_bSimpleTravel : 1; // is true if SelectionMode::Single
202 tools::Long m_nNodeBmpTabDistance; // typical smaller than 0
203
204 virtual tools::Long GetEntryLine(const SvTreeListEntry* pEntry) const;
205 virtual void CursorDown();
206 virtual void CursorUp();
207 virtual void PageDown( sal_uInt16 nDelta );
208 virtual void PageUp( sal_uInt16 nDelta );
209 // set Thumb to FirstEntryToDraw
210 virtual void SyncVerThumb();
211 virtual void AdjustScrollBars( Size& rSize );
212 virtual void InvalidateEntry( tools::Long nY ) const;
213
215 void SetCursor( SvTreeListEntry* pEntry, bool bForceNoSelect = false );
216 void PositionScrollBars( Size& rOSize, sal_uInt16 nMask );
217 void FindMostRight();
218 void FillView();
219 void ShowVerSBar();
220 void StopUserEvent();
221
222 DECL_LINK( MyUserEvent, void*, void);
223
224public:
225 SvImpLBox( SvTreeListBox* pView, SvTreeList*, WinBits nWinStyle );
226 virtual ~SvImpLBox();
227
228 void Clear();
229 void SetStyle( WinBits i_nWinStyle );
230 void SetNoAutoCurEntry( bool b );
232
234 void RemovingEntry( SvTreeListEntry* pEntry );
235 void EntryRemoved();
236 void MovingEntry( SvTreeListEntry* pEntry );
237 void EntryMoved( SvTreeListEntry* pEntry );
238 void TreeInserted( SvTreeListEntry* pEntry );
239
240 void EntryExpanded( SvTreeListEntry* pEntry );
241 void EntryCollapsed( SvTreeListEntry* pEntry );
242 void CollapsingEntry( SvTreeListEntry* pEntry );
243 void EntrySelected( SvTreeListEntry* pEntry, bool bSelect );
244
245 virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect);
246 void MouseButtonDown( const MouseEvent& );
247 void MouseButtonUp( const MouseEvent& );
248 void MouseMove( const MouseEvent&);
249 virtual bool KeyInput( const KeyEvent& );
250 void Resize();
251 void GetFocus();
252 void LoseFocus();
253 virtual void UpdateAll( bool bInvalidateCompleteView );
254 void SetEntryHeight();
256 void RecalcFocusRect();
257
258 void SelectEntry( SvTreeListEntry* pEntry, bool bSelect );
259 void SetDragDropMode( DragDropMode eDDMode );
261
262 virtual bool IsEntryInView( SvTreeListEntry* pEntry ) const;
263 virtual SvTreeListEntry* GetEntry( const Point& rPos ) const;
264 // returns last entry, if Pos below last entry
265 virtual SvTreeListEntry* GetClickedEntry( const Point& ) const;
268 virtual Point GetEntryPosition(const SvTreeListEntry*) const;
269 void MakeVisible( SvTreeListEntry* pEntry, bool bMoveToTop = false );
270 void ScrollToAbsPos( tools::Long nPos );
271
272 void PaintDDCursor(SvTreeListEntry* pEntry, bool bShow);
273
274 // Images
275 inline Image& implGetImageLocation( const ImageType _eType );
276
277 inline void SetExpandedNodeBmp( const Image& _rImg );
278 inline void SetCollapsedNodeBmp( const Image& _rImg );
279
280 inline const Image& GetExpandedNodeBmp( );
281 inline const Image& GetCollapsedNodeBmp( );
282
283 inline void SetDefaultEntryExpBmp( const Image& _rImg );
284 inline void SetDefaultEntryColBmp( const Image& _rImg );
285 inline const Image& GetDefaultEntryExpBmp( );
286 inline const Image& GetDefaultEntryColBmp( );
287
288 static const Image& GetDefaultExpandedNodeImage( );
289 static const Image& GetDefaultCollapsedNodeImage( );
290
291 const Size& GetOutputSize() const { return m_aOutputSize;}
292 virtual void KeyUp( bool bPageUp );
293 virtual void KeyDown( bool bPageDown );
294 void Command( const CommandEvent& rCEvt );
295
296 void Invalidate();
297 void DestroyAnchor() { m_pAnchor=nullptr; m_aSelEng.Reset(); }
298 void SelAllDestrAnch( bool bSelect, bool bDestroyAnchor = true, bool bSingleSelToo = false );
299 void ShowCursor( bool bShow );
300
301 bool RequestHelp( const HelpEvent& rHEvt );
302 bool IsNodeButton( const Point& rPosPixel, const SvTreeListEntry* pEntry ) const;
303 void SetUpdateMode( bool bMode );
304 bool GetUpdateMode() const { return m_bUpdateMode; }
306 bool HasHorScrollBar() const { return m_aHorSBar->IsVisible(); }
307 void CallEventListeners( VclEventId nEvent, void* pData = nullptr );
308
309 bool IsSelectable( const SvTreeListEntry* pEntry ) const;
310 void SetForceMakeVisible(bool bEnable) { mbForceMakeVisible = bEnable; }
311
312 // tdf#143114 allow to ask if CaptureOnButton is active
313 // (MouseButtonDown hit on SvLBoxButton, CaptureMouse() active)
314 bool IsCaptureOnButtonActive() const;
315};
316
318{
319 return nullptr != m_pActiveButton && nullptr != m_pActiveEntry;
320}
321
323{
324 return m_aNodeAndEntryImages[_eType];
325}
326
327inline void SvImpLBox::SetExpandedNodeBmp( const Image& rImg )
328{
330 SetNodeBmpWidth( rImg );
331}
332
333inline void SvImpLBox::SetCollapsedNodeBmp( const Image& rImg )
334{
336 SetNodeBmpWidth( rImg );
337}
338
340{
342}
343
345{
347}
348
349inline void SvImpLBox::SetDefaultEntryExpBmp( const Image& _rImg )
350{
352}
353
354inline void SvImpLBox::SetDefaultEntryColBmp( const Image& _rImg )
355{
357}
358
360{
362}
363
365{
367}
368
370{
371 return Point(0, GetEntryLine(pEntry));
372}
373
375{
376 bool bRet = true;
377 if ( nY < 0 || nY >= m_aOutputSize.Height() )
378 bRet = false;
379 return bRet;
380}
381
383{
384 EntryInserted( pInsTree );
385}
386
387#endif // INCLUDED_VCL_SOURCE_INC_SVIMPBOX_HXX
388
389/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
An idle is a timer to be scheduled immediately.
Definition: idle.hxx:35
Definition: image.hxx:40
SvImpLBox * pImp
Definition: svimpbox.hxx:43
void SetCursorAtPoint(const Point &rPoint, bool bDontSelectAtCursor=false) override
Definition: svimpbox.cxx:2566
void DeselectAtPoint(const Point &rPoint) override
Definition: svimpbox.cxx:2587
void BeginDrag() override
Definition: svimpbox.cxx:2551
VclPtr< SvTreeListBox > pView
Definition: svimpbox.hxx:44
ImpLBSelEng(SvImpLBox *pImp, SvTreeListBox *pView)
Definition: svimpbox.cxx:2541
virtual ~ImpLBSelEng() override
Definition: svimpbox.cxx:2547
void CreateAnchor() override
Definition: svimpbox.cxx:2556
void DeselectAll() override
Definition: svimpbox.cxx:2595
bool IsSelectionAtPoint(const Point &rPoint) override
Definition: svimpbox.cxx:2579
void DestroyAnchor() override
Definition: svimpbox.cxx:2561
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
Definition: outdev.hxx:171
void Reset()
Definition: seleng.cxx:358
constexpr tools::Long Height() const
SvTreeListEntry * m_pStartEntry
Definition: svimpbox.hxx:191
tools::Long m_nNextVerVisSize
Definition: svimpbox.hxx:201
Idle m_aEditIdle
Definition: svimpbox.hxx:129
bool IsNodeButton(const Point &rPosPixel, const SvTreeListEntry *pEntry) const
Definition: svimpbox.cxx:1870
void PaintDDCursor(SvTreeListEntry *pEntry, bool bShow)
Definition: svimpbox.cxx:2812
void SetStyle(WinBits i_nWinStyle)
Definition: svimpbox.cxx:217
static oslInterlockedCount s_nImageRefCount
Definition: svimpbox.hxx:102
virtual void CursorUp()
Definition: svimpbox.cxx:350
DECL_LINK(EndScrollHdl, ScrollBar *, void)
ImpLBSelEng m_aFctSet
Definition: svimpbox.hxx:118
bool RequestHelp(const HelpEvent &rHEvt)
Definition: svimpbox.cxx:2902
short m_nHorSBarHeight
Definition: svimpbox.hxx:122
SvTreeListEntry * m_pActiveEntry
Definition: svimpbox.hxx:92
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
Definition: svimpbox.cxx:843
bool m_bInVScrollHdl
Definition: svimpbox.hxx:199
virtual void AdjustScrollBars(Size &rSize)
Definition: svimpbox.cxx:1102
bool ButtonDownCheckCtrl(const MouseEvent &rMEvt, SvTreeListEntry *pEntry)
Definition: svimpbox.cxx:1800
void EntryCollapsed(SvTreeListEntry *pEntry)
Definition: svimpbox.cxx:1440
void SetNodeBmpWidth(const Image &)
Definition: svimpbox.cxx:1507
void SetModel(SvTreeList *pModel)
Definition: svimpbox.hxx:231
void EntrySelected(SvTreeListEntry *pEntry, bool bSelect)
Definition: svimpbox.cxx:1527
void CollapseTo(SvTreeListEntry *pParentToCollapse)
Definition: svimpbox.cxx:2071
virtual void SyncVerThumb()
Definition: svimpbox.cxx:1361
static const Image & GetDefaultCollapsedNodeImage()
Definition: svimpbox.cxx:3114
virtual void KeyUp(bool bPageUp)
Definition: svimpbox.cxx:446
void CollapsingEntry(SvTreeListEntry *pEntry)
Definition: svimpbox.cxx:1481
bool EntryReallyHit(SvTreeListEntry *pEntry, const Point &rPos, tools::Long nLine)
Definition: svimpbox.cxx:752
void Resize()
Definition: svimpbox.cxx:1230
bool IsExpandable() const
Definition: svimpbox.cxx:3065
std::unique_ptr< comphelper::string::NaturalStringSorter > m_pStringSorter
Definition: svimpbox.hxx:131
void SetCollapsedNodeBmp(const Image &_rImg)
Definition: svimpbox.hxx:333
void InvalidateEntriesFrom(tools::Long nY) const
Definition: svimpbox.cxx:507
void TreeInserted(SvTreeListEntry *pEntry)
Definition: svimpbox.hxx:382
bool m_bSimpleTravel
Definition: svimpbox.hxx:200
bool GetUpdateMode() const
Definition: svimpbox.hxx:304
void Invalidate()
Definition: svimpbox.cxx:2858
void SelectEntry(SvTreeListEntry *pEntry, bool bSelect)
Definition: svimpbox.cxx:2536
bool IsCaptureOnButtonActive() const
Definition: svimpbox.hxx:317
::vcl::AccessibleFactoryAccess m_aFactoryAccess
Definition: svimpbox.hxx:98
void SetDefaultEntryColBmp(const Image &_rImg)
Definition: svimpbox.hxx:354
tools::Rectangle GetClipRegionRect() const
Definition: svimpbox.cxx:833
virtual void InvalidateEntry(tools::Long nY) const
Definition: svimpbox.cxx:517
SvTreeListEntry * MakePointVisible(const Point &rPoint)
Definition: svimpbox.cxx:791
static Image * s_pDefCollapsed
Definition: svimpbox.hxx:100
static const Image & GetDefaultExpandedNodeImage()
Definition: svimpbox.cxx:3107
WinBits m_nStyle
Definition: svimpbox.hxx:195
SvTreeListEntry * m_pCursor
Definition: svimpbox.hxx:189
void InitScrollBarBox()
Definition: svimpbox.cxx:1223
VclPtr< ScrollBar > m_aHorSBar
Definition: svimpbox.hxx:187
void UpdateContextBmpWidthVectorFromMovedEntry(SvTreeListEntry *pEntry)
Definition: svimpbox.cxx:181
bool IsLineVisible(tools::Long nY) const
Definition: svimpbox.hxx:374
virtual ~SvImpLBox()
Definition: svimpbox.cxx:114
void EntryInserted(SvTreeListEntry *)
Definition: svimpbox.cxx:1738
void NotifyTabsChanged()
Definition: svimpbox.cxx:3056
void RecalcFocusRect()
Definition: svimpbox.cxx:561
void SetDragDropMode(DragDropMode eDDMode)
Definition: svimpbox.cxx:2792
virtual SvTreeListEntry * GetEntry(const Point &rPos) const
Definition: svimpbox.cxx:775
const Image & GetExpandedNodeBmp()
Definition: svimpbox.hxx:339
SvLBoxTab * m_pActiveTab
Definition: svimpbox.hxx:93
void SetSelectionMode(SelectionMode eSelMode)
Definition: svimpbox.cxx:2777
void SetNoAutoCurEntry(bool b)
Definition: svimpbox.cxx:224
bool mbNoAutoCurEntry
Definition: svimpbox.hxx:196
SelectionEngine m_aSelEng
Definition: svimpbox.hxx:197
tools::Rectangle GetVisibleArea() const
Definition: svimpbox.cxx:2850
void ExpandAll()
Definition: svimpbox.cxx:2059
SvLBoxButton * m_pActiveButton
Definition: svimpbox.hxx:91
virtual void CursorDown()
Definition: svimpbox.cxx:330
Size m_aOutputSize
Definition: svimpbox.hxx:193
virtual void UpdateAll(bool bInvalidateCompleteView)
Definition: svimpbox.cxx:670
static void implInitDefaultNodeImages()
Definition: svimpbox.cxx:3096
tools::Long m_nNodeBmpTabDistance
Definition: svimpbox.hxx:202
void UpdateContextBmpWidthMax(SvTreeListEntry const *pEntry)
Definition: svimpbox.cxx:203
bool m_bUpdateMode
Definition: svimpbox.hxx:124
const Image & GetCollapsedNodeBmp()
Definition: svimpbox.hxx:344
Point m_aEditClickPos
Definition: svimpbox.hxx:128
tools::Long m_nMostRight
Definition: svimpbox.hxx:121
void SelAllDestrAnch(bool bSelect, bool bDestroyAnchor=true, bool bSingleSelToo=false)
Definition: svimpbox.cxx:2712
void PositionScrollBars(Size &rOSize, sal_uInt16 nMask)
Definition: svimpbox.cxx:1070
const Image & GetDefaultEntryColBmp()
Definition: svimpbox.hxx:364
bool HasHorScrollBar() const
Definition: svimpbox.hxx:306
short UpdateContextBmpWidthVector(SvTreeListEntry const *pEntry, short nWidth)
Definition: svimpbox.cxx:153
SvTreeListEntry * m_pMostRightEntry
Definition: svimpbox.hxx:90
SvImpLBox(SvTreeListBox *pView, SvTreeList *, WinBits nWinStyle)
Definition: svimpbox.cxx:51
void SetMostRight(SvTreeListEntry *pEntry)
Definition: svimpbox.cxx:2979
const Size & GetOutputSize() const
Definition: svimpbox.hxx:291
void SetEntryHeight()
Definition: svimpbox.cxx:1397
ImageType
When 0 all static images will be destroyed.
Definition: svimpbox.hxx:106
SvLBoxTab * NextTab(SvLBoxTab const *)
Definition: svimpbox.cxx:2956
bool ButtonUpCheckCtrl(const MouseEvent &rMEvt)
Definition: svimpbox.cxx:1846
bool ButtonDownCheckExpand(const MouseEvent &, SvTreeListEntry *)
Definition: svimpbox.cxx:1893
void SetAnchorSelection(SvTreeListEntry *pOld, SvTreeListEntry *pNewCursor)
Definition: svimpbox.cxx:2605
void EntryMoved(SvTreeListEntry *pEntry)
Definition: svimpbox.cxx:1703
ImplSVEvent * m_nCurUserEvent
Definition: svimpbox.hxx:192
void StopUserEvent()
Definition: svimpbox.cxx:3087
bool mbForceMakeVisible
Definition: svimpbox.hxx:126
LBoxFlags m_nFlags
Definition: svimpbox.hxx:194
void BeginDrag()
Definition: svimpbox.cxx:2806
DECL_LINK(ScrollLeftRightHdl, ScrollBar *, void)
void SetForceMakeVisible(bool bEnable)
Definition: svimpbox.hxx:310
void SetCurEntry(SvTreeListEntry *)
Definition: svimpbox.cxx:2863
o3tl::enumarray< ImageType, Image > m_aNodeAndEntryImages
Definition: svimpbox.hxx:116
VclPtr< ScrollBar > m_aVerSBar
Definition: svimpbox.hxx:188
void SetUpdateMode(bool bMode)
Definition: svimpbox.cxx:2969
void EntryExpanded(SvTreeListEntry *pEntry)
Definition: svimpbox.cxx:1419
void FindMostRight_Impl(SvTreeListEntry *pParent)
Definition: svimpbox.cxx:3042
tools::Long m_nNodeBmpWidth
Definition: svimpbox.hxx:120
void MouseButtonDown(const MouseEvent &)
Definition: svimpbox.cxx:1918
void UpdateStringSorter()
Definition: svimpbox.cxx:131
SvTreeList * m_pTree
Definition: svimpbox.hxx:88
DECL_LINK(EditTimerCall, Timer *, void)
virtual SvTreeListEntry * GetClickedEntry(const Point &) const
Definition: svimpbox.cxx:730
DECL_LINK(ScrollUpDownHdl, ScrollBar *, void)
VclPtr< ScrollBarBox > m_aScrBarBox
Definition: svimpbox.hxx:95
std::vector< short > m_aContextBmpWidthVector
Definition: svimpbox.hxx:133
void FindMostRight()
Definition: svimpbox.cxx:3019
SvTreeListEntry * m_pCursorOld
Definition: svimpbox.hxx:190
void ShowVerSBar()
Definition: svimpbox.cxx:1297
void RemovingEntry(SvTreeListEntry *pEntry)
Definition: svimpbox.cxx:1554
bool MouseMoveCheckCtrl(const MouseEvent &rMEvt, SvTreeListEntry const *pEntry)
Definition: svimpbox.cxx:1819
void MovingEntry(SvTreeListEntry *pEntry)
Definition: svimpbox.cxx:1673
void LoseFocus()
Definition: svimpbox.cxx:2513
Image & implGetImageLocation(const ImageType _eType)
Definition: svimpbox.hxx:322
sal_uLong m_nVisibleCount
Definition: svimpbox.hxx:198
virtual bool KeyInput(const KeyEvent &)
Definition: svimpbox.cxx:2104
virtual Point GetEntryPosition(const SvTreeListEntry *) const
Definition: svimpbox.hxx:369
SvTreeListEntry * m_pAnchor
Definition: svimpbox.hxx:89
virtual bool IsEntryInView(SvTreeListEntry *pEntry) const
Definition: svimpbox.cxx:1372
void Command(const CommandEvent &rCEvt)
Definition: svimpbox.cxx:2828
virtual void KeyDown(bool bPageDown)
Definition: svimpbox.cxx:475
void DestroyAnchor()
Definition: svimpbox.hxx:297
SvTreeListEntry * GetCurEntry() const
Definition: svimpbox.hxx:266
bool m_bSubLstOpLR
Definition: svimpbox.hxx:125
VclPtr< SvTreeListBox > m_pView
Definition: svimpbox.hxx:186
static Image * s_pDefExpanded
Definition: svimpbox.hxx:101
void SetDefaultEntryExpBmp(const Image &_rImg)
Definition: svimpbox.hxx:349
void EntryRemoved()
Definition: svimpbox.cxx:1624
void Clear()
Definition: svimpbox.cxx:230
void GetFocus()
Definition: svimpbox.cxx:2492
void FillView()
Definition: svimpbox.cxx:1252
void MouseButtonUp(const MouseEvent &)
Definition: svimpbox.cxx:2010
void ScrollToAbsPos(tools::Long nPos)
Definition: svimpbox.cxx:952
void MakeVisible(SvTreeListEntry *pEntry, bool bMoveToTop=false)
Definition: svimpbox.cxx:912
virtual tools::Long GetEntryLine(const SvTreeListEntry *pEntry) const
Definition: svimpbox.cxx:1385
void MouseMove(const MouseEvent &)
Definition: svimpbox.cxx:2034
void DrawNet(vcl::RenderContext &rRenderContext)
Definition: svimpbox.cxx:981
void CallEventListeners(VclEventId nEvent, void *pData=nullptr)
Definition: svimpbox.cxx:3121
virtual void PageDown(sal_uInt16 nDelta)
Definition: svimpbox.cxx:373
void SetCursor(SvTreeListEntry *pEntry, bool bForceNoSelect=false)
Definition: svimpbox.cxx:578
DECL_LINK(MyUserEvent, void *, void)
void ShowCursor(bool bShow)
Definition: svimpbox.cxx:647
bool IsSelectable(const SvTreeListEntry *pEntry) const
Definition: svimpbox.cxx:3128
void KeyLeftRight(tools::Long nDiff)
Definition: svimpbox.cxx:701
void SetNodeBmpTabDistance()
Definition: svimpbox.cxx:1513
void SetExpandedNodeBmp(const Image &_rImg)
Definition: svimpbox.hxx:327
virtual void PageUp(sal_uInt16 nDelta)
Definition: svimpbox.cxx:411
const Image & GetDefaultEntryExpBmp()
Definition: svimpbox.hxx:359
short m_nVerSBarWidth
Definition: svimpbox.hxx:122
std::unique_ptr< SvTreeList > pModel
Definition: treelist.hxx:211
SelectionMode eSelMode
Definition: timer.hxx:27
bool IsVisible() const
Definition: window2.cxx:1126
NONE
long Long
sal_uIntPtr sal_uLong
LBoxFlags
Definition: svimpbox.hxx:60
@ RemovedRecalcMostRight
@ IgnoreChangedTabs
@ EndScrollSetVisSize
@ RemovedEntryInvisible
DragDropMode
SelectionMode
Definition: vclenum.hxx:26
VclEventId
Definition: vclevent.hxx:38
sal_Int64 WinBits
Definition: wintypes.hxx:109