36 #include <bitmaps.hlst>
54 , m_aFctSet(this, pLBView)
55 , mbForceMakeVisible (
false)
56 , m_aEditIdle(
"SvImpLBox m_aEditIdle")
59 , mbNoAutoCurEntry(
false)
60 , m_aSelEng(pLBView, nullptr)
61 , m_nNextVerVisSize(0)
139 if( aLocale.Language != rNewLocale.Language ||
140 aLocale.Country != rNewLocale.Country ||
141 aLocale.Variant != rNewLocale.Variant )
160 while ( nDepth > nSize )
172 if( nContextBmpWidth < nWidth )
178 return nContextBmpWidth;
183 DBG_ASSERT( pEntry,
"Moved Entry is invalid!" );
188 short nMax = std::max(nExpWidth, nColWidth);
194 DBG_ASSERT( pChild,
"The first child is invalid!" );
253 Range aRange( 0, 0 );
260 m_pView->Control::SetMapMode( aMapMode );
283 m_aVerSBar->SetVisibleSize( m_nNextVerVisSize );
292 DBG_ASSERT(!m_bInVScrollHdl,
"Scroll handler out-paces itself!");
298 if (pScrollBar->GetPageSize() == 1)
299 nDelta = nDelta > 0 ? 1 : -1;
303 m_bInVScrollHdl =
true;
305 if( m_pView->IsEditingActive() )
307 m_pView->EndEditing(
true );
308 m_pView->PaintImmediately();
313 if( nDelta == 1 && pScrollBar->GetPageSize() > 1)
316 PageDown( static_cast<sal_uInt16>(nDelta) );
321 if( nDelta == 1 && pScrollBar->GetPageSize() > 1)
324 PageUp( static_cast<sal_uInt16>(nDelta) );
326 m_bInVScrollHdl =
false;
336 if( pNextFirstToDraw )
356 if( !pPrevFirstToDraw )
375 sal_uInt16 nRealDelta = nDelta;
413 sal_uInt16 nRealDelta = nDelta;
459 if( nThumbPos < nDelta )
469 PageUp( static_cast<short>(nDelta) );
491 while( (nDelta > 0) && (nTmp+nDelta) >= nRange )
501 PageDown( static_cast<short>(nDelta) );
526 if( aRect.
Top() > nMaxBottom )
528 if( aRect.
Bottom() > nMaxBottom )
548 bool bHasFocusRect =
false;
551 bHasFocusRect =
true;
593 while( pEntry && pViewDataNewCur && !pViewDataNewCur->
IsSelectable() )
680 if( bInvalidateCompleteView )
691 if( m_pView->IsEditingActive() )
693 m_pView->EndEditing(
true );
694 m_pView->PaintImmediately();
696 m_pView->nFocusWidth = -1;
697 KeyLeftRight( nDelta );
710 Point aOrigin( -nPos, 0 );
716 if( !(
m_nFlags & LBoxFlags::InResize) )
732 DBG_ASSERT(
m_pView->
GetModel(),
"SvImpLBox::GetClickedEntry: how can this ever happen? Please tell me (frank.schoenheit@sun.com) how to reproduce!" );
743 sal_uInt16 nTemp = nClickedEntry;
765 aRect.AdjustLeft( -4 );
767 Point aPos( rPosPixel );
769 bRet = aRect.Contains( aPos );
783 sal_uInt16 nTemp = nClickedEntry;
785 if( nTemp != nClickedEntry )
798 if( nY < 0 || nY >= nMax )
818 sal_uInt16 nSteps = 0xFFFF;
836 aOrigin.setX( aOrigin.X() * -1 );
861 reinterpret_cast<void*>(1));
878 sal_uInt16 nStartLine =
static_cast<sal_uInt16
>(rRect.
Top() / nEntryHeight);
879 sal_uInt16
nCount =
static_cast<sal_uInt16
>(nRectHeight / nEntryHeight);
884 while (nStartLine && pEntry)
897 for(sal_uInt16
n=0;
n< nCount && pEntry;
n++)
960 else if( nPos > nLastEntryPos )
961 nPos = nLastEntryPos;
1003 if( nEntryHeightDIV2 && !(nEntryHeight & 0x0001))
1016 nY -= (nOffs * nEntryHeight);
1029 sal_uInt16 nDistance;
1041 aPos1.setY(nY + nEntryHeight);
1043 assert(pChild &&
"Child?");
1048 aPos2.AdjustY((nDistance * nEntryHeight) - (nEntryHeightDIV2 + 2));
1049 rRenderContext.
DrawLine(aPos1, aPos2);
1058 aPos1.setY(nY + nEntryHeightDIV2);
1061 rRenderContext.
DrawLine(aPos1, aPos2);
1067 rRenderContext.
Pop();
1077 if( nMask & 0x0001 )
1079 if( nMask & 0x0002 )
1082 aVerSize.AdjustHeight(2 * nOverlap );
1083 Point aVerPos( rSize.
Width() - aVerSize.Width() + nOverlap, -nOverlap );
1086 aHorSize.AdjustWidth(2 * nOverlap );
1087 Point aHorPos( -nOverlap, rSize.
Height() - aHorSize.Height() + nOverlap );
1091 if( nMask & 0x0001 )
1093 if( nMask & 0x0002 )
1096 if( (nMask & (0x0001|0x0002)) == (0x0001|0x0002) )
1108 sal_uInt16 nResult = 0;
1110 Size aOSize(
m_pView->Control::GetOutputSizePixel() );
1113 bool bVerSBar = ( nWindowStyle &
WB_VSCROLL ) != 0;
1114 bool bHorBar =
false;
1117 aOrigin.setX( aOrigin.X() * -1 );
1118 nMaxRight += aOrigin.X() - 1;
1153 if( !(nResult & 0x0001) &&
1197 if( nTemp != nNewThumbPos )
1199 nTemp = nNewThumbPos - nTemp;
1209 if( nResult & 0x0001 )
1214 if( nResult & 0x0002 )
1226 Size aSize(
m_pView->Control::GetOutputSizePixel() );
1258 if( nTempThumb < 0 )
1261 nTempThumb = nVisibleViewCount == 0 ? 0 : nVisibleViewCount - 1;
1269 sal_uLong nCurDispEntries = nLast-nThumb+1;
1275 bool bFound =
false;
1324 aPos.setX( aPos.X() * -1 );
1325 nMaxRight = nMaxRight + aPos.X() - 1;
1392 nFirstVisPos = nEntryVisPos - nFirstVisPos;
1394 return nFirstVisPos;
1403 Size aSize =
m_pView->Control::GetOutputSizePixel();
1458 if( nNewThumbPos != nOldThumbPos )
1461 sal_uInt16 nDistance =
static_cast<sal_uInt16
>(nNewThumbPos);
1714 sal_uInt16 nNewPos =
static_cast<sal_uInt16
>(
m_pTree->
GetAbsPos( pEntry ));
1716 if( nNewPos < nFirstPos )
1771 sal_uInt16 nCurDispEntries = nLast-nThumb+1;
1876 if( !pFirstDynamicTab )
1882 nMouseX -= aOrigin.X();
1889 return nMouseX <= nX;
2074 if (!pParentToCollapse)
2077 sal_uInt16 nRefDepth;
2119 bool bKeyUsed =
true;
2122 sal_uInt16 aCode = rKeyCode.
GetCode();
2124 bool bShift = rKeyCode.
IsShift();
2125 bool bMod1 = rKeyCode.
IsMod1();
2263 while( nDelta && pNewCursor && !
IsSelectable(pNewCursor) )
2291 while( nDelta && pNewCursor && !
IsSelectable(pNewCursor) )
2297 if( nDelta && pNewCursor )
2352 if( !bShift && !bMod1 )
2355 EditTimerCall(
nullptr );
2437 if( pNewCursor && pNewCursor !=
m_pCursor )
2457 if( pNewCursor && pNewCursor !=
m_pCursor)
2612 if( nOldVisPos > nAnchorVisPos ||
2613 ( nAnchorVisPos==nOldVisPos && nNewVisPos > nAnchorVisPos) )
2615 if( nNewVisPos > nOldVisPos )
2617 pEntry = pOldCursor;
2618 while( pEntry && pEntry != pNewCursor )
2628 if( nNewVisPos < nAnchorVisPos )
2631 while( pEntry && pEntry != pOldCursor )
2639 pEntry = pNewCursor;
2650 if( nNewVisPos < nOldVisPos )
2653 while( pEntry && pEntry != pOldCursor )
2665 if( nNewVisPos < nOldVisPos )
2667 pEntry = pNewCursor;
2668 while( pEntry && pEntry != pOldCursor )
2678 if( nNewVisPos > nAnchorVisPos )
2680 pEntry = pOldCursor;
2689 while( pEntry && pEntry != pNewCursor )
2699 if( nNewVisPos > nOldVisPos )
2701 pEntry = pOldCursor;
2702 while( pEntry && pEntry != pNewCursor )
2713 bool bSelect,
bool bDestroyAnchor,
bool bSingleSelToo )
2740 if( bDestroyAnchor )
2770 if( bDestroyAnchor )
2853 aPos.setX( aPos.X() * -1 );
2878 if( !m_pView->IsInplaceEditingEnabled() )
2881 bool bIsMouseTriggered = m_aEditClickPos.X() >= 0;
2882 if ( bIsMouseTriggered )
2884 Point aCurrentMousePos = m_pView->GetPointerPosPixel();
2885 if ( ( std::abs( aCurrentMousePos.X() - m_aEditClickPos.X() ) > 5 )
2886 || ( std::abs( aCurrentMousePos.Y() - m_aEditClickPos.Y() ) > 5 )
2896 ShowCursor(
false );
2897 m_pView->ImplEditEntry( pEntry );
2923 bool bItemClipped =
false;
2925 if( pNextTab &&
m_pView->
GetTabPos(pEntry,pNextTab) < aPos.X()+aSize.Width() )
2927 aSize.setWidth( pNextTab->GetPos() - pTab->
GetPos() );
2928 bItemClipped =
true;
2934 if( bItemClipped || !aViewRect.
Contains( aItemRect ) )
2942 aItemRect.
SetTop( aPt.Y() );
2959 if( nTabCount <= 1 )
2961 for(
int nTab=0; nTab < (nTabCount-1); nTab++)
2989 sal_uInt16 nLastItem = pEntry->
ItemCount() - 1;
2993 if( nLastItem < nLastTab )
2994 nLastTab = nLastItem;
3003 aPos.setX( aPos.X() * -1 );
3004 nMaxRight = nMaxRight + aPos.X() - 1;
3006 tools::Long nNextTab = nTabPos < nMaxRight ? nMaxRight : nMaxRight + 50;
3011 tools::Long nRight = nTabPos + nOffset + nItemSize;
3046 size_t nCount = rList.size();
3047 for(
size_t nCur = 0; nCur < nCount; nCur++ )
3072 m_nCurUserEvent =
nullptr;
3075 m_pView->Invalidate();
3076 m_pView->PaintImmediately();
3082 m_pView->Invalidate( GetVisibleArea() );
3133 return (pViewDataNewCur ==
nullptr) || pViewDataNewCur->
IsSelectable();
#define LINK(Instance, Class, Member)
vcl::Region GetClipRegion() const
Size GetSizePixel() const
void EntryMoved(SvTreeListEntry *pEntry)
bool SelMouseButtonDown(const MouseEvent &rMEvt)
const Color & GetShadowColor() const
void MovingEntry(SvTreeListEntry *pEntry)
void SetCursorAtPoint(const Point &rPoint, bool bDontSelectAtCursor=false) override
bool RequestHelp(const HelpEvent &rHEvt)
void SelectEntry(SvTreeListEntry *pEntry, bool bSelect)
SvTreeListEntry * NextVisible(SvTreeListEntry *pEntry) const
const Wallpaper & GetBackground() const
SvTreeListEntry * NextSelected(SvTreeListEntry *pEntry) const
bool IsSelectable() const
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
bool GetUpdateMode() const
void MouseMove(const MouseEvent &)
IMPL_LINK_NOARG(SvImpLBox, EndScrollHdl, ScrollBar *, void)
void InvalidateEntry(SvTreeListEntry *)
virtual void AdjustScrollBars(Size &rSize)
sal_uInt16 TabCount() const
void SetSelectionMode(SelectionMode eMode)
void setWidth(tools::Long nWidth)
void SetNoAutoCurEntry(bool b)
IMPL_LINK(SvImpLBox, ScrollUpDownHdl, ScrollBar *, pScrollBar, void)
tools::Long m_nNodeBmpTabDistance
bool IsEntryVisible(SvTreeListEntry *pEntry) const
const Image & GetExpandedNodeBmp()
constexpr sal_uInt16 KEY_COMMA
virtual SvTreeListEntry * GetEntry(const Point &rPos) const
A thin wrapper around rtl::Reference to implement the acquire and dispose semantics we want for refer...
SvTreeList * GetModel() const
SvTreeListEntry * PrevVisible(SvTreeListEntry *pEntry) const
bool IsEditingActive() const
SvTLEntryFlags GetFlags() const
SvTreeListEntry * m_pCursorOld
sal_uInt32 GetAbsPos(SvTreeListEntry const *pEntry) const
virtual void UpdateAll(bool bInvalidateCompleteView)
void UpdateStringSorter()
const SvTreeListEntries & GetChildList(SvTreeListEntry *pParent) const
const StyleSettings & GetStyleSettings() const
static const AllSettings & GetSettings()
Gets the application's settings.
constexpr sal_uInt16 KEY_A
void Push(vcl::PushFlags nFlags=vcl::PushFlags::ALL)
const Color & GetFaceColor() const
virtual tools::Rectangle GetFocusRect(const SvTreeListEntry *, tools::Long nLine)
void SetFlags(SvTLEntryFlags nFlags)
sal_uInt16 GetDepth(const SvTreeListEntry *pEntry) const
sal_uInt32 GetEntryCount() const
virtual Size GetSizePixel() const
void EntryExpanded(SvTreeListEntry *pEntry)
virtual void SetSizePixel(const Size &rNewSize)
SvLBoxTab * GetFirstDynamicTab() const
void MakeVisible(SvTreeListEntry *pEntry, bool bMoveToTop=false)
void DrawNet(vcl::RenderContext &rRenderContext)
void PositionScrollBars(Size &rOSize, sal_uInt16 nMask)
static Image * s_pDefCollapsed
VclPtr< SvTreeListBox > m_pView
bool IsSelectionAtPoint(const Point &rPoint) override
static const Image & GetDefaultCollapsedNodeImage()
static ImplSVEvent * PostUserEvent(const Link< void *, void > &rLink, void *pCaller=nullptr, bool bReferenceLink=false)
Post a user event to the default window.
virtual void StartDrag(sal_Int8 nAction, const Point &rPosPixel) override
sal_uInt16 GetCode() const
void UpdateContextBmpWidthMax(SvTreeListEntry const *pEntry)
sal_uInt32 GetAbsPos(const SvTreeListEntry *pEntry) const
short nContextBmpWidthMax
tools::Long m_nNextVerVisSize
SelectionMode GetSelectionMode() const
sal_uLong m_nVisibleCount
constexpr sal_uInt16 KEY_SPACE
constexpr sal_uInt16 KEY_ADD
View-dependent data for a tree list entry created in the virtual function SvTreeListBox::CreateViewDa...
bool HandleScrollCommand(const CommandEvent &rCmd, ScrollBar *pHScrl, ScrollBar *pVScrl)
void EnableDrag(bool bOn)
void CursorPosChanging(bool bShift, bool bMod1)
bool IsNativeControlSupported(ControlType nType, ControlPart nPart) const
Query the platform layer for control support.
bool IsExpandable() const
HelpEventMode GetMode() const
void SetCurEntry(SvTreeListEntry *)
static const Image & GetDefaultExpandedNodeImage()
void ScrollToAbsPos(tools::Long nPos)
constexpr sal_uInt16 KEY_UP
const css::lang::Locale & getLocale(bool bResolveSystem=true) const
SvTreeListEntry * MakePointVisible(const Point &rPoint)
void SetFocus(bool bFocus)
const Image & GetBitmap2() const
constexpr sal_uInt16 KEY_END
constexpr tools::Long Width() const
sal_uInt16 GetClicks() const
bool ButtonDownCheckCtrl(const MouseEvent &rMEvt, SvTreeListEntry *pEntry)
int GetHeight(const SvTreeListBox *pView, const SvTreeListEntry *pEntry) const
virtual bool IsEntryInView(SvTreeListEntry *pEntry) const
void SetEntryFocus(SvTreeListEntry *pEntry, bool bFocus)
void SetAnchorSelection(SvTreeListEntry *pOld, SvTreeListEntry *pNewCursor)
void MouseButtonUp(const MouseEvent &)
void UpdateContextBmpWidthVectorFromMovedEntry(SvTreeListEntry *pEntry)
SvImpLBox(SvTreeListBox *pView, SvTreeList *, WinBits nWinStyle)
SvTreeListEntry * Next(SvTreeListEntry *pEntry, sal_uInt16 *pDepth=nullptr) const
VclPtr< ScrollBarBox > m_aScrBarBox
const SvTreeListEntry * GetParent(const SvTreeListEntry *pEntry) const
void SetDragDropMode(DragDropMode eDDMode)
SvTreeListEntry * FirstSelected() const
const Point & GetMousePosPixel() const
sal_IntPtr GetTabPos(const SvTreeListEntry *, const SvLBoxTab *) const
constexpr sal_uInt16 KEY_PAGEUP
SvTreeListEntry * NextSibling() const
VclPtr< SvTreeListBox > pView
constexpr sal_uInt16 KEY_F2
void EndEditing(bool bCancel=false)
void SetSelectionMode(SelectionMode eSelMode)
bool ButtonDownCheckExpand(const MouseEvent &, SvTreeListEntry *)
static void implInitDefaultNodeImages()
virtual void InvalidateEntry(tools::Long nY) const
WinBits const WB_HASLINESATROOT
sal_uInt32 GetVisiblePos(SvTreeListEntry const *pEntry) const
const Size & GetOutputSize() const
virtual bool KeyInput(const KeyEvent &)
virtual void PageDown(sal_uInt16 nDelta)
void CallImplEventListeners(VclEventId nEvent, void *pData)
ImplSVEvent * m_nCurUserEvent
void DrawLine(const Point &rStartPt, const Point &rEndPt)
SvTreeListEntry * GetRootLevelParent(SvTreeListEntry *pEntry) const
void MouseButtonDown(const MouseEvent &)
short GetEntryHeight() const
virtual tools::Long GetEntryLine(const SvTreeListEntry *pEntry) const
const LanguageTag & GetLanguageTag() const
void EntrySelected(SvTreeListEntry *pEntry, bool bSelect)
void DestroyAnchor() override
SvTreeListEntry * pHdlEntry
const Point & GetMousePosPixel() const
bool IsChild(const SvTreeListEntry *pParent, const SvTreeListEntry *pChild) const
constexpr sal_uInt16 KEY_DOWN
static void RemoveUserEvent(ImplSVEvent *nUserEvent)
Remove user event based on event ID.
bool IsSelectable(const SvTreeListEntry *pEntry) const
SvTreeListEntry * GetEntryAtAbsPos(sal_uInt32 nAbsPos) const
void CreateAnchor() override
void OnCurrentEntryChanged()
ImpLBSelEng(SvImpLBox *pImp, SvTreeListBox *pView)
void CallEventListeners(VclEventId nEvent, void *pData=nullptr)
sal_uInt32 GetVisibleCount() const
void ExpandSelectionOnMouseMove(bool bExpand=true)
#define DBG_ASSERT(sCon, aError)
SvTreeListEntry * PrevSibling() const
bool IsLineVisible(tools::Long nY) const
SvTreeListEntry * m_pAnchor
constexpr sal_uInt16 KEY_HOME
bool SelMouseMove(const MouseEvent &rMEvt)
WinBits const WB_SIMPLEMODE
const MapMode & GetMapMode() const
bool IsNodeButton(const Point &rPosPixel, const SvTreeListEntry *pEntry) const
bool mbActivateOnSingleClick
VclPtr< ScrollBar > m_aHorSBar
virtual void KeyUp(bool bPageUp)
sal_uInt32 GetSelectionCount() const
virtual void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
void SetOrigin(const Point &rOrigin)
bool SelMouseButtonUp(const MouseEvent &rMEvt)
const Color & GetColor() const
SvTreeListEntry * FirstVisible() const
bool IsSelected(const SvTreeListEntry *pEntry) const
std::unique_ptr< SvTreeList > pModel
SvTreeListEntry * FirstChild(SvTreeListEntry *pParent) const
bool MouseMoveCheckCtrl(const MouseEvent &rMEvt, SvTreeListEntry const *pEntry)
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
CommandEventId GetCommand() const
SvViewDataEntry * GetViewDataEntry(SvTreeListEntry const *pEntry) const
bool Collapse(SvTreeListEntry *pParent)
SvLBoxItem * GetItem(SvTreeListEntry *, tools::Long nX, SvLBoxTab **ppTab)
constexpr sal_uInt16 KEY_PAGEDOWN
void DeselectAtPoint(const Point &rPoint) override
void SelAllDestrAnch(bool bSelect, bool bDestroyAnchor=true, bool bSingleSelToo=false)
const Image & GetBitmap1() const
bool DrawNativeControl(ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, const Color &rBackgroundColor=COL_AUTO)
Request rendering of a particular control and/or part.
tools::Rectangle GetVisibleArea() const
SvTreeListEntry * Last() const
const AllSettings & GetSettings() const
bool ButtonUpCheckCtrl(const MouseEvent &rMEvt)
void FindMostRight_Impl(SvTreeListEntry *pParent)
void CollapsingEntry(SvTreeListEntry *pEntry)
const SvLBoxItem & GetItem(size_t nPos) const
virtual void PageUp(sal_uInt16 nDelta)
bool Expand(SvTreeListEntry *pParent)
bool IsRGBEqual(const Color &rColor) const
void SelectAll(bool bSelect)
static oslInterlockedCount s_nImageRefCount
Point ScreenToOutputPixel(const Point &rPos) const
std::unique_ptr< comphelper::string::NaturalStringSorter > m_pStringSorter
static void ShowQuickHelp(vcl::Window *pParent, const tools::Rectangle &rScreenRect, const OUString &rHelpText, QuickHelpFlags nStyle=QuickHelpFlags::NONE)
virtual void ShowFocus(const tools::Rectangle &rRect)
bool HasChildrenOnDemand() const
void SetCursor(SvTreeListEntry *pEntry, bool bForceNoSelect=false)
void CollapseTo(SvTreeListEntry *pParentToCollapse)
constexpr sal_uInt16 KEY_RETURN
virtual void SetPosSizePixel(const Point &rNewPos, const Size &rNewSize)
virtual SvLBoxItemType GetType() const =0
constexpr sal_uInt16 KEY_RIGHT
const Point & GetMousePosPixel() const
void ShowCursor(bool bShow)
bool IsAtRootDepth(const SvTreeListEntry *pEntry) const
std::vector< std::unique_ptr< SvLBoxTab > > aTabs
SvTreeListEntry * Next(SvTreeListEntry *pEntry) const
void SetMostRight(SvTreeListEntry *pEntry)
SvTreeListEntry * LastSibling() const
void SetVisibleArea(const tools::Rectangle &rNewArea)
tools::Rectangle GetClipRegionRect() const
SvTreeListEntry * m_pCursor
void PaintDDCursor(SvTreeListEntry *pEntry, bool bShow)
WinBits const WB_HASLINES
SvTreeListEntry * LastVisible() const
bool IsExpanded(SvTreeListEntry *pEntry) const
const SvViewDataEntry * GetViewData(const SvTreeListEntry *pEntry) const
int GetWidth(const SvTreeListBox *pView, const SvTreeListEntry *pEntry) const
static Image * s_pDefExpanded
SvTreeListEntry * First() const
virtual void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE) override
WinBits const WB_HIDESELECTION
const vcl::KeyCode & GetKeyCode() const
bool IsAllExpanded(SvTreeListEntry *pEntry) const
bool EntryReallyHit(SvTreeListEntry *pEntry, const Point &rPos, tools::Long nLine)
virtual SvTreeListEntry * GetClickedEntry(const Point &) const
constexpr sal_uInt16 KEY_SUBTRACT
virtual void Scroll(tools::Long nHorzScroll, tools::Long nVertScroll, ScrollFlags nFlags=ScrollFlags::NONE)
SvTreeListEntry * pEdEntry
tools::Long m_nNodeBmpWidth
SvLBoxTab * GetTab(SvTreeListEntry const *, SvLBoxItem const *) const
constexpr tools::Long Height() const
constexpr sal_uInt16 KEY_ESCAPE
SvLBoxTab * NextTab(SvLBoxTab const *)
SelectionEngine m_aSelEng
WinBits const WB_NOINITIALSELECTION
bool Command(const CommandEvent &rCEvt)
::OutputDevice const * GetOutDev() const
tools::Long AdjustWidth(tools::Long n)
SvTreeListEntry * First() const
const SvLBoxItem * GetFirstItem(SvLBoxItemType eType) const
#define NODE_BMP_TABDIST_NOTVALID
Reference< XComponentContext > getProcessComponentContext()
SvTreeListEntry * Last() const
void SetInvokeHandler(const Link< Timer *, void > &rLink)
void SetUpdateMode(bool bMode)
const Point & GetPosPixel() const
virtual void CursorDown()
void EntryCollapsed(SvTreeListEntry *pEntry)
const Point & GetOrigin() const
WinBits const WB_AUTOHSCROLL
void SetFunctionSet(FunctionSet *pFuncs)
constexpr sal_uInt16 KEY_BACKSPACE
const Image & GetCollapsedNodeBmp()
SvTreeListEntry * m_pStartEntry
virtual void SyncVerThumb()
void SetStyle(WinBits i_nWinStyle)
void setHeight(tools::Long nHeight)
virtual void Start(bool bStartTimer=true) override
Schedules the task for execution.
constexpr sal_uInt16 KEY_MULTIPLY
reference_type * get() const
Get the body.
void SetNodeBmpWidth(const Image &)
SvLBoxButton * m_pActiveButton
void KeyLeftRight(tools::Long nDiff)
virtual void KeyDown(bool bPageDown)
tools::Long GetPos() const
void SetPriority(TaskPriority ePriority)
constexpr sal_uInt16 KEY_DELETE
constexpr sal_uInt16 KEY_LEFT
Point OutputToScreenPixel(const Point &rPos) const
bool Select(SvTreeListEntry *pEntry, bool bSelect=true)
virtual Point GetEntryPosition(const SvTreeListEntry *) const
VCL_DLLPRIVATE void PaintEntry1(SvTreeListEntry &, tools::Long nLine, vcl::RenderContext &rRenderContext)
VclPtr< ScrollBar > m_aVerSBar
Low, very idle cleanup tasks.
void SetNodeBmpTabDistance()
tools::Long CalcOffset(tools::Long nItemLength, tools::Long nTabWidth)
bool SupportsDoubleBuffering() const
Can the widget derived from this Window do the double-buffering via RenderContext properly...
void InvalidateEntriesFrom(tools::Long nY) const
constexpr sal_uInt16 KEY_DIVIDE
SvTreeListEntry * GetParent(SvTreeListEntry *pEntry) const
virtual void SetPosPixel(const Point &rNewPos)
SvTreeListEntry * GetEntryAtVisPos(sal_uInt32 nVisPos) const
void RemovingEntry(SvTreeListEntry *pEntry)
SelectionMode GetSelectionMode() const
SvTreeListEntry * m_pMostRightEntry
void EntryInserted(SvTreeListEntry *)
void Command(const CommandEvent &rCEvt)
virtual ~ImpLBSelEng() override
constexpr sal_uInt16 KEY_TAB
void DeselectAll() override
bool IsAlwaysAdding() const
std::vector< std::unique_ptr< SvTreeListEntry > > SvTreeListEntries
SvTreeListEntry * m_pActiveEntry
void BeginDrag() override
short UpdateContextBmpWidthVector(SvTreeListEntry const *pEntry, short nWidth)
bool m_bDetectedRangeSegmentation false
std::vector< short > m_aContextBmpWidthVector
constexpr sal_uInt16 KEY_F8
void Show(bool bVisible=true, ShowFlags nFlags=ShowFlags::NONE)
void SetDragTarget(bool bDragTarget)