[Libreoffice-commits] .: svtools/inc svtools/source
Joseph Powers
jpowers at kemper.freedesktop.org
Sun Feb 20 20:17:22 PST 2011
svtools/inc/tabbar.hxx | 14 +-
svtools/source/control/tabbar.cxx | 251 +++++++++++++++++++-------------------
2 files changed, 143 insertions(+), 122 deletions(-)
New commits:
commit 39177ec1604298ee68f1c953326629a8fb71838c
Author: Joseph Powers <jpowers27 at cox.net>
Date: Sun Feb 20 20:16:10 2011 -0800
Remove DECLARE_LIST( ImplTabBarList, ImplTabBarItem* )
diff --git a/svtools/inc/tabbar.hxx b/svtools/inc/tabbar.hxx
index f676c11..14115b6 100644
--- a/svtools/inc/tabbar.hxx
+++ b/svtools/inc/tabbar.hxx
@@ -2,7 +2,7 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@ -32,15 +32,18 @@
#include "svtools/svtdllapi.h"
#include <tools/link.hxx>
#include <vcl/window.hxx>
+#include <vector>
class MouseEvent;
class TrackingEvent;
class DataChangedEvent;
-class ImplTabBarList;
class ImplTabButton;
class ImplTabSizer;
class TabBarEdit;
+struct ImplTabBarItem;
+typedef ::std::vector< ImplTabBarItem* > ImplTabBarList;
+
// -----------------
// - Dokumentation -
// -----------------
@@ -383,6 +386,7 @@ private:
Link maStartRenamingHdl;
Link maAllowRenamingHdl;
Link maEndRenamingHdl;
+ size_t maCurrentItemList;
using Window::ImplInit;
SVT_DLLPRIVATE void ImplInit( WinBits nWinStyle );
@@ -399,10 +403,14 @@ private:
SVT_DLLPRIVATE void ImplActivatePage();
SVT_DLLPRIVATE long ImplDeactivatePage();
SVT_DLLPRIVATE void ImplPrePaint();
- SVT_DLLPRIVATE ImplTabBarItem* ImplGetLastTabBarItem( USHORT nItemCount ) const;
+ SVT_DLLPRIVATE ImplTabBarItem* ImplGetLastTabBarItem( USHORT nItemCount );
SVT_DLLPRIVATE Rectangle ImplGetInsertTabRect(ImplTabBarItem* pItem) const;
DECL_DLLPRIVATE_LINK( ImplClickHdl, ImplTabButton* );
+ ImplTabBarItem* seek( size_t i );
+ ImplTabBarItem* prev();
+ ImplTabBarItem* next();
+
public:
static const sal_uInt16 APPEND;
static const sal_uInt16 PAGE_NOT_FOUND;
diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx
index 5e61f67..75c02af 100644
--- a/svtools/source/control/tabbar.cxx
+++ b/svtools/source/control/tabbar.cxx
@@ -2,7 +2,7 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@ -102,8 +102,6 @@ struct ImplTabBarItem
}
};
-DECLARE_LIST( ImplTabBarList, ImplTabBarItem* )
-
// =======================================================================
// -----------------
@@ -427,6 +425,7 @@ TabBar::TabBar( Window* pParent, WinBits nWinStyle ) :
Window( pParent, (nWinStyle & WB_3DLOOK) | WB_CLIPCHILDREN )
{
ImplInit( nWinStyle );
+ maCurrentItemList = 0;
}
// -----------------------------------------------------------------------
@@ -446,16 +445,37 @@ TabBar::~TabBar()
delete mpLastBtn;
delete mpImpl;
- // Alle Items loeschen
- ImplTabBarItem* pItem = mpItemList->First();
- while ( pItem )
+ for ( size_t i = 0, n = mpItemList->size(); i < n; ++i ) {
+ delete (*mpItemList)[ i ];
+ }
+ delete mpItemList;
+}
+
+// -----------------------------------------------------------------------
+ImplTabBarItem* TabBar::seek( size_t i )
+{
+ if ( i < mpItemList->size() )
{
- delete pItem;
- pItem = mpItemList->Next();
+ maCurrentItemList = i;
+ return (*mpItemList)[ maCurrentItemList ];
}
+ return NULL;
+}
- // Itemlist loeschen
- delete mpItemList;
+ImplTabBarItem* TabBar::prev()
+{
+ if ( maCurrentItemList > 0 ) {
+ return (*mpItemList)[ --maCurrentItemList ];
+ }
+ return NULL;
+}
+
+ImplTabBarItem* TabBar::next()
+{
+ if ( maCurrentItemList+1 < mpItemList->size() ) {
+ return (*mpItemList)[ ++maCurrentItemList ];
+ }
+ return NULL;
}
// -----------------------------------------------------------------------
@@ -563,9 +583,9 @@ BOOL TabBar::ImplCalcWidth()
mnCurMaxWidth = 0;
BOOL bChanged = FALSE;
- ImplTabBarItem* pItem = mpItemList->First();
- while ( pItem )
+ for ( size_t i = 0, n = mpItemList->size(); i < n; ++i )
{
+ ImplTabBarItem* pItem = (*mpItemList)[ i ];
long nNewWidth = GetTextWidth( pItem->maText );
if ( mnCurMaxWidth && (nNewWidth > mnCurMaxWidth) )
{
@@ -581,7 +601,6 @@ BOOL TabBar::ImplCalcWidth()
if ( !pItem->maRect.IsEmpty() )
bChanged = TRUE;
}
- pItem = mpItemList->Next();
}
mbSizeFormat = FALSE;
mbFormat = TRUE;
@@ -599,9 +618,9 @@ void TabBar::ImplFormat()
USHORT n = 0;
long x = mnOffX;
- ImplTabBarItem* pItem = mpItemList->First();
- while ( pItem )
+ for ( size_t i = 0, nL = mpItemList->size(); i < nL; ++i )
{
+ ImplTabBarItem* pItem = (*mpItemList)[ i ];
// Bei allen nicht sichtbaren Tabs, wird ein leeres Rechteck
// gesetzt
if ( (n+1 < mnFirstPos) || (x > mnLastOffX) )
@@ -629,7 +648,6 @@ void TabBar::ImplFormat()
}
n++;
- pItem = mpItemList->Next();
}
mbFormat = FALSE;
@@ -642,19 +660,19 @@ void TabBar::ImplFormat()
USHORT TabBar::ImplGetLastFirstPos()
{
- USHORT nCount = (USHORT)(mpItemList->Count());
+ USHORT nCount = (USHORT)(mpItemList->size());
if ( !nCount || mbSizeFormat || mbFormat )
return 0;
USHORT nLastFirstPos = nCount-1;
long nWinWidth = mnLastOffX-mnOffX-TABBAR_OFFSET_X-ADDNEWPAGE_AREAWIDTH;
- long nWidth = mpItemList->GetObject( nLastFirstPos )->mnWidth;
+ long nWidth = (*mpItemList)[ nLastFirstPos ]->mnWidth;
while ( nLastFirstPos && (nWidth < nWinWidth) )
{
nLastFirstPos--;
- nWidth += mpItemList->GetObject( nLastFirstPos )->mnWidth;
+ nWidth += (*mpItemList)[ nLastFirstPos ]->mnWidth;
}
- if ( (nLastFirstPos != (USHORT)(mpItemList->Count()-1)) &&
+ if ( (nLastFirstPos != (USHORT)(mpItemList->size()-1)) &&
(nWidth > nWinWidth) )
nLastFirstPos++;
return nLastFirstPos;
@@ -757,7 +775,7 @@ void TabBar::ImplShowPage( USHORT nPos )
long nWidth = GetOutputSizePixel().Width();
if ( nWidth >= TABBAR_OFFSET_X )
nWidth -= TABBAR_OFFSET_X;
- ImplTabBarItem* pItem = mpItemList->GetObject( nPos );
+ ImplTabBarItem* pItem = (*mpItemList)[ nPos ];
if ( nPos < mnFirstPos )
SetFirstPageId( pItem->mnId );
else if ( pItem->maRect.Right() > nWidth )
@@ -837,7 +855,7 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
if ( (nSelId > 0) && (nSelId != mnCurPageId) )
{
USHORT nPos = GetPagePos( nSelId );
- pItem = mpItemList->GetObject( nPos );
+ pItem = (*mpItemList)[ nPos ];
if ( pItem->mbEnable )
{
@@ -866,7 +884,7 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
{
USHORT nPos = GetPagePos( nSelId );
BOOL bSelectTab = FALSE;
- pItem = mpItemList->GetObject( nPos );
+ pItem = (*mpItemList)[ nPos ];
if ( pItem->mbEnable )
{
@@ -892,7 +910,7 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
n = 0;
while ( n < nCurPos )
{
- pItem = mpItemList->GetObject( n );
+ pItem = (*mpItemList)[ n ];
if ( n < nPos )
bSelect = FALSE;
else
@@ -914,11 +932,11 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
// Alle Tabs von der aktuellen bis zur angeklickten
// Tab selektieren und alle Tabs von der angeklickten
// Tab bis zur letzten Tab deselektieren
- USHORT nCount = (USHORT)mpItemList->Count();
+ USHORT nCount = (USHORT)mpItemList->size();
n = nCurPos;
while ( n < nCount )
{
- pItem = mpItemList->GetObject( n );
+ pItem = (*mpItemList)[ n ];
if ( n <= nPos )
bSelect = TRUE;
@@ -976,7 +994,7 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
if ( nSelId != mnCurPageId )
{
USHORT nPos = GetPagePos( nSelId );
- pItem = mpItemList->GetObject( nPos );
+ pItem = (*mpItemList)[ nPos ];
if ( pItem->mbEnable )
{
@@ -988,17 +1006,15 @@ void TabBar::MouseButtonDown( const MouseEvent& rMEvt )
bUpdate = TRUE;
// Alle selektierten Items deselektieren
- pItem = mpItemList->First();
- while ( pItem )
+ for ( size_t i = 0, n = mpItemList->size(); i < n; ++i )
{
+ pItem = (*mpItemList)[ i ];
if ( pItem->mbSelect || (pItem->mnId == mnCurPageId) )
{
pItem->mbSelect = FALSE;
if ( bUpdate )
Invalidate( pItem->maRect );
}
-
- pItem = mpItemList->Next();
}
}
@@ -1307,7 +1323,7 @@ private:
void TabBar::Paint( const Rectangle& )
{
// Items berechnen und ausgeben
- USHORT nItemCount = (USHORT)mpItemList->Count();
+ USHORT nItemCount = (USHORT)mpItemList->size();
if (!nItemCount)
return;
@@ -1348,7 +1364,7 @@ void TabBar::Paint( const Rectangle& )
if ( !pCurItem && (pItem->mnId == mnCurPageId) )
{
pCurItem = pItem;
- pItem = mpItemList->Prev();
+ pItem = prev();
if ( !pItem )
pItem = pCurItem;
continue;
@@ -1404,7 +1420,7 @@ void TabBar::Paint( const Rectangle& )
return;
}
- pItem = mpItemList->Prev();
+ pItem = prev();
}
else
{
@@ -1539,7 +1555,7 @@ void TabBar::RequestHelp( const HelpEvent& rHEvt )
if ( rHEvt.GetMode() & (HELPMODE_QUICK | HELPMODE_BALLOON) )
{
USHORT nPos = GetPagePos( nItemId );
- ImplTabBarItem* pItem = mpItemList->GetObject( nPos );
+ ImplTabBarItem* pItem = (*mpItemList)[ nPos ];
if ( pItem->mbShort ||
(pItem->maRect.Right()-TABBAR_OFFSET_X-5 > mnLastOffX) )
{
@@ -1550,7 +1566,7 @@ void TabBar::RequestHelp( const HelpEvent& rHEvt )
aPt = OutputToScreenPixel( aItemRect.BottomRight() );
aItemRect.Right() = aPt.X();
aItemRect.Bottom() = aPt.Y();
- XubString aStr = mpItemList->GetObject( nPos )->maText;
+ XubString aStr = (*mpItemList)[ nPos ]->maText;
if ( aStr.Len() )
{
if ( rHEvt.GetMode() & HELPMODE_BALLOON )
@@ -1574,7 +1590,7 @@ void TabBar::StateChanged( StateChangedType nType )
if ( nType == STATE_CHANGE_INITSHOW )
{
- if ( (mbSizeFormat || mbFormat) && mpItemList->Count() )
+ if ( (mbSizeFormat || mbFormat) && !mpItemList->empty() )
ImplFormat();
}
else if ( (nType == STATE_CHANGE_ZOOM) ||
@@ -1677,7 +1693,7 @@ long TabBar::ImplDeactivatePage()
void TabBar::ImplPrePaint()
{
- USHORT nItemCount = (USHORT)mpItemList->Count();
+ USHORT nItemCount = (USHORT)mpItemList->size();
if (!nItemCount)
return;
@@ -1694,7 +1710,7 @@ void TabBar::ImplPrePaint()
if ( mnCurPageId && (mnFirstPos == 0) && !mbDropPos )
{
- pItem = mpItemList->GetObject( GetPagePos( mnCurPageId ) );
+ pItem = (*mpItemList)[ GetPagePos( mnCurPageId ) ];
if ( pItem->maRect.IsEmpty() )
{
// mbDropPos setzen (bzw. misbrauchen) um Invalidate()
@@ -1709,19 +1725,19 @@ void TabBar::ImplPrePaint()
}
}
-ImplTabBarItem* TabBar::ImplGetLastTabBarItem(USHORT nItemCount) const
+ImplTabBarItem* TabBar::ImplGetLastTabBarItem( USHORT nItemCount )
{
// letzten sichtbaren Eintrag suchen
USHORT n = mnFirstPos+1;
if ( n >= nItemCount )
n = nItemCount-1;
- ImplTabBarItem* pItem = mpItemList->Seek( n );
+ ImplTabBarItem* pItem = seek( n );
while ( pItem )
{
if ( !pItem->maRect.IsEmpty() )
{
n++;
- pItem = mpItemList->Next();
+ pItem = next();
}
else
break;
@@ -1732,7 +1748,7 @@ ImplTabBarItem* TabBar::ImplGetLastTabBarItem(USHORT nItemCount) const
n--;
else if ( n >= nItemCount )
n = nItemCount-1;
- pItem = mpItemList->Seek( n );
+ pItem = seek( n );
return pItem;
}
@@ -1805,7 +1821,13 @@ void TabBar::InsertPage( USHORT nPageId, const XubString& rText,
// PageItem anlegen und in die Item-Liste eintragen
ImplTabBarItem* pItem = new ImplTabBarItem( nPageId, rText, nBits );
- mpItemList->Insert( pItem, nPos );
+ if ( nPos < mpItemList->size() ) {
+ ImplTabBarList::iterator it = mpItemList->begin();
+ ::std::advance( it, nPos );
+ mpItemList->insert( it, pItem );
+ } else {
+ mpItemList->push_back( pItem );
+ }
mbSizeFormat = TRUE;
// CurPageId gegebenenfalls setzen
@@ -1826,7 +1848,7 @@ Color TabBar::GetTabBgColor( USHORT nPageId ) const
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
- return mpItemList->GetObject( nPos )->maTabBgColor;
+ return (*mpItemList)[ nPos ]->maTabBgColor;
else
return Color( COL_AUTO );
}
@@ -1837,7 +1859,7 @@ void TabBar::SetTabBgColor( USHORT nPageId, const Color& aTabBgColor )
ImplTabBarItem* pItem;
if ( nPos != PAGE_NOT_FOUND )
{
- pItem = mpItemList->GetObject( nPos );
+ pItem = (*mpItemList)[ nPos ];
if ( aTabBgColor != Color( COL_AUTO ) )
{
pItem->maTabBgColor = aTabBgColor;
@@ -1871,7 +1893,10 @@ void TabBar::RemovePage( USHORT nPageId )
mnFirstPos--;
// Item-Daten loeschen
- delete mpItemList->Remove( nPos );
+ ImplTabBarList::iterator it = mpItemList->begin();
+ ::std::advance( it, nPos );
+ delete *it;
+ mpItemList->erase( it );
mbFormat = TRUE;
// Leiste neu ausgeben
@@ -1899,8 +1924,17 @@ void TabBar::MovePage( USHORT nPageId, USHORT nNewPos )
if ( nPos != PAGE_NOT_FOUND )
{
// TabBar-Item in der Liste verschieben
- ImplTabBarItem* pItem = mpItemList->Remove( nPos );
- mpItemList->Insert( pItem, nNewPos );
+ ImplTabBarList::iterator it = mpItemList->begin();
+ ::std::advance( it, nPos );
+ ImplTabBarItem* pItem = *it;
+ mpItemList->erase( it );
+ if ( nNewPos < mpItemList->size() ) {
+ it = mpItemList->begin();
+ ::std::advance( it, nNewPos );
+ mpItemList->insert( it, pItem );
+ } else {
+ mpItemList->push_back( pItem );
+ }
mbFormat = TRUE;
// Leiste neu ausgeben
@@ -1916,19 +1950,16 @@ void TabBar::MovePage( USHORT nPageId, USHORT nNewPos )
void TabBar::Clear()
{
// Alle Items loeschen
- ImplTabBarItem* pItem = mpItemList->First();
- while ( pItem )
- {
- // Item-Daten loeschen
- delete pItem;
- pItem = mpItemList->Next();
+ for ( size_t i = 0, n = mpItemList->size(); i < n; ++i ) {
+ delete (*mpItemList)[ i ];
}
+ mpItemList->clear();
// Items aus der Liste loeschen
- mpItemList->Clear();
mbSizeFormat = TRUE;
mnCurPageId = 0;
mnFirstPos = 0;
+ maCurrentItemList = 0;
// Leiste neu ausgeben
if ( IsReallyVisible() && IsUpdateMode() )
@@ -1945,7 +1976,7 @@ void TabBar::EnablePage( USHORT nPageId, BOOL bEnable )
if ( nPos != PAGE_NOT_FOUND )
{
- ImplTabBarItem* pItem = mpItemList->GetObject( nPos );
+ ImplTabBarItem* pItem = (*mpItemList)[ nPos ];
if ( pItem->mbEnable != bEnable )
{
@@ -1967,7 +1998,7 @@ BOOL TabBar::IsPageEnabled( USHORT nPageId ) const
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
- return mpItemList->GetObject( nPos )->mbEnable;
+ return (*mpItemList)[ nPos ]->mbEnable;
else
return FALSE;
}
@@ -1980,7 +2011,7 @@ void TabBar::SetPageBits( USHORT nPageId, TabBarPageBits nBits )
if ( nPos != PAGE_NOT_FOUND )
{
- ImplTabBarItem* pItem = mpItemList->GetObject( nPos );
+ ImplTabBarItem* pItem = (*mpItemList)[ nPos ];
if ( pItem->mnBits != nBits )
{
@@ -2000,7 +2031,7 @@ TabBarPageBits TabBar::GetPageBits( USHORT nPageId ) const
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
- return mpItemList->GetObject( nPos )->mnBits;
+ return (*mpItemList)[ nPos ]->mnBits;
else
return FALSE;
}
@@ -2009,33 +2040,25 @@ TabBarPageBits TabBar::GetPageBits( USHORT nPageId ) const
USHORT TabBar::GetPageCount() const
{
- return (USHORT)mpItemList->Count();
+ return (USHORT)mpItemList->size();
}
// -----------------------------------------------------------------------
USHORT TabBar::GetPageId( USHORT nPos ) const
{
- ImplTabBarItem* pItem = mpItemList->GetObject( nPos );
- if ( pItem )
- return pItem->mnId;
- else
- return 0;
+ return ( nPos < mpItemList->size() ) ? (*mpItemList)[ nPos ]->mnId : 0;
}
// -----------------------------------------------------------------------
USHORT TabBar::GetPagePos( USHORT nPageId ) const
{
- ImplTabBarItem* pItem = mpItemList->First();
- while ( pItem )
- {
- if ( pItem->mnId == nPageId )
- return (USHORT)mpItemList->GetCurPos();
-
- pItem = mpItemList->Next();
+ for ( size_t i = 0, n = mpItemList->size(); i < n; ++i ) {
+ if ( (*mpItemList)[ i ]->mnId == nPageId ) {
+ return USHORT( i );
+ }
}
-
return PAGE_NOT_FOUND;
}
@@ -2043,23 +2066,18 @@ USHORT TabBar::GetPagePos( USHORT nPageId ) const
sal_uInt16 TabBar::GetPageId( const Point& rPos, bool bCheckInsTab ) const
{
- ImplTabBarItem* pItem = mpItemList->First();
- while ( pItem )
+ for ( size_t i = 0, n = mpItemList->size(); i < n; ++i )
{
+ ImplTabBarItem* pItem = (*mpItemList)[ i ];
if ( pItem->maRect.IsInside( rPos ) )
return pItem->mnId;
-
- pItem = mpItemList->Next();
}
- if (bCheckInsTab && mbHasInsertTab)
+ if (bCheckInsTab && mbHasInsertTab && !mpItemList->empty())
{
- pItem = mpItemList->Last();
- if (pItem)
- {
- if (ImplGetInsertTabRect(pItem).IsInside(rPos))
- return INSERT_TAB_POS;
- }
+ ImplTabBarItem* pItem = mpItemList->back();
+ if (ImplGetInsertTabRect(pItem).IsInside(rPos))
+ return INSERT_TAB_POS;
}
return 0;
@@ -2072,7 +2090,7 @@ Rectangle TabBar::GetPageRect( USHORT nPageId ) const
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
- return mpItemList->GetObject( nPos )->maRect;
+ return (*mpItemList)[ nPos ]->maRect;
else
return Rectangle();
}
@@ -2096,11 +2114,11 @@ void TabBar::SetCurPageId( USHORT nPageId )
if ( IsReallyVisible() && IsUpdateMode() )
bUpdate = TRUE;
- ImplTabBarItem* pItem = mpItemList->GetObject( nPos );
+ ImplTabBarItem* pItem = (*mpItemList)[ nPos ];
ImplTabBarItem* pOldItem;
if ( mnCurPageId )
- pOldItem = mpItemList->GetObject( GetPagePos( mnCurPageId ) );
+ pOldItem = (*mpItemList)[ GetPagePos( mnCurPageId ) ];
else
pOldItem = NULL;
@@ -2182,7 +2200,7 @@ void TabBar::MakeVisible( USHORT nPageId )
SetFirstPageId( nPageId );
else
{
- ImplTabBarItem* pItem = mpItemList->GetObject( nPos );
+ ImplTabBarItem* pItem = (*mpItemList)[ nPos ];
// sichtbare Breite berechnen
long nWidth = mnLastOffX;
@@ -2261,7 +2279,7 @@ void TabBar::SelectPage( USHORT nPageId, BOOL bSelect )
if ( nPos != PAGE_NOT_FOUND )
{
- ImplTabBarItem* pItem = mpItemList->GetObject( nPos );
+ ImplTabBarItem* pItem = (*mpItemList)[ nPos ];
if ( pItem->mbSelect != bSelect )
{
@@ -2280,7 +2298,7 @@ void TabBar::SelectPageRange( BOOL bSelect, USHORT nStartPos, USHORT nEndPos )
{
Rectangle aPaintRect;
USHORT nPos = nStartPos;
- ImplTabBarItem* pItem = mpItemList->Seek( nPos );
+ ImplTabBarItem* pItem = seek( nPos );
while ( pItem && (nPos <= nEndPos) )
{
if ( (pItem->mbSelect != bSelect) && (pItem->mnId != mnCurPageId) )
@@ -2290,7 +2308,7 @@ void TabBar::SelectPageRange( BOOL bSelect, USHORT nStartPos, USHORT nEndPos )
}
nPos++;
- pItem = mpItemList->Next();
+ pItem = next();
}
// Leiste neu ausgeben
@@ -2303,16 +2321,14 @@ void TabBar::SelectPageRange( BOOL bSelect, USHORT nStartPos, USHORT nEndPos )
USHORT TabBar::GetSelectPage( USHORT nSelIndex ) const
{
USHORT nSelected = 0;
- ImplTabBarItem* pItem = mpItemList->First();
- while ( pItem )
+ for ( size_t i = 0, n = mpItemList->size(); i < n; ++i )
{
+ ImplTabBarItem* pItem = (*mpItemList)[ i ];
if ( pItem->mbSelect )
nSelected++;
if ( nSelected == nSelIndex )
return pItem->mnId;
-
- pItem = mpItemList->Next();
}
return 0;
@@ -2323,13 +2339,11 @@ USHORT TabBar::GetSelectPage( USHORT nSelIndex ) const
USHORT TabBar::GetSelectPageCount() const
{
USHORT nSelected = 0;
- ImplTabBarItem* pItem = mpItemList->First();
- while ( pItem )
+ for ( size_t i = 0, n = mpItemList->size(); i < n; ++i )
{
+ ImplTabBarItem* pItem = (*mpItemList)[ i ];
if ( pItem->mbSelect )
nSelected++;
-
- pItem = mpItemList->Next();
}
return nSelected;
@@ -2341,7 +2355,7 @@ BOOL TabBar::IsPageSelected( USHORT nPageId ) const
{
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
- return mpItemList->GetObject( nPos )->mbSelect;
+ return (*mpItemList)[ nPos ]->mbSelect;
else
return FALSE;
}
@@ -2574,7 +2588,7 @@ void TabBar::SetPageText( USHORT nPageId, const XubString& rText )
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
{
- mpItemList->GetObject( nPos )->maText = rText;
+ (*mpItemList)[ nPos ]->maText = rText;
mbSizeFormat = TRUE;
// Leiste neu ausgeben
@@ -2591,7 +2605,7 @@ XubString TabBar::GetPageText( USHORT nPageId ) const
{
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
- return mpItemList->GetObject( nPos )->maText;
+ return (*mpItemList)[ nPos ]->maText;
else
return XubString();
}
@@ -2602,7 +2616,7 @@ void TabBar::SetHelpText( USHORT nPageId, const XubString& rText )
{
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
- mpItemList->GetObject( nPos )->maHelpText = rText;
+ (*mpItemList)[ nPos ]->maHelpText = rText;
}
// -----------------------------------------------------------------------
@@ -2612,7 +2626,7 @@ XubString TabBar::GetHelpText( USHORT nPageId ) const
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
{
- ImplTabBarItem* pItem = mpItemList->GetObject( nPos );
+ ImplTabBarItem* pItem = (*mpItemList)[ nPos ];
if ( !pItem->maHelpText.Len() && pItem->mnHelpId )
{
Help* pHelp = Application::GetHelp();
@@ -2632,7 +2646,7 @@ void TabBar::SetHelpId( USHORT nPageId, ULONG nHelpId )
{
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
- mpItemList->GetObject( nPos )->mnHelpId = nHelpId;
+ (*mpItemList)[ nPos ]->mnHelpId = nHelpId;
}
// -----------------------------------------------------------------------
@@ -2641,7 +2655,7 @@ ULONG TabBar::GetHelpId( USHORT nPageId ) const
{
USHORT nPos = GetPagePos( nPageId );
if ( nPos != PAGE_NOT_FOUND )
- return mpItemList->GetObject( nPos )->mnHelpId;
+ return (*mpItemList)[ nPos ]->mnHelpId;
else
return 0;
}
@@ -2711,14 +2725,14 @@ USHORT TabBar::ShowDropPos( const Point& rPos )
ImplTabBarItem* pItem;
USHORT nDropId;
USHORT nNewDropPos;
- USHORT nItemCount = (USHORT)mpItemList->Count();
+ USHORT nItemCount = (USHORT)mpItemList->size();
short nScroll = 0;
if ( rPos.X() > mnLastOffX-TABBAR_DRAG_SCROLLOFF )
{
- pItem = mpItemList->GetObject( mpItemList->Count()-1 );
+ pItem = (*mpItemList)[ mpItemList->size()-1 ];
if ( !pItem->maRect.IsEmpty() && (rPos.X() > pItem->maRect.Right()) )
- nNewDropPos = (USHORT)mpItemList->Count();
+ nNewDropPos = (USHORT)mpItemList->size();
else
{
nNewDropPos = mnFirstPos+1;
@@ -2781,7 +2795,7 @@ USHORT TabBar::ShowDropPos( const Point& rPos )
SetLineColor( aBlackColor );
if ( mnDropPos < nItemCount )
{
- pItem = mpItemList->GetObject( mnDropPos );
+ pItem = (*mpItemList)[ mnDropPos ];
nX = pItem->maRect.Left()+TABBAR_OFFSET_X;
if ( mnDropPos == nCurPos )
nX--;
@@ -2796,7 +2810,7 @@ USHORT TabBar::ShowDropPos( const Point& rPos )
}
if ( (mnDropPos > 0) && (mnDropPos < nItemCount+1) )
{
- pItem = mpItemList->GetObject( mnDropPos-1 );
+ pItem = (*mpItemList)[ mnDropPos-1 ];
nX = pItem->maRect.Right()-TABBAR_OFFSET_X;
if ( mnDropPos == nCurPos )
nX++;
@@ -2820,11 +2834,11 @@ void TabBar::HideDropPos()
long nX;
long nY1 = (maWinSize.Height()/2)-3;
long nY2 = nY1 + 5;
- USHORT nItemCount = (USHORT)mpItemList->Count();
+ USHORT nItemCount = (USHORT)mpItemList->size();
if ( mnDropPos < nItemCount )
{
- pItem = mpItemList->GetObject( mnDropPos );
+ pItem = (*mpItemList)[ mnDropPos ];
nX = pItem->maRect.Left()+TABBAR_OFFSET_X;
// Paint direkt aufrufen, da bei Drag and Drop kein Paint
// moeglich
@@ -2836,7 +2850,7 @@ void TabBar::HideDropPos()
}
if ( (mnDropPos > 0) && (mnDropPos < nItemCount+1) )
{
- pItem = mpItemList->GetObject( mnDropPos-1 );
+ pItem = (*mpItemList)[ mnDropPos-1 ];
nX = pItem->maRect.Right()-TABBAR_OFFSET_X;
// Paint direkt aufrufen, da bei Drag and Drop kein Paint
// moeglich
@@ -2917,14 +2931,13 @@ Size TabBar::CalcWindowSizePixel() const
{
long nWidth = 0;
- if ( mpItemList->Count() )
+ if ( mpItemList->size() )
{
((TabBar*)this)->ImplCalcWidth();
- ImplTabBarItem* pItem = mpItemList->First();
- while ( pItem )
+ for ( size_t i = 0, n = mpItemList->size(); i < n; ++i )
{
+ ImplTabBarItem* pItem = (*mpItemList)[ i ];
nWidth += pItem->mnWidth;
- pItem = mpItemList->Next();
}
nWidth += TABBAR_OFFSET_X+TABBAR_OFFSET_X2;
}
More information about the Libreoffice-commits
mailing list