28#include <com/sun/star/accessibility/AccessibleStateType.hpp>
52using namespace css::accessibility;
58#define SVLBOX_ACC_RETURN 1
59#define SVLBOX_ACC_ESCAPE 2
95class MyEdit_Impl :
public Edit
117void MyEdit_Impl::KeyInput(
const KeyEvent& rKEvt )
119 if( !
pOwner->KeyInput( rKEvt ))
123void MyEdit_Impl::LoseFocus()
133 const OUString& rData,
138 aCallBackHdl ( rNotifyEditEnd ),
140 bAlreadyInCallBack ( false )
194 CallCallBackHdl_Impl();
200 CallCallBackHdl_Impl();
206 sal_uInt16 nCode = aCode.
GetCode();
247 CallCallBackHdl_Impl();
296 nOffset = nTabWidth - nItemWidth;
305 nOffset = ( nTabWidth - nItemWidth ) / 2;
314 nOffset = -( nItemWidth / 2 );
337 int nWidth = pViewData->
mnWidth;
388 DropTargetHelper(this),
389 DragSourceHelper(this),
391 mbContextBmpExpanded(false),
392 mbQuickSearch(false),
393 mbActivateOnSingleClick(false),
394 mbHoverSelection(false),
395 mbSelectingByHover(false),
400 mbCenterAndClipText(false)
425 return CloneEntry(pEntry);
430 sal_uInt32 nInsPos =
pModel->Insert( pEntry, pParent,
nPos );
436 sal_uInt32 nInsPos =
pModel->Insert( pEntry, nRootPos );
467 if ( pSource !=
this )
504 sal_uInt32& rNewChildPos)
506 DBG_ASSERT(pEntry,
"NotifyMoving:SourceEntry?");
509 rpNewParent =
nullptr;
524 rpNewParent = pTarget;
538 sal_uInt32& rNewChildPos)
540 return NotifyMoving(pTarget,pEntry,rpNewParent,rNewChildPos);
545 return pModel->FirstChild(pParent);
552 bool bSuccess =
true;
553 std::vector<SvTreeListEntry*> aList;
561 while ( pSourceEntry )
565 aList.push_back( pSourceEntry );
569 for (
auto const& elem : aList)
579 sal_uInt32 nCloneCount = 0;
580 pSourceEntry =
pModel->Clone(pSourceEntry, nCloneCount);
581 pModel->InsertTree(pSourceEntry, pNewParent, nInsertionPos);
585 sal_uInt32 nListPos =
pModel->Copy(pSourceEntry, pNewParent, nInsertionPos);
586 pSourceEntry =
GetEntry( pNewParent, nListPos );
592 if (nOk == TRISTATE_INDET)
595 pModel->SetCloneLink( aCloneLink );
603 bool bSuccess =
true;
604 std::vector<SvTreeListEntry*> aList;
611 while ( pSourceEntry )
615 aList.push_back( pSourceEntry );
619 for (
auto const& elem : aList)
626 if ( !nOk && bAllowCopyFallback )
629 nCopyOk =
NotifyCopying(pTarget,pSourceEntry,pNewParent,nInsertionPos);
632 if ( nOk || nCopyOk )
636 sal_uInt32 nCloneCount = 0;
637 pSourceEntry =
pModel->Clone(pSourceEntry, nCloneCount);
638 pModel->InsertTree(pSourceEntry, pNewParent, nInsertionPos);
643 pModel->Move(pSourceEntry, pNewParent, nInsertionPos);
645 pModel->Copy(pSourceEntry, pNewParent, nInsertionPos);
654 pModel->SetCloneLink( aCloneLink );
660 std::vector<const SvTreeListEntry*> aList;
666 aList.push_back( pEntry );
673 for (
auto const& elem : aList)
688 sal_uInt16 nCurPos = 0;
689 while ( nCurPos <
nCount )
695 pEntry =
Next( pEntry );
705 pImpl->PaintDDCursor( pEntry, bShow);
714 if ( !
mpImpl->m_bDoingQuickSelection )
715 mpImpl->m_aQuickSelectionEngine.Reset();
725 return pModel->GetEntry(nRootPos);
733 for (
auto const& elem : _rPath)
758 if ( pEntry == pTemp )
760 _rPath.push_front(
static_cast<sal_Int32
>(
i) );
767 pEntry = pParentEntry;
768 pParentEntry =
GetParent( pParentEntry );
777 return pModel->GetParent(pEntry);
782 return pModel->GetChildCount(pParent);
813 assert(pEntryData &&
"Entry not in View");
814 sal_uInt16 nItemPos = pEntry->
GetPos(pItem);
815 return &pEntryData->
GetItem(nItemPos);
825 sal_uInt16 nCurPos = 0;
837 sal_uInt16 nRefDepth;
846 nRefDepth =
pModel->GetDepth( pSelEntry );
847 pTemp =
Next( pSelEntry );
848 while( pTemp &&
pModel->GetDepth( pTemp ) > nRefDepth )
851 pTemp =
Next( pTemp );
857 nRefDepth =
pModel->GetDepth( pSelEntry );
858 pTemp =
Next( pSelEntry );
859 while( pTemp &&
pModel->GetDepth( pTemp ) > nRefDepth )
862 pTemp =
Next( pTemp );
897 if ( !pEdCtrl->EditingCanceled() )
898 aStr = pEdCtrl->GetText();
900 aStr = pEdCtrl->GetSavedValue();
920 pEdCtrl->StopEditing( bCancel );
955 if ( !pNextSiblingEntry )
956 pEntry =
Next( pEntry );
958 pEntry = pNextSiblingEntry;
962 pEntry =
Next( pEntry );
977 DBG_ASSERT( pEntry,
"SvTreeListBox::SelectSearchEntry: invalid entry!" );
993 mpImpl->m_bDoingQuickSelection =
true;
994 const bool bHandled =
mpImpl->m_aQuickSelectionEngine.HandleKeyEvent( _rKEvt );
995 mpImpl->m_bDoingQuickSelection =
false;
1015 SAL_WARN(
"svtools.contnr",
"SvTreeListBox::QueryDrop(): no target" );
1020 if( !IsDropFormatSupported( SotClipboardFormatId::TREELISTBOX ) )
1022 SAL_WARN(
"svtools.contnr",
"SvTreeListBox::QueryDrop(): no format" );
1050 assert(pSourceView);
1059 if(
aData.HasFormat( SotClipboardFormatId::TREELISTBOX ))
1110 if(
pImpl->IsCaptureOnButtonActive())
1133 xContainer->CopyAnyData( SotClipboardFormatId::TREELISTBOX,
1214 std::set<const void*> gSortLBoxes;
1219 gSortLBoxes.insert( &rB );
1224 gSortLBoxes.erase( &rB );
1229 auto &rSortLBoxes = gSortLBoxes;
1230 auto it = rSortLBoxes.find(
this);
1231 if( it != rSortLBoxes.end() )
1233 DragFinished( nAction );
1234 rSortLBoxes.erase( it );
1251#define SV_LBOX_DEFAULT_INDENT_PIXEL 20
1286 OUStringBuffer sRet;
1289 sal_uInt16 nCur = 0;
1301 if (!sRet.isEmpty())
1302 sRet.remove(sRet.getLength() - 1, 1);
1303 return sRet.makeStringAndClear();
1338 DropTargetHelper::dispose();
1339 DragSourceHelper::dispose();
1345 pImpl->SetNoAutoCurEntry( b );
1350 pImpl->m_bSubLstOpLR =
true;
1362 pImpl->ShowCursor(
false );
1363 pImpl->ShowCursor(
true );
1381#define NODE_BUTTONS 1
1382#define NODE_AND_CHECK_BUTTONS 2
1383#define CHECK_BUTTONS 3
1385#define TABFLAGS_TEXT (SvLBoxTabFlags::DYNAMIC | \
1386 SvLBoxTabFlags::ADJUST_LEFT | \
1387 SvLBoxTabFlags::EDITABLE | \
1388 SvLBoxTabFlags::SHOW_SELECTION)
1390#define TABFLAGS_CONTEXTBMP (SvLBoxTabFlags::DYNAMIC | SvLBoxTabFlags::ADJUST_CENTER)
1392#define TABFLAGS_CHECKBTN (SvLBoxTabFlags::DYNAMIC | \
1393 SvLBoxTabFlags::ADJUST_CENTER)
1395#define TAB_STARTPOS 2
1419 tools::Long nContextWidthDIV2 = nContextWidth / 2;
1440 nStartPos += nContextWidthDIV2;
1442 nStartPos += nContextWidthDIV2;
1450 if( bHasButtonsAtRoot )
1451 nStartPos += (
nIndent + (nNodeWidthPixel/2) );
1453 nStartPos += nContextWidthDIV2;
1455 nStartPos += nContextWidthDIV2;
1463 if( bHasButtonsAtRoot )
1464 nStartPos += (
nIndent + nNodeWidthPixel );
1466 nStartPos += nCheckWidthDIV2;
1468 nStartPos += nCheckWidthDIV2;
1470 nStartPos += nContextWidthDIV2;
1472 nStartPos += nContextWidthDIV2;
1480 nStartPos += nCheckWidthDIV2;
1482 nStartPos += nCheckWidthDIV2;
1484 nStartPos += nContextWidthDIV2;
1486 nStartPos += nContextWidthDIV2;
1493 pImpl->NotifyTabsChanged();
1497 const OUString& aStr,
const Image& aCollEntryBmp,
const Image& aExpEntryBmp)
1506 pEntry->
AddItem(std::make_unique<SvLBoxString>(
aStr));
1536 pHdlEntry =
pData->GetActEntry();
1541 const OUString& rText,
1543 bool bChildrenOnDemand, sal_uInt32 nPos,
1549 const Image& rDefExpBmp =
pImpl->GetDefaultEntryExpBmp( );
1550 const Image& rDefColBmp =
pImpl->GetDefaultEntryColBmp( );
1557 InitEntry( pEntry, rText, rDefColBmp, rDefExpBmp );
1592 short nWidth =
pImpl->UpdateContextBmpWidthVector( pEntry,
static_cast<short>(aSize.
Width()) );
1610 short nWidth =
pImpl->UpdateContextBmpWidthVector( pEntry,
static_cast<short>(aSize.
Width()) );
1623 auto nWidth = pItem->
GetWidth(
this, pEntry);
1723 Image aCollEntryBmp;
1737 pClone->SvTreeListEntry::Clone( pSource );
1746 return pImpl->GetDefaultEntryExpBmp( );
1751 return pImpl->GetDefaultEntryColBmp( );
1761 pImpl->SetDefaultEntryExpBmp( aBmp );
1771 pImpl->SetDefaultEntryColBmp( aBmp );
1837 if( !
pImpl->KeyInput( rKEvt ) )
1864 pEntry =
pImpl->GetCurEntry();
1866 if (
pImpl->m_pCursor)
1868 if (pEntry !=
pImpl->m_pCursor)
1869 pEntry =
pImpl->m_pCursor;
1888 pImpl->m_pCursor =
nullptr;
1909 if (rPos.
X() < 0 || rPos.
Y() < 0)
1914 if (
pImpl->m_aVerSBar->IsVisible())
1920 if (
pImpl->m_aHorSBar->IsVisible())
1931 if( !nDeltaEntries || !
pImpl->m_aVerSBar->IsVisible() )
1937 if( nDeltaEntries < 0 )
1940 nDeltaEntries *= -1;
1943 if( nDeltaEntries > (nMax - nTemp) )
1944 nDeltaEntries =
static_cast<short>(nMax - nTemp);
1945 pImpl->PageDown(
static_cast<sal_uInt16
>(nDeltaEntries) );
1949 if( nDeltaEntries > nThumb )
1950 nDeltaEntries =
static_cast<short>(nThumb);
1951 pImpl->PageUp(
static_cast<sal_uInt16
>(nDeltaEntries) );
1953 pImpl->SyncVerThumb();
1964 pImpl->SetSelectionMode( eSelectMode );
1970 pImpl->SetDragDropMode( nDDMode );
1977 sal_uInt16 nCur = 0;
1982 if( nHeight > nHeightMax )
1983 nHeightMax = nHeight;
1991 pImpl->SetEntryHeight();
2005 pImpl->SetEntryHeight();
2020 pImpl->SetEntryHeight();
2030 pImpl->SetEntryHeight();
2037 bool bExpanded =
false;
2050 pImpl->EntryExpanded( pParent );
2079 bool bCollapsed =
false;
2084 pImpl->CollapsingEntry( pParent );
2086 pImpl->EntryCollapsed( pParent );
2107 pImpl->EntrySelected( pEntry, bSelect );
2122 pImpl->DestroyAnchor();
2123 sal_uInt32 nRet = 0;
2126 sal_uInt16 nRefDepth =
pModel->GetDepth( pParent );
2130 Select( pChild, bSelect );
2131 pChild =
Next( pChild );
2132 }
while( pChild &&
pModel->GetDepth( pChild ) > nRefDepth );
2138 pImpl->SelAllDestrAnch(
2146 sal_uInt16 nRefDepth =
pModel->GetDepth( pEntry );
2151 pTmp =
Next( pTmp );
2152 }
while( pTmp && nRefDepth < pModel->GetDepth( pTmp ) );
2153 pImpl->TreeInserted( pEntry );
2159 pImpl->EntryInserted( pEntry );
2164 pImpl->MovingEntry( pSource );
2169 pImpl->EntryMoved( pSource );
2177 pImpl->RemovingEntry( pEntry );
2188 pImpl->EntryRemoved();
2194 pImpl->SetCollapsedNodeBmp( rBmp );
2200 pImpl->SetExpandedNodeBmp( rBmp );
2209 if (aTempFont == aOrigFont)
2217 if (aTempFont == aOrigFont)
2235 pImpl->Paint(rRenderContext, rRect);
2260 pImpl->MouseButtonDown( rMEvt );
2267 if (
nullptr !=
pImpl->m_pCursorOld)
2292 pImpl->MouseButtonUp( rMEvt );
2297 pImpl->MouseMove( rMEvt );
2302 pImpl->SetUpdateMode( bUpdate );
2313 pImpl->SetEntryHeight();
2319 pImpl->SetCurEntry( pEntry );
2324 return pImpl->GetExpandedNodeBmp( );
2329 return pImpl->GetEntryPosition( pEntry );
2334 pImpl->MakeVisible(pEntry);
2339 pImpl->MakeVisible( pEntry, bMoveToTop );
2347 for( sal_uInt16 nIdx = 0; nIdx <
nCount; nIdx++ )
2354 pImpl->InvalidateEntry( pEntry );
2359 assert(pEntry && pItem);
2362 pImpl->ShowCursor(
false );
2364 pImpl->InvalidateEntry(pEntry);
2366 pImpl->ShowCursor(
true );
2371 DBG_ASSERT(pTab,
"EditItemText:Tab not found");
2373 auto nItemHeight( pItem->
GetHeight(
this, pEntry) );
2378 Size aSize( nOutputWidth - aPos.
X(), nItemHeight );
2380 [pTab](
const std::unique_ptr<SvLBoxTab>&
p) { return p.get() == pTab; })
2382 if(
nPos+1 <
static_cast<sal_uInt16
>(
aTabs.size()) )
2386 if( nRight <= nOutputWidth )
2412 bool bIsMouseTriggered = nClickX >= 0;
2417 for( sal_uInt16
i = 0 ;
i <
nCount ;
i++ )
2429 nNextTabPos = pNextTab->
GetPos();
2434 nTabPos = pTab->
GetPos();
2435 if( !bIsMouseTriggered || (nClickX > nTabPos && (nNextTabPos == -1 || nClickX < nNextTabPos ) ) )
2480 if( rPos.
Y() > aSize.
Height() - 12 )
2492 pTarget ==
First() && rPos.
Y() < 6 )
2502 if( pEntry && bHit )
2505 if( !(
pImpl->EntryReallyHit( pEntry, rPos, nLine)) )
2513 return pImpl ?
pImpl->GetCurEntry() :
nullptr;
2531 pImpl->SetStyle(nWindowStyle);
2538 DBG_ASSERT(pEntry,
"InvalidateEntry:No Entry");
2549 bool bHorSBar =
pImpl->HasHorScrollBar();
2551 pImpl->UpdateContextBmpWidthMax(&rEntry);
2561 if (!bHorSBar &&
pImpl->HasHorScrollBar())
2565 aEntryPos.
setX( aEntryPos.
X() * -1 );
2572 bool bCurFontIsSel =
false;
2580 aHighlightFont.
SetColor(aHighlightTextColor);
2582 Size aRectSize(0, nTempEntryHeight);
2587 const size_t nTabCount =
aTabs.size();
2588 const size_t nItemCount = rEntry.
ItemCount();
2590 size_t nCurItem = 0;
2592 while (nCurTab < nTabCount && nCurItem < nItemCount)
2595 const size_t nNextTab = nCurTab + 1;
2596 SvLBoxTab* pNextTab = nNextTab < nTabCount ?
aTabs[nNextTab].get() :
nullptr;
2600 Size aSize(rItem.
GetWidth(
this, pViewDataEntry, nCurItem),
2606 nNextTabPos =
GetTabPos(&rEntry, pNextTab);
2609 nNextTabPos = nMaxRight;
2610 if (nTabPos > nMaxRight)
2619 nX = nTabPos + pTab->
CalcOffset(aSize.
Width(), nNextTabPos - nTabPos);
2621 aEntryPos.
setX( nX );
2622 aEntryPos.
setY( nLine );
2644 rRenderContext.
SetFont(aHighlightFont);
2645 bCurFontIsSel =
true;
2647 aWallpaper.
SetColor(aNewWallColor);
2653 bCurFontIsSel =
false;
2654 if (
const auto & xCustomTextColor = rEntry.
GetTextColor())
2658 rRenderContext.
SetFont(aBackupFont);
2680 aRect.
SetBottom( nLine + nTempEntryHeight - 1 );
2684 nRight =
GetTabPos(&rEntry, pNextTab) - 1;
2685 if (nRight > nMaxRight)
2710 aEntryPos.
AdjustY((nTempEntryHeight - aSize.
Height()) / 2 );
2712 rItem.
Paint(aEntryPos, *
this, rRenderContext, pViewDataEntry, rEntry);
2717 aRect.
Right() < nMaxRight)
2731 rRenderContext.
Push();
2746 rRenderContext.
Pop();
2752 rRenderContext.
SetFont(aBackupFont);
2755 sal_uInt16 nFirstDynTabPos(0);
2758 nDynTabPos +=
pImpl->m_nNodeBmpTabDistance;
2759 nDynTabPos +=
pImpl->m_nNodeBmpWidth / 2;
2769 sal_uInt16 nNextTab = nFirstDynTabPos;
2774 pNextTab = nNextTab < nTabCount ?
aTabs[nNextTab].get() :
nullptr;
2775 }
while (pNextTab && pNextTab->
IsDynamic());
2777 if (pNextTab && (
GetTabPos( &rEntry, pNextTab ) <= nDynTabPos))
2786 const Image* pImg =
nullptr;
2790 pImg = &
pImpl->GetExpandedNodeBmp();
2792 pImg = &
pImpl->GetCollapsedNodeBmp();
2803 rRenderContext.
DrawImage(aPos, *pImg, nStyle);
2807 bool bNativeOK =
false;
2842 Color aCol = aBackupTextColor;
2844 aCol = aHighlightTextColor;
2854 aCustomRenderHdl.
Call(std::tuple<vcl::RenderContext&, const tools::Rectangle&, const SvTreeListEntry&>(rRenderContext, rRect, rEntry));
2859 return aCustomMeasureHdl.
Call(std::pair<vcl::RenderContext&, const SvTreeListEntry&>(rRenderContext, rEntry));
2864 pImpl->UpdateContextBmpWidthMax( pEntry );
2880 if( pTab && nCurTab <
aTabs.size() - 1 )
2883 nNextTabPos =
GetTabPos( pEntry, pNextTab );
2887 nNextTabPos = nRealWidth;
2888 if( nTabPos > nRealWidth )
2893 if( !bUserSelection )
2895 if( pTab && nCurTab < pEntry->ItemCount() )
2899 if( !aSize.
Width() )
2907 if( aRect.
Left() > 0 )
2919 sal_uInt16 nLastTab;
2922 if( nLastTab <
aTabs.size() )
2923 pLastTab =
aTabs[ nLastTab ].get();
2950 if( aRect.
Right() >= nRealWidth )
2964 sal_uInt16 nDepth =
pModel->GetDepth( pEntry );
2965 nDepth = nDepth *
static_cast<sal_uInt16
>(
nIndent);
2966 nPos +=
static_cast<sal_IntPtr
>(nDepth);
2975 sal_uInt16 nTabCount =
aTabs.size();
2976 sal_uInt16 nItemCount = pEntry->
ItemCount();
2979 sal_uInt16 nNextItem = 1;
2986 SvLBoxTab* pNextTab=nNextItem<nTabCount ?
aTabs[nNextItem].get() :
nullptr;
2991 nNextTabPos =
GetTabPos( pEntry, pNextTab );
2994 nNextTabPos = nRealWidth;
2995 if( nStart > nRealWidth )
2999 auto nItemWidth(pItem->
GetWidth(
this, pEntry));
3000 nStart += pTab->
CalcOffset(nItemWidth, nNextTabPos - nStart);
3001 auto nLen = nItemWidth;
3005 if( nTabWidth < nLen )
3009 if( nX >= nStart && nX < (nStart+nLen ) )
3011 pItemClicked = pItem;
3018 if( nNextItem >= nItemCount || nNextItem >= nTabCount)
3020 pTab =
aTabs[ nNextItem ].get();
3021 pItem = &pEntry->
GetItem( nNextItem );
3024 return pItemClicked;
3029 sal_uInt16 nTabCount =
aTabs.size();
3030 sal_uInt16 nItemCount = pEntry->
ItemCount();
3031 if (nTabIdx >= nItemCount || nTabIdx >= nTabCount)
3032 return std::make_pair(-1, -1);
3036 sal_uInt16 nNextItem = nTabIdx + 1;
3041 SvLBoxTab* pNextTab = nNextItem < nTabCount ?
aTabs[nNextItem].get() :
nullptr;
3046 nNextTabPos =
GetTabPos(pEntry, pNextTab);
3049 nNextTabPos = nRealWidth;
3050 if (nStart > nRealWidth)
3054 auto nItemWidth(pItem->
GetWidth(
this, pEntry));
3055 nStart += pTab->
CalcOffset(nItemWidth, nNextTabPos - nStart);
3056 auto nLen = nItemWidth;
3060 if (nTabWidth < nLen)
3063 return std::make_pair(nStart, nLen);
3074 sal_uInt16 nCurPos = 0;
3075 if (
nCount > rWidths.size())
3080 auto nWidth = rItem.
GetWidth(
this, pEntry);
3084 if (nWidth > rWidths[nCurPos])
3085 rWidths[nCurPos] = nWidth;
3089 pEntry =
Next( pEntry );
3097 std::vector<tools::Long> aWidths;
3102 sal_Int32 nLeftBorder(0), nTopBorder(0), nRightBorder(0), nBottomBorder(0);
3103 GetBorder(nLeftBorder, nTopBorder, nRightBorder, nBottomBorder);
3118 pImpl->SetForceMakeVisible(bEnable);
3136 aTabs.emplace_back( pTab );
3152 sal_uInt16 nCurTab = 0;
3153 sal_uInt16 nTabCount =
aTabs.size();
3154 while( nCurTab < nTabCount )
3203 pImpl->RecalcFocusRect();
3205 pImpl->Invalidate();
3213 std::swap(nStart, nEnd);
3218 pImpl->RecalcFocusRect();
3224 pImpl->Command(rCEvt);
3232 sal_uInt16 nTabCount =
aTabs.size();
3236 if( pTab->
nFlags & nFlagMask )
3248 sal_uInt16
nPos =
static_cast<sal_uInt16
>(
aTabs.size());
3253 if( pTab->
nFlags & nFlagMask )
3270 if (!tooltip.isEmpty())
3280 if( !
pImpl->RequestHelp( rHEvt ) )
3286 OUString aLeft = pLeftText ? pLeftText->
GetText() : OUString();
3287 OUString aRight = pRightText ? pRightText->
GetText() : OUString();
3288 pImpl->UpdateStringSorter();
3289 return pImpl->m_pStringSorter->compare(aLeft, aRight);
3298 return DefaultCompare(pLeftText, pRightText);
3320 nMaxWidth =
pImpl->UpdateContextBmpWidthVector( pEntry1, nMaxWidth );
3361 const Size& rSize =
pImpl->GetOutputSize();
3362 if( aPos.
Y() < 0 || aPos.
Y() >= rSize.
Height() )
3427 DBG_ASSERT( pParent,
"SvTreeListBox::CreateAccessible - accessible parent not found" );
3429 css::uno::Reference< XAccessible > xAccessible;
3432 css::uno::Reference< XAccessible > xAccParent = pParent->
GetAccessible();
3433 if ( xAccParent.is() )
3437 xAccessible =
pImpl->m_aFactoryAccess.getFactory().createAccessibleTreeListBox( *
this, xAccParent );
3445 assert(pEntry &&
"SvTreeListBox::FillAccessibleEntryStateSet: invalid entry");
3449 rStateSet |= AccessibleStateType::EXPANDABLE;
3451 rStateSet |= AccessibleStateType::EXPANDED;
3455 rStateSet |= AccessibleStateType::CHECKED;
3457 rStateSet |= AccessibleStateType::VISIBLE;
3459 rStateSet |= AccessibleStateType::SELECTED;
3462 rStateSet |= AccessibleStateType::ENABLED;
3463 rStateSet |= AccessibleStateType::FOCUSABLE;
3464 rStateSet |= AccessibleStateType::SELECTABLE;
3466 if (pViewDataNewCur && pViewDataNewCur->
HasFocus())
3467 rStateSet |= AccessibleStateType::FOCUSED;
3476 sal_uInt16 iRealItemCount = 0;
3488 if (iRealItemCount <= 1)
3518 if (rKey ==
"min-width-chars")
3522 else if (rKey ==
"enable-tree-lines")
3530 else if (rKey ==
"show-expanders")
3538 else if (rKey ==
"enable-search")
3542 else if (rKey ==
"activate-on-single-click")
3546 else if (rKey ==
"hover-selection")
3550 else if (rKey ==
"reorderable")
3563 pImpl->m_aHorSBar->EnableRTL(bEnable);
3564 pImpl->m_aVerSBar->EnableRTL(bEnable);
3565 pImpl->m_aScrBarBox->EnableRTL(bEnable);
static bool toBool(std::string_view rValue)
void SetActivateHdl(const Link< Accelerator &, void > &rLink)
void InsertItem(sal_uInt16 nItemId, const vcl::KeyCode &rKeyCode)
const StyleSettings & GetStyleSettings() const
static bool InsertAccel(Accelerator *pAccel)
Insert accelerator.
static void RemoveAccel(Accelerator const *pAccel)
Remove accelerator.
static vcl::Window * GetFocusWindow()
Get the currently focused window.
CommandEventId GetCommand() const
virtual void StateChanged(StateChangedType nStateChange) override
virtual void Resize() override
virtual void EnableRTL(bool bEnable=true) override
virtual void SetText(const OUString &rStr) override
void CallEventListeners(VclEventId nEvent, void *pData=nullptr)
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
DataChangedEventType GetType() const
AllSettingsFlags GetFlags() const
void DrawSymbol(const tools::Rectangle &rRect, SymbolType eType, const Color &rColor, DrawSymbolFlags nStyle=DrawSymbolFlags::NONE)
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
virtual void SetText(const OUString &rStr) override
const OUString & GetSavedValue() const
virtual void SetSelection(const Selection &rSelection)
virtual void LoseFocus() override
virtual void KeyInput(const KeyEvent &rKEvt) override
virtual OUString GetText() const override
const Point & GetMousePosPixel() const
static void ShowQuickHelp(vcl::Window *pParent, const tools::Rectangle &rScreenRect, const OUString &rHelpText, QuickHelpFlags nStyle=QuickHelpFlags::NONE)
An idle is a timer to be scheduled immediately.
virtual void Start(bool bStartTimer=true) override
Schedules the task for execution.
Size GetSizePixel() const
void setTristateVal(ButtonValue nTristate)
const vcl::KeyCode & GetKeyCode() const
const Point & GetOrigin() const
const Point & GetPosPixel() const
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
const vcl::Font & GetFont() const
void SetFont(const vcl::Font &rNewFont)
void DrawRect(const tools::Rectangle &rRect)
const Wallpaper & GetBackground() const
void SetTextColor(const Color &rColor)
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...
const MapMode & GetMapMode() const
const Color & GetTextColor() const
void Push(vcl::PushFlags nFlags=vcl::PushFlags::ALL)
tools::Long GetTextHeight() const
Height where any character of the current font fits; in logic coordinates.
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.
const AllSettings & GetSettings() const
bool IsNativeControlSupported(ControlType nType, ControlPart nPart) const
Query the platform layer for control support.
const Color & GetFillColor() const
constexpr tools::Long Y() const
void setX(tools::Long nX)
void setY(tools::Long nY)
tools::Long AdjustY(tools::Long nVertMove)
tools::Long AdjustX(tools::Long nHorzMove)
constexpr tools::Long X() const
constexpr tools::Long Height() const
tools::Long AdjustHeight(tools::Long n)
void setWidth(tools::Long nWidth)
tools::Long AdjustWidth(tools::Long n)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
const Color & GetFieldTextColor() const
const Color & GetFieldColor() const
const Color & GetDeactiveColor() const
const vcl::Font & GetFieldFont() const
const Color & GetHighlightColor() const
const Color & GetFaceColor() const
const Color & GetHighlightTextColor() const
static const Image & GetDefaultCollapsedNodeImage()
static const Image & GetDefaultExpandedNodeImage()
DECL_LINK(ReturnHdl_Impl, Accelerator &, void)
Link< SvInplaceEdit2 &, void > aCallBackHdl
bool KeyInput(const KeyEvent &rKEvt)
SvInplaceEdit2(vcl::Window *pParent, const Point &rPos, const Size &rSize, const OUString &rData, const Link< SvInplaceEdit2 &, void > &rNotifyEditEnd, const Selection &)
bool EditingCanceled() const
void CallCallBackHdl_Impl()
DECL_LINK(Timeout_Impl, Timer *, void)
DECL_LINK(EscapeHdl_Impl, Accelerator &, void)
void StopEditing(bool bCancel)
OUString const & GetSavedValue() const
const VclPtr< Edit > & GetEditWidget() const
const Image & GetBitmap2() const
void SetBitmap2(const Image &rImage)
void SetBitmap1(const Image &rImage)
const Image & GetBitmap1() const
virtual void InitViewData(SvTreeListBox *pView, SvTreeListEntry *pEntry, SvViewDataItem *pViewData=nullptr)=0
int GetHeight(const SvTreeListBox *pView, const SvTreeListEntry *pEntry) const
virtual SvLBoxItemType GetType() const =0
virtual void Paint(const Point &rPos, SvTreeListBox &rOutDev, vcl::RenderContext &rRenderContext, const SvViewDataEntry *pView, const SvTreeListEntry &rEntry)=0
int GetWidth(const SvTreeListBox *pView, const SvTreeListEntry *pEntry) const
virtual int CalcWidth(const SvTreeListBox *pView) const
const OUString & GetText() const
virtual void InitViewData(SvTreeListBox *pView, SvTreeListEntry *pEntry, SvViewDataItem *pViewData=nullptr) override
void SetText(const OUString &rText)
tools::Long GetPos() const
tools::Long CalcOffset(tools::Long nItemLength, tools::Long nTabWidth)
bool SelectListEntry(SvTreeListEntry *pEntry, bool bSelect)
bool IsSelected(const SvTreeListEntry *pEntry) const
virtual void ModelNotification(SvListAction nActionId, SvTreeListEntry *pEntry1, SvTreeListEntry *pEntry2, sal_uInt32 nPos)
SvTreeListEntry * NextVisible(SvTreeListEntry *pEntry) const
virtual void ModelHasCleared()
void ExpandListEntry(SvTreeListEntry *pParent)
std::unique_ptr< SvTreeList > pModel
void CollapseListEntry(SvTreeListEntry *pParent)
bool IsEntryVisible(SvTreeListEntry *pEntry) const
sal_uInt32 GetSelectionCount() const
SvTreeListEntry * NextSelected(SvTreeListEntry *pEntry) const
SvTreeListEntry * LastVisible() const
SvTreeListEntry * FirstSelected() const
const SvViewDataEntry * GetViewData(const SvTreeListEntry *pEntry) const
bool IsExpanded(SvTreeListEntry *pEntry) const
void SetFont(const vcl::Font &rFont)
static VCL_DLLPRIVATE void RemoveBoxFromDDList_Impl(const SvTreeListBox &rB)
sal_uInt16 nCurEntrySelPos
virtual void StartDrag(sal_Int8 nAction, const Point &rPosPixel) override
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override
Creates and returns the accessible object of the Box.
void SetEntryWidth(short nWidth)
sal_Int8 ExecuteDrop(const ExecuteDropEvent &rEvt, SvTreeListBox *pSourceView)
SvTreeListEntry * GetEntryFromPath(const ::std::deque< sal_Int32 > &_rPath) const
SvTreeListEntry * pTargetEntry
sal_Int32 DefaultCompare(const SvLBoxString *pLeftText, const SvLBoxString *pRightText)
void ScrollToAbsPos(tools::Long nPos)
virtual void ModelNotification(SvListAction nActionId, SvTreeListEntry *pEntry1, SvTreeListEntry *pEntry2, sal_uInt32 nPos) override
sal_Int8 mnClicksToToggle
VCL_DLLPRIVATE void CheckBoxInserted(SvTreeListEntry *pEntry)
VCL_DLLPRIVATE void SetExpandedNodeBmp(const Image &)
void SetDefaultExpandedEntryBmp(const Image &rBmp)
virtual void Resize() override
SvLBoxItem * GetItem(SvTreeListEntry *, tools::Long nX, SvLBoxTab **ppTab)
virtual void DataChanged(const DataChangedEvent &rDCEvt) override
virtual SvTreeListEntry * InsertEntry(const OUString &rText, SvTreeListEntry *pParent=nullptr, bool bChildrenOnDemand=false, sal_uInt32 nPos=TREELIST_APPEND, void *pUserData=nullptr)
void SetCheckButtonState(SvTreeListEntry *, SvButtonState)
virtual bool set_property(const OUString &rKey, const OUString &rValue) override
VCL_DLLPRIVATE SvLBoxItem * GetItem_Impl(SvTreeListEntry *, tools::Long nX, SvLBoxTab **ppTab)
void AddTab(tools::Long nPos, SvLBoxTabFlags nFlags)
SvTreeListEntry * GetNextEntryInView(SvTreeListEntry *) const
Link< const CommandEvent &, bool > aPopupMenuHdl
void FillAccessibleEntryStateSet(SvTreeListEntry *pEntry, sal_Int64 &rStateSet) const
Fills the StateSet of one entry.
void RemoveEntry(SvTreeListEntry const *pEntry)
Removes the entry along with all of its descendants.
SvTreeListEntry * FirstChild(SvTreeListEntry *pParent) const
void SetDragDropMode(DragDropMode)
virtual void Command(const CommandEvent &rCEvt) override
virtual void RequestingChildren(SvTreeListEntry *pParent)
virtual void DragFinished(sal_Int8 nDropAction)
tools::Long getPreferredDimensions(std::vector< tools::Long > &rWidths) const
VCL_DLLPRIVATE void ImplInitStyle()
Link< SvTreeListBox *, void > aDeselectHdl
virtual Size GetOptimalSize() const override
void ImplEditEntry(SvTreeListEntry *pEntry)
void EnableInplaceEditing(bool bEnable)
virtual void InitEntry(SvTreeListEntry *, const OUString &, const Image &, const Image &)
virtual void ModelHasMoved(SvTreeListEntry *pSource) override
virtual void StateChanged(StateChangedType eType) override
void SetActivateOnSingleClick(bool bEnable)
void SetDefaultCollapsedEntryBmp(const Image &rBmp)
Image aPrevInsertedColBmp
virtual vcl::StringEntryIdentifier CurrentEntry(OUString &_out_entryText) const override
returns the current entry in the list of searchable strings.
VCL_DLLPRIVATE void DrawCustomEntry(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect, const SvTreeListEntry &rEntry)
void EditedText(const OUString &)
void SetHoverSelection(bool bEnable)
std::unique_ptr< SvTreeListBoxImpl > mpImpl
virtual void MouseButtonDown(const MouseEvent &rMEvt) override
SvTreeListEntry * CloneEntry(SvTreeListEntry *pSource)
Link< SvTreeListBox *, void > aExpandedHdl
virtual DragDropMode NotifyStartDrag()
SvLBoxTab * GetFirstTab(SvLBoxTabFlags nFlagMask, sal_uInt16 &rTabPos)
DragDropMode nDragDropMode
virtual void LoseFocus() override
VCL_DLLPRIVATE void SetCollapsedNodeBmp(const Image &)
void MakeVisible(SvTreeListEntry *pEntry)
SvTreeListEntry * Next(SvTreeListEntry *pEntry) const
tools::Rectangle GetBoundingRect(const SvTreeListEntry *pEntry)
Calculate and return the bounding rectangle of an entry.
Link< svtree_measure_args, Size > aCustomMeasureHdl
static const Image & GetDefaultExpandedNodeImage()
Returns the default image which clients should use for expanded nodes, to have a consistent user inte...
void SetSpaceBetweenEntries(short nSpace)
Point GetEntryPosition(const SvTreeListEntry *) const
SvTreeListEntry * GetEntry(SvTreeListEntry *pParent, sal_uInt32 nPos) const
void InvalidateEntry(SvTreeListEntry *)
void SetCheckButtonData(SvLBoxButtonData *)
virtual OUString GetEntryText(SvTreeListEntry *pEntry) const
bool CheckDragAndDropMode(SvTreeListBox const *pSource, sal_Int8)
TriState NotifyMoving(SvTreeListEntry *pTarget, const SvTreeListEntry *pEntry, SvTreeListEntry *&rpNewParent, sal_uInt32 &rNewChildPos)
const Image & GetDefaultExpandedEntryBmp() const
void SetEntryHeight(short nHeight)
void SetCollapsedEntryBmp(SvTreeListEntry *_pEntry, const Image &_rImage)
SvTreeListEntry * pHdlEntry
Size GetOutputSizePixel() const
VCL_DLLPRIVATE void InitTreeView()
bool Collapse(SvTreeListEntry *pParent)
SvTreeListEntry * pEdEntry
bool Select(SvTreeListEntry *pEntry, bool bSelect=true)
virtual void SelectEntry(vcl::StringEntryIdentifier _entry) override
selects a given entry
virtual void ApplySettings(vcl::RenderContext &rRenderContext) override
void SetupDragOrigin()
This sets the global variables used to determine the in-process drag source.
void EnableSelectionAsDropTarget(bool bEnable=true)
void SetExpandedEntryBmp(SvTreeListEntry *_pEntry, const Image &_rImage)
Image aPrevInsertedExpBmp
virtual void KeyInput(const KeyEvent &rKEvt) override
void AdjustEntryHeightAndRecalc()
SvViewDataItem * GetViewDataItem(SvTreeListEntry const *, SvLBoxItem const *)
const Image & GetDefaultCollapsedEntryBmp() const
VCL_DLLPRIVATE Image const & GetExpandedNodeBmp() const
bool mbContextBmpExpanded
virtual void ModelHasRemoved(SvTreeListEntry *pEntry) override
virtual bool EditingEntry(SvTreeListEntry *pEntry)
bool MoveSelectionCopyFallbackPossible(SvTreeListBox *pSource, SvTreeListEntry *pTarget, bool bAllowCopyFallback)
virtual void ModelHasInsertedTree(SvTreeListEntry *pEntry) override
void set_min_width_in_chars(sal_Int32 nChars)
void OnCurrentEntryChanged()
virtual void MouseButtonUp(const MouseEvent &rMEvt) override
void CallImplEventListeners(VclEventId nEvent, void *pData)
virtual void CalcEntryHeight(SvTreeListEntry const *pEntry)
void FillEntryPath(SvTreeListEntry *pEntry, ::std::deque< sal_Int32 > &_rPath) const
void SetSublistOpenWithLeftRight()
SvLBoxButtonData * pCheckButtonData
void SetForceMakeVisible(bool bEnable)
void ModelHasEntryInvalidated(SvTreeListEntry *pEntry) override
static const Image & GetCollapsedEntryBmp(const SvTreeListEntry *_pEntry)
bool IsEditingActive() const
VCL_DLLPRIVATE bool HandleKeyInput(const KeyEvent &rKEvt)
Handles the given key event.
sal_Int32 nMinWidthInChars
void EditText(const OUString &, const tools::Rectangle &, const Selection &)
short GetEntryHeight() const
VCL_DLLPRIVATE void AdjustEntryHeight()
virtual FactoryFunction GetUITestFactory() const override
SvTreeListEntry * GetFirstEntryInView() const
virtual ~SvTreeListBox() override
void SetHighlightRange(sal_uInt16 nFirstTab=0, sal_uInt16 nLastTab=0xffff)
rtl::Reference< TransferDataContainer > m_xTransferHelper
void EditItemText(SvTreeListEntry *pEntry, SvLBoxString *pItem, const Selection &)
virtual void ModelIsMoving(SvTreeListEntry *pSource) override
virtual void GetFocus() override
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
void SetNoAutoCurEntry(bool b)
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect) override
virtual void ModelHasInserted(SvTreeListEntry *pEntry) override
VCL_DLLPRIVATE void ImpEntryInserted(SvTreeListEntry *pEntry)
void EditEntry(SvTreeListEntry *pEntry)
void SetSelectionMode(SelectionMode)
tools::Long mnCheckboxItemWidth
void ImplShowTargetEmphasis(SvTreeListEntry *pEntry, bool bShow)
std::vector< std::unique_ptr< SvLBoxTab > > aTabs
virtual sal_Int8 AcceptDrop(const AcceptDropEvent &rEvt) override
SvTreeListEntry * GetCurEntry() const
virtual void ImplInvalidate(const vcl::Region *rRegion, InvalidateFlags nFlags) override
short nContextBmpWidthMax
Link< SvTreeListBox *, bool > aExpandingHdl
virtual OUString GetEntryAccessibleDescription(SvTreeListEntry *pEntry) const
void SetNodeDefaultImages()
Sets default bitmaps for collapsed and expanded nodes.
SvViewDataEntry * GetViewDataEntry(SvTreeListEntry const *pEntry) const
bool CopySelection(SvTreeListBox *pSource, SvTreeListEntry *pTarget)
void EnableCheckButton(SvLBoxButtonData *)
VCL_DLLPRIVATE bool PosOverBody(const Point &rPos) const
SvLBoxTab * GetFirstDynamicTab() const
TriState NotifyCopying(SvTreeListEntry *pTarget, const SvTreeListEntry *pEntry, SvTreeListEntry *&rpNewParent, sal_uInt32 &rNewChildPos)
void SetCurEntry(SvTreeListEntry *_pEntry)
virtual vcl::StringEntryIdentifier NextEntry(vcl::StringEntryIdentifier _currentEntry, OUString &_out_entryText) const override
returns the next entry in the list.
virtual void EnableRTL(bool bEnable=true) override
void EndEditing(bool bCancel=false)
SvTreeListEntry * First() const
DragDropMode GetDragDropMode() const
void SetDragHelper(const rtl::Reference< TransferDataContainer > &rHelper, sal_uInt8 eDNDConstants)
std::unique_ptr< SvInplaceEdit2 > pEdCtrl
Link< SvTreeListEntry *, OUString > aTooltipHdl
virtual void MouseMove(const MouseEvent &rMEvt) override
static const Image & GetExpandedEntryBmp(const SvTreeListEntry *_pEntry)
static VCL_DLLPRIVATE void AddBoxToDDList_Impl(const SvTreeListBox &rB)
SvTreeListBox(vcl::Window *pParent, WinBits nWinStyle=0)
VCL_DLLPRIVATE Size MeasureCustomEntry(vcl::RenderContext &rRenderContext, const SvTreeListEntry &rEntry) const
void GetLastTab(SvLBoxTabFlags nFlagMask, sal_uInt16 &rTabPos)
virtual void ModelHasCleared() override
Link< SvTreeListBox *, void > aScrolledHdl
void SetQuickSearch(bool bEnable)
SelectionMode GetSelectionMode() const
VclPtr< Edit > GetEditWidget() const
void ScrollOutputArea(short nDeltaEntries)
virtual tools::Rectangle GetFocusRect(const SvTreeListEntry *, tools::Long nLine)
virtual void RequestHelp(const HelpEvent &rHEvt) override
std::unique_ptr< SvImpLBox > pImpl
Link< SvTreeListBox *, bool > aDoubleClickHdl
DragDropMode nOldDragMode
Link< svtree_render_args, void > aCustomRenderHdl
virtual void ModelIsRemoving(SvTreeListEntry *pEntry) override
std::pair< tools::Long, tools::Long > GetItemPos(SvTreeListEntry *pEntry, sal_uInt16 nTabIdx)
SvButtonState GetCheckButtonState(SvTreeListEntry *) const
VCL_DLLPRIVATE void PaintEntry1(SvTreeListEntry &, tools::Long nLine, vcl::RenderContext &rRenderContext)
virtual bool EditedEntry(SvTreeListEntry *pEntry, const OUString &rNewText)
static OUString SearchEntryTextWithHeadTitle(SvTreeListEntry *pEntry)
void SelectAll(bool bSelect)
SvTreeListBoxFlags nImpFlags
sal_uInt32 GetLevelChildCount(SvTreeListEntry *pParent) const
virtual void InitViewData(SvViewDataEntry *, SvTreeListEntry *pEntry) override
Link< sal_Int8, void > GetDragFinishedHdl() const
void SetEntryText(SvTreeListEntry *, const OUString &)
static const Image & GetDefaultCollapsedNodeImage()
Returns the default image which clients should use for expanded nodes, to have a consistent user inte...
virtual sal_uInt32 Insert(SvTreeListEntry *pEnt, SvTreeListEntry *pPar, sal_uInt32 nPos=TREELIST_APPEND)
sal_uInt32 SelectChildren(SvTreeListEntry *pParent, bool bSelect)
SvTreeList * GetModel() const
bool Expand(SvTreeListEntry *pParent)
SvLBoxTab * GetTab(SvTreeListEntry const *, SvLBoxItem const *) const
Link< SvTreeListBox *, void > aSelectHdl
sal_IntPtr GetTabPos(const SvTreeListEntry *, const SvLBoxTab *) const
std::optional< Color > const & GetTextColor() const
SvTreeListEntry * NextSibling() const
SvTreeListEntries m_Children
const SvLBoxItem * GetFirstItem(SvLBoxItemType eType) const
void * GetUserData() const
size_t GetPos(const SvLBoxItem *pItem) const
SvTLEntryFlags GetFlags() const
sal_uInt32 GetExtraIndent() const
bool HasChildrenOnDemand() const
const SvLBoxItem & GetItem(size_t nPos) const
void EnableChildrenOnDemand(bool bEnable=true)
void SetFlags(SvTLEntryFlags nFlags)
SvTreeListEntry * pParent
void AddItem(std::unique_ptr< SvLBoxItem > pItem)
SvTLEntryFlags nEntryFlags
void SetUserData(void *pPtr)
void SetSortMode(SvSortMode eMode)
static sal_uInt32 GetRelPos(const SvTreeListEntry *pChild)
void SetCompareHdl(const Link< const SvSortData &, sal_Int32 > &rLink)
void InvalidateEntry(SvTreeListEntry *)
View-dependent data for a tree list entry created in the virtual function SvTreeListBox::CreateViewDa...
bool IsDragTarget() const
const SvViewDataItem & GetItem(size_t nPos) const
bool IsHighlighted() const
void SetPriority(TaskPriority ePriority)
void SetInvokeHandler(const Link< Timer *, void > &rLink)
static std::unique_ptr< UIObject > create(vcl::Window *pWindow)
static VclPtr< reference_type > Create(Arg &&... arg)
A construction helper for VclPtr.
const Color & GetColor() const
void SetColor(const Color &rColor)
void SetTransparent(bool bTransparent)
void SetFillColor(const Color &)
void SetColor(const Color &)
bool IsTransparent() const
const Color & GetColor() const
const Color & GetFillColor() const
sal_uInt16 GetCode() const
Point OutputToScreenPixel(const Point &rPos) const
const Wallpaper & GetBackground() const
void SetStyle(WinBits nStyle)
void SetFont(const vcl::Font &rNewFont)
void SetUpdateMode(bool bUpdate)
vcl::Window * GetParent() const
virtual void RequestHelp(const HelpEvent &rHEvt)
bool IsMouseCaptured() const
bool IsChild(const vcl::Window *pWindow) const
sal_uInt16 GetChildCount() const
virtual void SetSizePixel(const Size &rNewSize)
void GetBorder(sal_Int32 &rLeftBorder, sal_Int32 &rTopBorder, sal_Int32 &rRightBorder, sal_Int32 &rBottomBorder) const
virtual void Command(const CommandEvent &rCEvt)
virtual void queue_resize(StateChangedType eReason=StateChangedType::Layout)
bool IsUpdateMode() const
vcl::Window * GetAccessibleParentWindow() const
tools::Long GetTextHeight() const
Height where any character of the current font fits; in logic coordinates.
const AllSettings & GetSettings() const
void Show(bool bVisible=true, ShowFlags nFlags=ShowFlags::NONE)
virtual void KeyInput(const KeyEvent &rKEvt)
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
vcl::Font GetPointFont(vcl::RenderContext const &rRenderContext) const
const MapMode & GetMapMode() const
::OutputDevice const * GetOutDev() const
const vcl::Font & GetFont() const
SAL_DLLPRIVATE float approximate_char_width() const
virtual css::uno::Reference< css::awt::XVclWindowPeer > GetComponentInterface(bool bCreate=true)
virtual void ShowFocus(const tools::Rectangle &rRect)
css::uno::Reference< css::accessibility::XAccessible > GetAccessible(bool bCreate=true)
virtual Size GetSizePixel() const
virtual void DataChanged(const DataChangedEvent &rDCEvt)
virtual void ImplInvalidate(const vcl::Region *pRegion, InvalidateFlags nFlags)
void SetPointFont(vcl::RenderContext &rRenderContext, const vcl::Font &rFont)
sal_Int32 get_width_request() const
void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
virtual void SetPosPixel(const Point &rNewPos)
virtual OUString GetText() const
css::uno::Reference< css::datatransfer::dnd::XDropTarget > GetDropTarget()
void SetType(WindowType nType)
virtual bool set_property(const OUString &rKey, const OUString &rValue)
Point ScreenToOutputPixel(const Point &rPos) const
void SetTextColor(const Color &rColor)
constexpr ::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
#define DBG_ASSERT(sCon, aError)
std::function< std::unique_ptr< UIObject >(vcl::Window *)> FactoryFunction
constexpr sal_uInt16 KEY_RETURN
constexpr sal_uInt16 KEY_ESCAPE
#define LINK(Instance, Class, Member)
#define SAL_WARN(area, stream)
#define SAL_N_ELEMENTS(arr)
std::unique_ptr< sal_Int32[]> pData
constexpr OUStringLiteral aData
const void * StringEntryIdentifier
const css::datatransfer::dnd::DropTargetDropEvent maDropEvent
vcl::QuickSelectionEngine m_aQuickSelectionEngine
SvTreeListBoxImpl(SvTreeListBox &_rBox)
bool m_bDoingQuickSelection
@ REPAINT
All repaint events should go in here.
#define DND_ACTION_COPYMOVE
#define SVLBOX_ACC_RETURN
#define NODE_AND_CHECK_BUTTONS
IMPL_LINK_NOARG(SvInplaceEdit2, ReturnHdl_Impl, Accelerator &, void)
#define SVLBOX_ACC_ESCAPE
#define TABFLAGS_CHECKBTN
static VclPtr< SvTreeListBox > g_pDDTarget
#define TABFLAGS_CONTEXTBMP
static VclPtr< SvTreeListBox > g_pDDSource
#define SV_LBOX_DEFAULT_INDENT_PIXEL
IMPL_LINK(SvTreeListBox, CloneHdl_Impl, SvTreeListEntry *, pEntry, SvTreeListEntry *)
#define SV_ENTRYHEIGHTOFFS_PIXEL
@ Children
The child windows are invalidated, too.
WinBits const WB_HIDESELECTION
WinBits const WB_HASBUTTONS
WinBits const WB_HASLINESATROOT
WinBits const WB_HASLINES
WinBits const WB_HASBUTTONSATROOT
WinBits const WB_CLIPCHILDREN