diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-05-17 19:39:45 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-05-20 18:01:17 +0200 |
commit | 2140dea1413c9ef8e6e35409a15b0a3ea7149e67 (patch) | |
tree | f2f28dfda11cdd4dc982299669be56ec81fc0aab | |
parent | 259d01a34d27df2fbfd11c3bf6fe9dc508ff6ac2 (diff) |
split width/height to allow intercept of how width is calculated
in order to possibly get width on demand
Change-Id: I1e6fcb6849705f2b166821516ebe72b179e00ee7
Reviewed-on: https://gerrit.libreoffice.org/72513
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | dbaccess/source/ui/app/AppDetailView.cxx | 2 | ||||
-rw-r--r-- | dbaccess/source/ui/control/listviewitems.cxx | 3 | ||||
-rw-r--r-- | include/vcl/treelistbox.hxx | 6 | ||||
-rw-r--r-- | include/vcl/viewdataentry.hxx | 3 | ||||
-rw-r--r-- | sc/source/ui/navipi/content.cxx | 2 | ||||
-rw-r--r-- | sd/source/ui/animations/CustomAnimationList.cxx | 12 | ||||
-rw-r--r-- | sfx2/source/dialog/templdlg.cxx | 4 | ||||
-rw-r--r-- | svtools/source/contnr/iconview.cxx | 11 | ||||
-rw-r--r-- | svtools/source/uno/treecontrolpeer.cxx | 17 | ||||
-rw-r--r-- | svx/source/form/filtnav.cxx | 11 | ||||
-rw-r--r-- | sw/source/ui/misc/glossary.cxx | 2 | ||||
-rw-r--r-- | sw/source/uibase/utlui/content.cxx | 2 | ||||
-rw-r--r-- | sw/source/uibase/utlui/glbltree.cxx | 2 | ||||
-rw-r--r-- | vcl/source/treelist/svimpbox.cxx | 6 | ||||
-rw-r--r-- | vcl/source/treelist/svlbitm.cxx | 15 | ||||
-rw-r--r-- | vcl/source/treelist/treelistbox.cxx | 43 |
16 files changed, 87 insertions, 54 deletions
diff --git a/dbaccess/source/ui/app/AppDetailView.cxx b/dbaccess/source/ui/app/AppDetailView.cxx index 5ca68ed90dc7..da1823ba8b4c 100644 --- a/dbaccess/source/ui/app/AppDetailView.cxx +++ b/dbaccess/source/ui/app/AppDetailView.cxx @@ -158,7 +158,7 @@ tools::Rectangle OCreationList::GetFocusRect( SvTreeListEntry* _pEntry, long _nL SvViewDataItem* pItemData = pBitmapItem ? GetViewDataItem( _pEntry, pBitmapItem ) : nullptr; OSL_ENSURE( pTab && pItemData, "OCreationList::GetFocusRect: could not find the first bitmap item!" ); if ( pTab && pItemData ) - aRect.SetLeft( pTab->GetPos() - pItemData->maSize.Width() / 2 ); + aRect.SetLeft( pTab->GetPos() - pItemData->mnWidth / 2 ); // inflate the rectangle a little bit - looks better, too aRect.SetLeft( std::max< long >( 0, aRect.Left() - 2 ) ); diff --git a/dbaccess/source/ui/control/listviewitems.cxx b/dbaccess/source/ui/control/listviewitems.cxx index d0a686992809..006f6f45a51a 100644 --- a/dbaccess/source/ui/control/listviewitems.cxx +++ b/dbaccess/source/ui/control/listviewitems.cxx @@ -35,7 +35,8 @@ namespace dbaui vcl::Font aFont( pView->GetFont()); aFont.SetWeight(WEIGHT_BOLD); pView->Control::SetFont( aFont ); - _pViewData->maSize = Size(pView->GetTextWidth(GetText()), pView->GetTextHeight()); + _pViewData->mnWidth = pView->GetTextWidth(GetText()); + _pViewData->mnHeight = pView->GetTextHeight(); pView->Pop(); } diff --git a/include/vcl/treelistbox.hxx b/include/vcl/treelistbox.hxx index 2f855e0a4b7b..d9c09d086b31 100644 --- a/include/vcl/treelistbox.hxx +++ b/include/vcl/treelistbox.hxx @@ -140,8 +140,10 @@ public: SvLBoxItem(); virtual ~SvLBoxItem(); virtual SvLBoxItemType GetType() const = 0; - const Size& GetSize(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const; - static const Size& GetSize(const SvViewDataEntry* pData, sal_uInt16 nItemPos); + int GetWidth(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const; + int GetHeight(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const; + static int GetWidth(const SvViewDataEntry* pData, sal_uInt16 nItemPos); + static int GetHeight(const SvViewDataEntry* pData, sal_uInt16 nItemPos); void Enable(bool bEnabled) { mbDisabled = !bEnabled; } virtual void Paint(const Point& rPos, SvTreeListBox& rOutDev, vcl::RenderContext& rRenderContext, const SvViewDataEntry* pView, const SvTreeListEntry& rEntry) = 0; diff --git a/include/vcl/viewdataentry.hxx b/include/vcl/viewdataentry.hxx index 5cbed9d6e3ea..7967f131b6c6 100644 --- a/include/vcl/viewdataentry.hxx +++ b/include/vcl/viewdataentry.hxx @@ -28,7 +28,8 @@ struct SvViewDataItem { - Size maSize; + int mnWidth = 0; + int mnHeight = 0; }; /** diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx index 4ecbdf314376..536d398f482c 100644 --- a/sc/source/ui/navipi/content.cxx +++ b/sc/source/ui/navipi/content.cxx @@ -730,7 +730,7 @@ void ScContentTree::RequestHelp( const HelpEvent& rHEvt ) aPos = GetEntryPosition( pEntry ); aPos.setX( GetTabPos( pEntry, pTab ) ); aPos = OutputToScreenPixel(aPos); - Size aSize( pItem->GetSize( this, pEntry ) ); + Size aSize(pItem->GetWidth(this, pEntry), pItem->GetHeight(this, pEntry)); tools::Rectangle aItemRect( aPos, aSize ); Help::ShowQuickHelp( this, aItemRect, aHelpText ); diff --git a/sd/source/ui/animations/CustomAnimationList.cxx b/sd/source/ui/animations/CustomAnimationList.cxx index e6cfb0c1d98f..c0b2086abac7 100644 --- a/sd/source/ui/animations/CustomAnimationList.cxx +++ b/sd/source/ui/animations/CustomAnimationList.cxx @@ -270,7 +270,8 @@ void CustomAnimationListEntryItem::InitViewData( SvTreeListBox* pView, SvTreeLis Size aSize( width, pView->GetTextHeight() ); if( aSize.Height() < nItemMinHeight ) aSize.setHeight( nItemMinHeight ); - pViewData->maSize = aSize; + pViewData->mnWidth = aSize.Width(); + pViewData->mnHeight = aSize.Height(); } void CustomAnimationListEntryItem::Paint(const Point& rPos, SvTreeListBox& rDev, vcl::RenderContext& rRenderContext, @@ -280,7 +281,7 @@ void CustomAnimationListEntryItem::Paint(const Point& rPos, SvTreeListBox& rDev, const SvViewDataItem* pViewData = mpParent->GetViewDataItem(&rEntry, this); Point aPos(rPos); - Size aSize(pViewData->maSize); + int nItemHeight = pViewData->mnHeight; sal_Int16 nNodeType = mpEffect->getNodeType(); if (nNodeType == EffectNodeType::ON_CLICK ) @@ -336,12 +337,12 @@ void CustomAnimationListEntryItem::Paint(const Point& rPos, SvTreeListBox& rDev, { Image aImage(StockImage::Yes, sImage); Point aImagePos(aPos); - aImagePos.AdjustY((aSize.Height()/2 - aImage.GetSizePixel().Height()) >> 1 ); + aImagePos.AdjustY((nItemHeight/2 - aImage.GetSizePixel().Height()) >> 1 ); rRenderContext.DrawImage(aImagePos, aImage); } aPos.AdjustX(nIconWidth ); - aPos.AdjustY((aSize.Height()/2 - rDev.GetTextHeight()) >> 1 ); + aPos.AdjustY((nItemHeight/2 - rDev.GetTextHeight()) >> 1 ); rRenderContext.DrawText(aPos, rRenderContext.GetEllipsisString(msEffectName, rDev.GetOutputSizePixel().Width() - aPos.X())); } @@ -400,7 +401,8 @@ void CustomAnimationTriggerEntryItem::InitViewData( SvTreeListBox* pView, SvTree Size aSize(pView->GetTextWidth( msDescription ) + 2 * nIconWidth, pView->GetTextHeight() ); if( aSize.Height() < nIconWidth ) aSize.setHeight( nIconWidth ); - pViewData->maSize = aSize; + pViewData->mnWidth = aSize.Width(); + pViewData->mnHeight = aSize.Height(); } void CustomAnimationTriggerEntryItem::Paint(const Point& rPos, SvTreeListBox& rDev, vcl::RenderContext& rRenderContext, diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx index 772df9530ce5..e47900441476 100644 --- a/sfx2/source/dialog/templdlg.cxx +++ b/sfx2/source/dialog/templdlg.cxx @@ -143,7 +143,9 @@ void StyleLBoxString::Paint( { if (pStylePreviewRenderer->recalculate()) { - mpViewData->maSize = pStylePreviewRenderer->getRenderSize(); + Size aSize(pStylePreviewRenderer->getRenderSize()); + mpViewData->mnWidth = aSize.Width(); + mpViewData->mnHeight = aSize.Height(); } else { diff --git a/svtools/source/contnr/iconview.cxx b/svtools/source/contnr/iconview.cxx index c50aaab9b904..7138efdbddeb 100644 --- a/svtools/source/contnr/iconview.cxx +++ b/svtools/source/contnr/iconview.cxx @@ -130,7 +130,7 @@ void IconView::PaintEntry(SvTreeListEntry& rEntry, long nX, long nY, continue; } - Size aSize(SvLBoxItem::GetSize(pViewDataEntry, nCurItem)); + auto nItemHeight = SvLBoxItem::GetHeight(pViewDataEntry, nCurItem); aEntryPos.setX( nX ); aEntryPos.setY( nY ); @@ -189,7 +189,7 @@ void IconView::PaintEntry(SvTreeListEntry& rEntry, long nX, long nY, } // center vertically - aEntryPos.AdjustY((nTempEntryHeight - aSize.Height()) / 2 ); + aEntryPos.AdjustY((nTempEntryHeight - nItemHeight) / 2 ); // draw item pViewDataEntry->SetPaintRectangle(aRect); @@ -206,15 +206,16 @@ void IconView::PaintEntry(SvTreeListEntry& rEntry, long nX, long nY, // draw icon if(nIconItem != nItemCount && nIconItem < nItemCount) { - Size aSize(SvLBoxItem::GetSize(pViewDataEntry, nIconItem)); + auto nItemWidth = SvLBoxItem::GetWidth(pViewDataEntry, nIconItem); + auto nItemHeight = SvLBoxItem::GetHeight(pViewDataEntry, nIconItem); aEntryPos.setX( nX ); aEntryPos.setY( nY ); // center horizontally - aEntryPos.AdjustX((nTempEntryWidth - aSize.Width()) / 2 ); + aEntryPos.AdjustX((nTempEntryWidth - nItemWidth) / 2 ); // center vertically - aEntryPos.AdjustY((nTempEntryHeight - aSize.Height()) / 2 ); + aEntryPos.AdjustY((nTempEntryHeight - nItemHeight) / 2 ); aEntryPos.AdjustY( -10 ); diff --git a/svtools/source/uno/treecontrolpeer.cxx b/svtools/source/uno/treecontrolpeer.cxx index 5620686ac60c..974ee8edabab 100644 --- a/svtools/source/uno/treecontrolpeer.cxx +++ b/svtools/source/uno/treecontrolpeer.cxx @@ -1497,7 +1497,7 @@ void UnoTreeListItem::Paint( const Point& rPos, SvTreeListBox& rDev, vcl::RenderContext& rRenderContext, const SvViewDataEntry* /*pView*/, const SvTreeListEntry& rEntry) { Point aPos(rPos); - Size aSize(GetSize(&rDev, &rEntry)); + Size aSize(GetWidth(&rDev, &rEntry), GetHeight(&rDev, &rEntry)); if (!!maImage) { rRenderContext.DrawImage(aPos, maImage, rDev.IsEnabled() ? DrawImageFlags::NONE : DrawImageFlags::Disable); @@ -1536,18 +1536,21 @@ void UnoTreeListItem::InitViewData( SvTreeListBox* pView,SvTreeListEntry* pEntry if( !pViewData ) pViewData = pView->GetViewDataItem( pEntry, this ); - pViewData->maSize = maImage.GetSizePixel(); + Size aSize(maImage.GetSizePixel()); + pViewData->mnWidth = aSize.Width(); + pViewData->mnHeight = aSize.Height(); const Size aTextSize(pView->GetTextWidth( maText ), pView->GetTextHeight()); - if( pViewData->maSize.Width() ) + if( pViewData->mnWidth ) { - pViewData->maSize.AdjustWidth(6 + aTextSize.Width() ); - if( pViewData->maSize.Height() < aTextSize.Height() ) - pViewData->maSize.setHeight( aTextSize.Height() ); + pViewData->mnWidth += (6 + aTextSize.Width()); + if( pViewData->mnHeight < aTextSize.Height() ) + pViewData->mnHeight = aTextSize.Height(); } else { - pViewData->maSize = aTextSize; + pViewData->mnWidth = aTextSize.Width(); + pViewData->mnHeight = aTextSize.Height(); } } diff --git a/svx/source/form/filtnav.cxx b/svx/source/form/filtnav.cxx index 08a975fca685..c7b755317d89 100644 --- a/svx/source/form/filtnav.cxx +++ b/svx/source/form/filtnav.cxx @@ -965,7 +965,8 @@ void FmFilterItemsString::Paint(const Point& rPos, SvTreeListBox& rDev, vcl::Ren rRenderContext.Push(PushFlags::LINECOLOR); rRenderContext.SetLineColor(rRenderContext.GetTextColor()); - tools::Rectangle aRect(rPos, GetSize(&rDev, &rEntry)); + Size aSize(GetWidth(&rDev, &rEntry), GetHeight(&rDev, &rEntry)); + tools::Rectangle aRect(rPos, aSize); Point aFirst(rPos.X(), aRect.Bottom() - 6); Point aSecond(aFirst .X() + 2, aFirst.Y() + 3); @@ -991,7 +992,8 @@ void FmFilterItemsString::InitViewData( SvTreeListBox* pView,SvTreeListEntry* pE Size aSize(pView->GetTextWidth(GetText()), pView->GetTextHeight()); aSize.AdjustWidth(nxDBmp ); - pViewData->maSize = aSize; + pViewData->mnWidth = aSize.Width(); + pViewData->mnHeight = aSize.Height(); } class FmFilterString : public SvLBoxString @@ -1013,7 +1015,6 @@ public: const int nxD = 4; - void FmFilterString::InitViewData( SvTreeListBox* pView,SvTreeListEntry* pEntry, SvViewDataItem* pViewData) { if( !pViewData ) @@ -1027,10 +1028,10 @@ void FmFilterString::InitViewData( SvTreeListBox* pView,SvTreeListEntry* pEntry, Size aSize(pView->GetTextWidth(m_aName), pView->GetTextHeight()); pView->Control::SetFont( aOldFont ); aSize.AdjustWidth(pView->GetTextWidth(GetText()) + nxD ); - pViewData->maSize = aSize; + pViewData->mnWidth = aSize.Width(); + pViewData->mnHeight = aSize.Height(); } - void FmFilterString::Paint(const Point& rPos, SvTreeListBox& rDev, vcl::RenderContext& rRenderContext, const SvViewDataEntry* /*pView*/, const SvTreeListEntry& /*rEntry*/) { diff --git a/sw/source/ui/misc/glossary.cxx b/sw/source/ui/misc/glossary.cxx index 935242ed977c..867ed65b89f7 100644 --- a/sw/source/ui/misc/glossary.cxx +++ b/sw/source/ui/misc/glossary.cxx @@ -873,7 +873,7 @@ void SwGlTreeListBox::RequestHelp( const HelpEvent& rHEvt ) if(pItem) { aPos = GetEntryPosition( pEntry ); - Size aSize(pItem->GetSize( this, pEntry )); + Size aSize(pItem->GetWidth(this, pEntry), pItem->GetHeight(this, pEntry)); aPos.setX( GetTabPos( pEntry, pTab ) ); if((aPos.X() + aSize.Width()) > GetSizePixel().Width()) diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx index 7ef2e0e48f93..2425ed1b079c 100644 --- a/sw/source/uibase/utlui/content.cxx +++ b/sw/source/uibase/utlui/content.cxx @@ -3031,7 +3031,7 @@ void SwContentTree::RequestHelp( const HelpEvent& rHEvt ) aPos = GetEntryPosition( pEntry ); aPos.setX( GetTabPos( pEntry, pTab ) ); - Size aSize( pItem->GetSize( this, pEntry ) ); + Size aSize(pItem->GetWidth(this, pEntry), pItem->GetHeight(this, pEntry)); if((aPos.X() + aSize.Width()) > GetSizePixel().Width()) aSize.setWidth( GetSizePixel().Width() - aPos.X() ); diff --git a/sw/source/uibase/utlui/glbltree.cxx b/sw/source/uibase/utlui/glbltree.cxx index 13ec358cd0f7..df5d5656ab41 100644 --- a/sw/source/uibase/utlui/glbltree.cxx +++ b/sw/source/uibase/utlui/glbltree.cxx @@ -505,7 +505,7 @@ void SwGlobalTree::RequestHelp( const HelpEvent& rHEvt ) Point aEntryPos = GetEntryPosition( pEntry ); aEntryPos.setX( GetTabPos( pEntry, pTab ) ); - Size aSize( pItem->GetSize( this, pEntry ) ); + Size aSize(pItem->GetWidth(this, pEntry), pItem->GetHeight(this, pEntry)); if((aEntryPos.X() + aSize.Width()) > GetSizePixel().Width()) aSize.setWidth( GetSizePixel().Width() - aEntryPos.X() ); diff --git a/vcl/source/treelist/svimpbox.cxx b/vcl/source/treelist/svimpbox.cxx index 0d906416f233..ede98aa18f7f 100644 --- a/vcl/source/treelist/svimpbox.cxx +++ b/vcl/source/treelist/svimpbox.cxx @@ -785,7 +785,7 @@ bool SvImpLBox::EntryReallyHit(SvTreeListEntry* pEntry, const Point& rPosPixel, aRect.SetRight( GetOutputSize().Width() - pView->GetMapMode().GetOrigin().X() ); SvLBoxContextBmp* pBmp = static_cast<SvLBoxContextBmp*>(pEntry->GetFirstItem(SvLBoxItemType::ContextBmp)); - aRect.AdjustLeft( -(pBmp->GetSize(pView,pEntry).Width()) ); + aRect.AdjustLeft( -pBmp->GetWidth(pView,pEntry) ); aRect.AdjustLeft( -4 ); // a little tolerance Point aPos( rPosPixel ); @@ -3107,7 +3107,7 @@ bool SvImpLBox::RequestHelp( const HelpEvent& rHEvt ) aPos = GetEntryPosition( pEntry ); aPos.setX( pView->GetTabPos( pEntry, pTab ) ); //pTab->GetPos(); - Size aSize( pItem->GetSize( pView, pEntry ) ); + Size aSize(pItem->GetWidth(pView, pEntry), pItem->GetHeight(pView, pEntry)); SvLBoxTab* pNextTab = NextTab( pTab ); bool bItemClipped = false; // is the item cut off by its right neighbor? @@ -3199,7 +3199,7 @@ bool SvImpLBox::SetMostRight( SvTreeListEntry* pEntry ) long nNextTab = nTabPos < nMaxRight ? nMaxRight : nMaxRight + 50; long nTabWidth = nNextTab - nTabPos + 1; - long nItemSize = rItem.GetSize(pView,pEntry).Width(); + auto nItemSize = rItem.GetWidth(pView,pEntry); long nOffset = pTab->CalcOffset( nItemSize, nTabWidth ); long nRight = nTabPos + nOffset + nItemSize; diff --git a/vcl/source/treelist/svlbitm.cxx b/vcl/source/treelist/svlbitm.cxx index e7732f687d5b..764c8d6878df 100644 --- a/vcl/source/treelist/svlbitm.cxx +++ b/vcl/source/treelist/svlbitm.cxx @@ -196,7 +196,7 @@ void SvLBoxString::Paint( const Point& rPos, SvTreeListBox& rDev, vcl::RenderContext& rRenderContext, const SvViewDataEntry* /*pView*/, const SvTreeListEntry& rEntry) { - Size aSize = GetSize(&rDev, &rEntry); + Size aSize; DrawTextFlags nStyle = (rDev.IsEnabled() && !mbDisabled) ? DrawTextFlags::NONE : DrawTextFlags::Disable; if (rDev.IsEntryMnemonicsEnabled()) nStyle |= DrawTextFlags::Mnemonic; @@ -205,6 +205,9 @@ void SvLBoxString::Paint( nStyle |= DrawTextFlags::PathEllipsis | DrawTextFlags::Center; aSize.setWidth( rDev.GetEntryWidth() ); } + else + aSize.setWidth(GetWidth(&rDev, &rEntry)); + aSize.setHeight(GetHeight(&rDev, &rEntry)); if (mbEmphasized) { @@ -241,7 +244,8 @@ void SvLBoxString::InitViewData( pView->Control::SetFont( aFont ); } - pViewData->maSize = Size(pView->GetTextWidth(maText), pView->GetTextHeight()); + pViewData->mnWidth = pView->GetTextWidth(maText); + pViewData->mnHeight = pView->GetTextHeight(); if (mbEmphasized) pView->Pop(); @@ -379,7 +383,8 @@ void SvLBoxButton::InitViewData(SvTreeListBox* pView,SvTreeListEntry* pEntry, Sv ControlType eCtrlType = (pData->IsRadio())? ControlType::Radiobutton : ControlType::Checkbox; if ( eKind != SvLBoxButtonKind::StaticImage && pView ) ImplAdjustBoxSize(aSize, eCtrlType, *pView); - pViewData->maSize = aSize; + pViewData->mnWidth = aSize.Width(); + pViewData->mnHeight = aSize.Height(); } bool SvLBoxButton::CheckModification() const @@ -444,7 +449,9 @@ void SvLBoxContextBmp::InitViewData( SvTreeListBox* pView,SvTreeListEntry* pEntr { if( !pViewData ) pViewData = pView->GetViewDataItem( pEntry, this ); - pViewData->maSize = m_pImpl->m_aImage1.GetSizePixel(); + Size aSize = m_pImpl->m_aImage1.GetSizePixel(); + pViewData->mnWidth = aSize.Width(); + pViewData->mnHeight = aSize.Height(); } void SvLBoxContextBmp::Paint( diff --git a/vcl/source/treelist/treelistbox.cxx b/vcl/source/treelist/treelistbox.cxx index 007036b1012b..de328f8dde39 100644 --- a/vcl/source/treelist/treelistbox.cxx +++ b/vcl/source/treelist/treelistbox.cxx @@ -303,16 +303,28 @@ SvLBoxItem::~SvLBoxItem() { } -const Size& SvLBoxItem::GetSize(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const +int SvLBoxItem::GetWidth(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const { const SvViewDataItem* pViewData = pView->GetViewDataItem( pEntry, this ); - return pViewData->maSize; + return pViewData->mnWidth; } -const Size& SvLBoxItem::GetSize(const SvViewDataEntry* pData, sal_uInt16 nItemPos) +int SvLBoxItem::GetHeight(const SvTreeListBox* pView, const SvTreeListEntry* pEntry) const +{ + const SvViewDataItem* pViewData = pView->GetViewDataItem( pEntry, this ); + return pViewData->mnHeight; +} + +int SvLBoxItem::GetWidth(const SvViewDataEntry* pData, sal_uInt16 nItemPos) +{ + const SvViewDataItem& rIData = pData->GetItem(nItemPos); + return rIData.mnWidth; +} + +int SvLBoxItem::GetHeight(const SvViewDataEntry* pData, sal_uInt16 nItemPos) { const SvViewDataItem& rIData = pData->GetItem(nItemPos); - return rIData.maSize; + return rIData.mnHeight; } struct SvTreeListBoxImpl @@ -1679,7 +1691,7 @@ void SvTreeListBox::CheckBoxInserted(SvTreeListEntry* pEntry) SvLBoxButton* pItem = static_cast<SvLBoxButton*>(pEntry->GetFirstItem(SvLBoxItemType::Button)); if( pItem ) { - long nWidth = pItem->GetSize(this, pEntry).Width(); + auto nWidth = pItem->GetWidth(this, pEntry); if( mnCheckboxItemWidth < nWidth ) { mnCheckboxItemWidth = nWidth; @@ -2028,7 +2040,7 @@ void SvTreeListBox::SetEntryHeight( SvTreeListEntry const * pEntry ) SvViewDataEntry* pViewData = GetViewDataEntry( pEntry ); while( nCur < nCount ) { - short nHeight = static_cast<short>(SvLBoxItem::GetSize( pViewData, nCur ).Height()); + auto nHeight = SvLBoxItem::GetHeight(pViewData, nCur); if( nHeight > nHeightMax ) nHeightMax = nHeight; nCur++; @@ -2396,12 +2408,12 @@ void SvTreeListBox::EditItemText(SvTreeListEntry* pEntry, SvLBoxString* pItem, c SvLBoxTab* pTab = GetTab( pEntry, pItem ); DBG_ASSERT(pTab,"EditItemText:Tab not found"); - Size aItemSize( pItem->GetSize(this, pEntry) ); + auto nItemHeight( pItem->GetHeight(this, pEntry) ); Point aPos = GetEntryPosition( pEntry ); - aPos.AdjustY(( nEntryHeight - aItemSize.Height() ) / 2 ); + aPos.AdjustY(( nEntryHeight - nItemHeight ) / 2 ); aPos.setX( GetTabPos( pEntry, pTab ) ); long nOutputWidth = pImpl->GetOutputSize().Width(); - Size aSize( nOutputWidth - aPos.X(), aItemSize.Height() ); + Size aSize( nOutputWidth - aPos.X(), nItemHeight ); sal_uInt16 nPos = std::find_if( aTabs.begin(), aTabs.end(), [pTab](const std::unique_ptr<SvLBoxTab>& p) { return p.get() == pTab; }) - aTabs.begin(); @@ -2633,7 +2645,8 @@ void SvTreeListBox::PaintEntry1(SvTreeListEntry& rEntry, long nLine, vcl::Render SvLBoxItem& rItem = rEntry.GetItem(nCurItem); SvLBoxTabFlags nFlags = pTab->nFlags; - Size aSize(SvLBoxItem::GetSize(pViewDataEntry, nCurItem)); + Size aSize(SvLBoxItem::GetWidth(pViewDataEntry, nCurItem), + SvLBoxItem::GetHeight(pViewDataEntry, nCurItem)); long nTabPos = GetTabPos(&rEntry, pTab); long nNextTabPos; @@ -2911,7 +2924,7 @@ tools::Rectangle SvTreeListBox::GetFocusRect( SvTreeListEntry* pEntry, long nLin if( pTab && nCurTab < pEntry->ItemCount() ) { SvLBoxItem& rItem = pEntry->GetItem( nCurTab ); - aSize.setWidth( rItem.GetSize( this, pEntry ).Width() ); + aSize.setWidth(rItem.GetWidth(this, pEntry)); if( !aSize.Width() ) aSize.setWidth( 15 ); long nX = nTabPos; //GetTabPos( pEntry, pTab ); @@ -3013,9 +3026,9 @@ SvLBoxItem* SvTreeListBox::GetItem_Impl( SvTreeListEntry* pEntry, long nX, nNextTabPos += 50; } - Size aItemSize( pItem->GetSize(this, pEntry)); - nStart += pTab->CalcOffset( aItemSize.Width(), nNextTabPos - nStart ); - long nLen = aItemSize.Width(); + auto nItemWidth(pItem->GetWidth(this, pEntry)); + nStart += pTab->CalcOffset(nItemWidth, nNextTabPos - nStart); + auto nLen = nItemWidth; if( pNextTab ) { long nTabWidth = GetTabPos( pEntry, pNextTab ) - nStart; @@ -3055,7 +3068,7 @@ long SvTreeListBox::getPreferredDimensions(std::vector<long> &rWidths) const while (nCurPos < nCount) { SvLBoxItem& rItem = pEntry->GetItem( nCurPos ); - long nWidth = rItem.GetSize(this, pEntry).Width(); + auto nWidth = rItem.GetWidth(this, pEntry); if (nWidth) { nWidth += SV_TAB_BORDER * 2; |