diff options
author | Noel Grandin <noel@peralex.com> | 2012-06-28 10:06:59 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-07-04 23:23:22 +0200 |
commit | a87c24fcfe1d8842d892185d6f9f2e07c52c3804 (patch) | |
tree | 9fbc9ad9b9dbcfa698ab0f98d4562a8d7734855b /svtools/source/contnr | |
parent | 09a61733bf4352edfc7fe341e9342594557ed02f (diff) |
Convert aTabs field in SvTreeListBox from SvPtrarr to std::vector
Change-Id: I901c6df67fc95cfb2ac3ea15e69a47c5fc3161b6
Diffstat (limited to 'svtools/source/contnr')
-rw-r--r-- | svtools/source/contnr/svimpbox.cxx | 6 | ||||
-rw-r--r-- | svtools/source/contnr/svtabbx.cxx | 2 | ||||
-rw-r--r-- | svtools/source/contnr/svtreebx.cxx | 66 |
3 files changed, 36 insertions, 38 deletions
diff --git a/svtools/source/contnr/svimpbox.cxx b/svtools/source/contnr/svimpbox.cxx index 9b0baec5954e..21a0e4a92b14 100644 --- a/svtools/source/contnr/svimpbox.cxx +++ b/svtools/source/contnr/svimpbox.cxx @@ -3285,14 +3285,14 @@ sal_Bool SvImpLBox::SetMostRight( SvLBoxEntry* pEntry ) nFlags &= ~F_IGNORE_CHANGED_TABS; } - sal_uInt16 nLastTab = pView->aTabs.Count() - 1; + sal_uInt16 nLastTab = pView->aTabs.size() - 1; sal_uInt16 nLastItem = pEntry->ItemCount() - 1; - if( nLastTab != USHRT_MAX && nLastItem != USHRT_MAX ) + if( !pView->aTabs.empty() && nLastItem != USHRT_MAX ) { if( nLastItem < nLastTab ) nLastTab = nLastItem; - SvLBoxTab* pTab = (SvLBoxTab*)pView->aTabs[ nLastTab ]; + SvLBoxTab* pTab = pView->aTabs[ nLastTab ]; SvLBoxItem* pItem = pEntry->GetItem( nLastTab ); long nTabPos = pView->GetTabPos( pEntry, pTab ); diff --git a/svtools/source/contnr/svtabbx.cxx b/svtools/source/contnr/svtabbx.cxx index ad14ca314194..ad019f4c9202 100644 --- a/svtools/source/contnr/svtabbx.cxx +++ b/svtools/source/contnr/svtabbx.cxx @@ -543,7 +543,7 @@ long SvTabListBox::GetLogicTab( sal_uInt16 nTab ) ((SvTabListBox*)this)->SetTabs(); DBG_ASSERT(nTab<nTabCount,"GetTabPos:Invalid Tab"); - return ((SvLBoxTab*)aTabs.GetObject( nTab ))->GetPos(); + return aTabs[ nTab ]->GetPos(); } // class SvHeaderTabListBoxImpl ------------------------------------------ diff --git a/svtools/source/contnr/svtreebx.cxx b/svtools/source/contnr/svtreebx.cxx index d57f8b6225a6..fe513db90113 100644 --- a/svtools/source/contnr/svtreebx.cxx +++ b/svtools/source/contnr/svtreebx.cxx @@ -1255,10 +1255,10 @@ void SvTreeListBox::EditItemText( SvLBoxEntry* pEntry, SvLBoxString* pItem, aPos.X() = GetTabPos( pEntry, pTab ); long nOutputWidth = pImp->GetOutputSize().Width(); Size aSize( nOutputWidth - aPos.X(), aItemSize.Height() ); - sal_uInt16 nPos = aTabs.GetPos( pTab ); - if( nPos+1 < aTabs.Count() ) + sal_uInt16 nPos = std::find( aTabs.begin(), aTabs.end(), pTab ) - aTabs.begin(); + if( nPos+1 < (sal_uInt16)aTabs.size() ) { - SvLBoxTab* pRightTab = (SvLBoxTab*)aTabs.GetObject( nPos + 1 ); + SvLBoxTab* pRightTab = aTabs[ nPos + 1 ]; long nRight = GetTabPos( pEntry, pRightTab ); if( nRight <= nOutputWidth ) aSize.Width() = nRight - aPos.X(); @@ -1525,16 +1525,16 @@ long SvTreeListBox::PaintEntry1(SvLBoxEntry* pEntry,long nLine,sal_uInt16 nTabFl SvViewDataEntry* pViewDataEntry = GetViewDataEntry( pEntry ); - sal_uInt16 nTabCount = aTabs.Count(); + sal_uInt16 nTabCount = aTabs.size(); sal_uInt16 nItemCount = pEntry->ItemCount(); sal_uInt16 nCurTab = 0; sal_uInt16 nCurItem = 0; while( nCurTab < nTabCount && nCurItem < nItemCount ) { - SvLBoxTab* pTab = (SvLBoxTab*)aTabs.GetObject( nCurTab ); + SvLBoxTab* pTab = aTabs[ nCurTab ]; sal_uInt16 nNextTab = nCurTab + 1; - SvLBoxTab* pNextTab = nNextTab < nTabCount ? (SvLBoxTab*)aTabs.GetObject(nNextTab) : 0; + SvLBoxTab* pNextTab = nNextTab < nTabCount ? aTabs[nNextTab] : 0; SvLBoxItem* pItem = nCurItem < nItemCount ? pEntry->GetItem(nCurItem) : 0; sal_uInt16 nFlags = pTab->nFlags; @@ -1704,7 +1704,7 @@ long SvTreeListBox::PaintEntry1(SvLBoxEntry* pEntry,long nLine,sal_uInt16 nTabFl do { nNextTab++; - pNextTab = nNextTab < nTabCount ? (SvLBoxTab*)aTabs.GetObject(nNextTab) : 0; + pNextTab = nNextTab < nTabCount ? aTabs[nNextTab] : 0; } while( pNextTab && pNextTab->IsDynamic() ); if( !pNextTab || (GetTabPos( pEntry, pNextTab ) > nDynTabPos) ) @@ -1795,9 +1795,9 @@ Rectangle SvTreeListBox::GetFocusRect( SvLBoxEntry* pEntry, long nLine ) if( pTab ) nTabPos = GetTabPos( pEntry, pTab ); long nNextTabPos; - if( pTab && nCurTab < aTabs.Count() - 1 ) + if( pTab && nCurTab < aTabs.size() - 1 ) { - SvLBoxTab* pNextTab = (SvLBoxTab*)aTabs.GetObject( nCurTab + 1 ); + SvLBoxTab* pNextTab = aTabs[ nCurTab + 1 ]; nNextTabPos = GetTabPos( pEntry, pNextTab ); } else @@ -1835,8 +1835,8 @@ Rectangle SvTreeListBox::GetFocusRect( SvLBoxEntry* pEntry, long nLine ) sal_uInt16 nLastTab; SvLBoxTab* pLastTab = GetLastTab(SV_LBOXTAB_SHOW_SELECTION,nLastTab); nLastTab++; - if( nLastTab < aTabs.Count() ) // is there another one? - pLastTab = (SvLBoxTab*)aTabs.GetObject( nLastTab ); + if( nLastTab < aTabs.size() ) // is there another one? + pLastTab = aTabs[ nLastTab ]; else pLastTab = 0; // select whole width aSize.Width() = pLastTab ? pLastTab->GetPos() : 0x0fffffff; @@ -1892,9 +1892,9 @@ SvLBoxItem* SvTreeListBox::GetItem_Impl( SvLBoxEntry* pEntry, long nX, { DBG_CHKTHIS(SvTreeListBox,0); SvLBoxItem* pItemClicked = 0; - sal_uInt16 nTabCount = aTabs.Count(); + sal_uInt16 nTabCount = aTabs.size(); sal_uInt16 nItemCount = pEntry->ItemCount(); - SvLBoxTab* pTab = (SvLBoxTab*)aTabs.GetObject(0); + SvLBoxTab* pTab = aTabs.front(); SvLBoxItem* pItem = pEntry->GetItem(0); sal_uInt16 nNextItem = 1; nX -= GetMapMode().GetOrigin().X(); @@ -1903,7 +1903,7 @@ SvLBoxItem* SvTreeListBox::GetItem_Impl( SvLBoxEntry* pEntry, long nX, while( 1 ) { - SvLBoxTab* pNextTab=nNextItem<nTabCount ? (SvLBoxTab*)aTabs.GetObject(nNextItem) : 0; + SvLBoxTab* pNextTab=nNextItem<nTabCount ? aTabs[nNextItem] : 0; long nStart = GetTabPos( pEntry, pTab ); long nNextTabPos; @@ -1940,7 +1940,7 @@ SvLBoxItem* SvTreeListBox::GetItem_Impl( SvLBoxEntry* pEntry, long nX, } if( nNextItem >= nItemCount || nNextItem >= nTabCount) break; - pTab = (SvLBoxTab*)aTabs.GetObject( nNextItem ); + pTab = aTabs[ nNextItem ]; pItem = pEntry->GetItem( nNextItem ); nNextItem++; } @@ -1965,10 +1965,10 @@ void SvTreeListBox::AddTab(long nTabPos,sal_uInt16 nFlags,void* pUserData ) nFocusWidth = -1; SvLBoxTab* pTab = new SvLBoxTab( nTabPos, nFlags ); pTab->SetUserData( pUserData ); - aTabs.Insert( pTab, aTabs.Count() ); + aTabs.push_back( pTab ); if( nTreeFlags & TREEFLAG_USESEL ) { - sal_uInt16 nPos = aTabs.Count() - 1; + sal_uInt16 nPos = aTabs.size() - 1; if( nPos >= nFirstSelTab && nPos <= nLastSelTab ) pTab->nFlags |= SV_LBOXTAB_SHOW_SELECTION; else @@ -1984,10 +1984,10 @@ SvLBoxTab* SvTreeListBox::GetFirstDynamicTab( sal_uInt16& rPos ) const { DBG_CHKTHIS(SvTreeListBox,0); sal_uInt16 nCurTab = 0; - sal_uInt16 nTabCount = aTabs.Count(); + sal_uInt16 nTabCount = aTabs.size(); while( nCurTab < nTabCount ) { - SvLBoxTab* pTab = (SvLBoxTab*)aTabs.GetObject(nCurTab); + SvLBoxTab* pTab = aTabs[nCurTab]; if( pTab->nFlags & SV_LBOXTAB_DYNAMIC ) { rPos = nCurTab; @@ -2008,20 +2008,20 @@ SvLBoxTab* SvTreeListBox::GetTab( SvLBoxEntry* pEntry, SvLBoxItem* pItem) const { DBG_CHKTHIS(SvTreeListBox,0); sal_uInt16 nPos = pEntry->GetPos( pItem ); - return (SvLBoxTab*)aTabs.GetObject( nPos ); + return aTabs[ nPos ]; } void SvTreeListBox::ClearTabList() { DBG_CHKTHIS(SvTreeListBox,0); - sal_uInt16 nTabCount = aTabs.Count(); + sal_uInt16 nTabCount = aTabs.size(); while( nTabCount ) { nTabCount--; - SvLBoxTab* pDelTab = (SvLBoxTab*)aTabs.GetObject( nTabCount ); + SvLBoxTab* pDelTab = aTabs[ nTabCount ]; delete pDelTab; } - aTabs.Remove(0,aTabs.Count()); + aTabs.clear(); } @@ -2154,10 +2154,10 @@ void SvTreeListBox::RemoveParentKeepChildren( SvLBoxEntry* pParent ) SvLBoxTab* SvTreeListBox::GetFirstTab( sal_uInt16 nFlagMask, sal_uInt16& rPos ) { - sal_uInt16 nTabCount = aTabs.Count(); + sal_uInt16 nTabCount = aTabs.size(); for( sal_uInt16 nPos = 0; nPos < nTabCount; nPos++ ) { - SvLBoxTab* pTab = (SvLBoxTab*)aTabs.GetObject( nPos ); + SvLBoxTab* pTab = aTabs[ nPos ]; if( (pTab->nFlags & nFlagMask) ) { rPos = nPos; @@ -2170,17 +2170,15 @@ SvLBoxTab* SvTreeListBox::GetFirstTab( sal_uInt16 nFlagMask, sal_uInt16& rPos ) SvLBoxTab* SvTreeListBox::GetLastTab( sal_uInt16 nFlagMask, sal_uInt16& rTabPos ) { - short nTabCount = (short)aTabs.Count(); - if( nTabCount ) + sal_uInt16 nPos = (sal_uInt16)aTabs.size(); + while( nPos ) { - for( short nPos = nTabCount-1; nPos >= 0; nPos-- ) + --nPos; + SvLBoxTab* pTab = aTabs[ nPos ]; + if( (pTab->nFlags & nFlagMask) ) { - SvLBoxTab* pTab = (SvLBoxTab*)aTabs.GetObject( (sal_uInt16)nPos ); - if( (pTab->nFlags & nFlagMask) ) - { - rTabPos = (sal_uInt16)nPos; - return pTab; - } + rTabPos = nPos; + return pTab; } } rTabPos = 0xffff; |