Kaydet (Commit) bd24a310 authored tarafından Joseph Powers's avatar Joseph Powers

Remove DECLARE_LIST( ImplHeadItemList, ImplHeadItem* )

üst 5b42e9d7
...@@ -187,7 +187,9 @@ nicht HIB_CLICKABLE setzen und dafuer HIB_FIXEDPOS. ...@@ -187,7 +187,9 @@ nicht HIB_CLICKABLE setzen und dafuer HIB_FIXEDPOS.
*************************************************************************/ *************************************************************************/
class Accelerator; class Accelerator;
class ImplHeadItemList; class ImplHeadItem;
typedef ::std::vector< ImplHeadItem* > ImplHeadItemList;
// ----------- // -----------
// - WinBits - // - WinBits -
......
...@@ -54,8 +54,6 @@ struct ImplHeadItem ...@@ -54,8 +54,6 @@ struct ImplHeadItem
void* mpUserData; void* mpUserData;
}; };
DECLARE_LIST( ImplHeadItemList, ImplHeadItem* )
// ======================================================================= // =======================================================================
#define HEAD_ARROWSIZE1 4 #define HEAD_ARROWSIZE1 4
...@@ -137,13 +135,10 @@ HeaderBar::HeaderBar( Window* pParent, const ResId& rResId ) : ...@@ -137,13 +135,10 @@ HeaderBar::HeaderBar( Window* pParent, const ResId& rResId ) :
HeaderBar::~HeaderBar() HeaderBar::~HeaderBar()
{ {
// Alle Items loeschen // Alle Items loeschen
ImplHeadItem* pItem = mpItemList->First(); for ( size_t i = 0, n = mpItemList->size(); i < n; ++i ) {
while ( pItem ) delete (*mpItemList)[ i ];
{
delete pItem;
pItem = mpItemList->Next();
} }
mpItemList->clear();
delete mpItemList; delete mpItemList;
} }
...@@ -190,8 +185,8 @@ void HeaderBar::ImplInitSettings( BOOL bFont, ...@@ -190,8 +185,8 @@ void HeaderBar::ImplInitSettings( BOOL bFont,
long HeaderBar::ImplGetItemPos( USHORT nPos ) const long HeaderBar::ImplGetItemPos( USHORT nPos ) const
{ {
long nX = -mnOffset; long nX = -mnOffset;
for ( USHORT i = 0; i < nPos; i++ ) for ( size_t i = 0; i < nPos; i++ )
nX += mpItemList->GetObject( i )->mnSize; nX += (*mpItemList)[ i ]->mnSize;
return nX; return nX;
} }
...@@ -200,7 +195,7 @@ long HeaderBar::ImplGetItemPos( USHORT nPos ) const ...@@ -200,7 +195,7 @@ long HeaderBar::ImplGetItemPos( USHORT nPos ) const
Rectangle HeaderBar::ImplGetItemRect( USHORT nPos ) const Rectangle HeaderBar::ImplGetItemRect( USHORT nPos ) const
{ {
Rectangle aRect( ImplGetItemPos( nPos ), 0, 0, mnDY-1 ); Rectangle aRect( ImplGetItemPos( nPos ), 0, 0, mnDY-1 );
aRect.Right() = aRect.Left() + mpItemList->GetObject( nPos )->mnSize - 1; aRect.Right() = aRect.Left() + (*mpItemList)[ nPos ]->mnSize - 1;
// Gegen Ueberlauf auf einigen Systemen testen // Gegen Ueberlauf auf einigen Systemen testen
if ( aRect.Right() > 16000 ) if ( aRect.Right() > 16000 )
aRect.Right() = 16000; aRect.Right() = 16000;
...@@ -213,13 +208,13 @@ USHORT HeaderBar::ImplHitTest( const Point& rPos, ...@@ -213,13 +208,13 @@ USHORT HeaderBar::ImplHitTest( const Point& rPos,
long& nMouseOff, USHORT& nPos ) const long& nMouseOff, USHORT& nPos ) const
{ {
ImplHeadItem* pItem; ImplHeadItem* pItem;
USHORT nCount = (USHORT)mpItemList->Count(); size_t nCount = (USHORT)mpItemList->size();
BOOL bLastFixed = TRUE; BOOL bLastFixed = TRUE;
long nX = -mnOffset; long nX = -mnOffset;
for ( USHORT i = 0; i < nCount; i++ ) for ( size_t i = 0; i < nCount; i++ )
{ {
pItem = mpItemList->GetObject( i ); pItem = (*mpItemList)[ i ];
if ( rPos.X() < (nX+pItem->mnSize) ) if ( rPos.X() < (nX+pItem->mnSize) )
{ {
...@@ -260,7 +255,7 @@ USHORT HeaderBar::ImplHitTest( const Point& rPos, ...@@ -260,7 +255,7 @@ USHORT HeaderBar::ImplHitTest( const Point& rPos,
if ( !bLastFixed ) if ( !bLastFixed )
{ {
pItem = mpItemList->GetObject( nCount-1 ); pItem = (*mpItemList)[ nCount-1 ];
if ( (pItem->mnSize < 4) && (rPos.X() < (nX+HEADERBAR_SPLITOFF)) ) if ( (pItem->mnSize < 4) && (rPos.X() < (nX+HEADERBAR_SPLITOFF)) )
{ {
nPos = nCount-1; nPos = nCount-1;
...@@ -350,7 +345,7 @@ void HeaderBar::ImplDrawItem( OutputDevice* pDev, ...@@ -350,7 +345,7 @@ void HeaderBar::ImplDrawItem( OutputDevice* pDev,
return; return;
} }
ImplHeadItem* pItem = mpItemList->GetObject( nPos ); ImplHeadItem* pItem = (*mpItemList)[ nPos ];
HeaderBarItemBits nBits = pItem->mnBits; HeaderBarItemBits nBits = pItem->mnBits;
const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
...@@ -652,7 +647,7 @@ void HeaderBar::ImplUpdate( USHORT nPos, BOOL bEnd, BOOL bDirect ) ...@@ -652,7 +647,7 @@ void HeaderBar::ImplUpdate( USHORT nPos, BOOL bEnd, BOOL bDirect )
if ( !bDirect ) if ( !bDirect )
{ {
Rectangle aRect; Rectangle aRect;
USHORT nItemCount = (USHORT)(mpItemList->Count()); size_t nItemCount = mpItemList->size();
if ( nPos < nItemCount ) if ( nPos < nItemCount )
aRect = ImplGetItemRect( nPos ); aRect = ImplGetItemRect( nPos );
else else
...@@ -669,11 +664,11 @@ void HeaderBar::ImplUpdate( USHORT nPos, BOOL bEnd, BOOL bDirect ) ...@@ -669,11 +664,11 @@ void HeaderBar::ImplUpdate( USHORT nPos, BOOL bEnd, BOOL bDirect )
} }
else else
{ {
for ( USHORT i = nPos; i < mpItemList->Count(); i++ ) for ( size_t i = nPos; i < mpItemList->size(); i++ )
ImplDrawItem( i ); ImplDrawItem( i );
if ( bEnd ) if ( bEnd )
{ {
Rectangle aRect = ImplGetItemRect( (USHORT)mpItemList->Count() ); Rectangle aRect = ImplGetItemRect( (USHORT)mpItemList->size() );
aRect.Left() = aRect.Right(); aRect.Left() = aRect.Right();
aRect.Right() = mnDX-1; aRect.Right() = mnDX-1;
if ( aRect.Left() < aRect.Right() ) if ( aRect.Left() < aRect.Right() )
...@@ -696,7 +691,7 @@ void HeaderBar::ImplStartDrag( const Point& rMousePos, BOOL bCommand ) ...@@ -696,7 +691,7 @@ void HeaderBar::ImplStartDrag( const Point& rMousePos, BOOL bCommand )
if ( nHitTest ) if ( nHitTest )
{ {
mbDrag = FALSE; mbDrag = FALSE;
ImplHeadItem* pItem = mpItemList->GetObject( nPos ); ImplHeadItem* pItem = (*mpItemList)[ nPos ];
if ( nHitTest & HEAD_HITTEST_DIVIDER ) if ( nHitTest & HEAD_HITTEST_DIVIDER )
mbDrag = TRUE; mbDrag = TRUE;
else else
...@@ -768,7 +763,7 @@ void HeaderBar::ImplDrag( const Point& rMousePos ) ...@@ -768,7 +763,7 @@ void HeaderBar::ImplDrag( const Point& rMousePos )
// Evt. ItemDrag anschalten // Evt. ItemDrag anschalten
if ( bNewOutDrag && mbDragable && !mbItemDrag && if ( bNewOutDrag && mbDragable && !mbItemDrag &&
!(mpItemList->GetObject(nPos)->mnBits & HIB_FIXEDPOS) ) !((*mpItemList)[ nPos ]->mnBits & HIB_FIXEDPOS) )
{ {
if ( (rMousePos.Y() >= aItemRect.Top()) && (rMousePos.Y() <= aItemRect.Bottom()) ) if ( (rMousePos.Y() >= aItemRect.Top()) && (rMousePos.Y() <= aItemRect.Bottom()) )
{ {
...@@ -803,13 +798,13 @@ void HeaderBar::ImplDrag( const Point& rMousePos ) ...@@ -803,13 +798,13 @@ void HeaderBar::ImplDrag( const Point& rMousePos )
// Nicht verschiebbare Items aussparen // Nicht verschiebbare Items aussparen
if ( mnItemDragPos < nPos ) if ( mnItemDragPos < nPos )
{ {
while ( (mpItemList->GetObject(mnItemDragPos)->mnBits & HIB_FIXEDPOS) && while ( ((*mpItemList)[ mnItemDragPos ]->mnBits & HIB_FIXEDPOS) &&
(mnItemDragPos < nPos) ) (mnItemDragPos < nPos) )
mnItemDragPos++; mnItemDragPos++;
} }
else if ( mnItemDragPos > nPos ) else if ( mnItemDragPos > nPos )
{ {
while ( (mpItemList->GetObject(mnItemDragPos)->mnBits & HIB_FIXEDPOS) && while ( ((*mpItemList)[ mnItemDragPos ]->mnBits & HIB_FIXEDPOS) &&
(mnItemDragPos > nPos) ) (mnItemDragPos > nPos) )
mnItemDragPos--; mnItemDragPos--;
} }
...@@ -902,7 +897,7 @@ void HeaderBar::ImplEndDrag( BOOL bCancel ) ...@@ -902,7 +897,7 @@ void HeaderBar::ImplEndDrag( BOOL bCancel )
long nDelta = mnDragPos - mnStartPos; long nDelta = mnDragPos - mnStartPos;
if ( nDelta ) if ( nDelta )
{ {
ImplHeadItem* pItem = mpItemList->GetObject( nPos ); ImplHeadItem* pItem = (*mpItemList)[ nPos ];
pItem->mnSize += nDelta; pItem->mnSize += nDelta;
ImplUpdate( nPos, TRUE ); ImplUpdate( nPos, TRUE );
} }
...@@ -931,7 +926,7 @@ void HeaderBar::MouseButtonDown( const MouseEvent& rMEvt ) ...@@ -931,7 +926,7 @@ void HeaderBar::MouseButtonDown( const MouseEvent& rMEvt )
USHORT nHitTest = ImplHitTest( rMEvt.GetPosPixel(), nTemp, nPos ); USHORT nHitTest = ImplHitTest( rMEvt.GetPosPixel(), nTemp, nPos );
if ( nHitTest ) if ( nHitTest )
{ {
ImplHeadItem* pItem = mpItemList->GetObject( nPos ); ImplHeadItem* pItem = (*mpItemList)[ nPos ];
if ( nHitTest & HEAD_HITTEST_DIVIDER ) if ( nHitTest & HEAD_HITTEST_DIVIDER )
mbItemMode = FALSE; mbItemMode = FALSE;
else else
...@@ -998,7 +993,7 @@ void HeaderBar::Paint( const Rectangle& rRect ) ...@@ -998,7 +993,7 @@ void HeaderBar::Paint( const Rectangle& rRect )
nCurItemPos = GetItemPos( mnCurItemId ); nCurItemPos = GetItemPos( mnCurItemId );
else else
nCurItemPos = HEADERBAR_ITEM_NOTFOUND; nCurItemPos = HEADERBAR_ITEM_NOTFOUND;
USHORT nItemCount = (USHORT)mpItemList->Count(); USHORT nItemCount = (USHORT)mpItemList->size();
for ( USHORT i = 0; i < nItemCount; i++ ) for ( USHORT i = 0; i < nItemCount; i++ )
ImplDrawItem( i, (i == nCurItemPos) ? TRUE : FALSE, FALSE, &rRect ); ImplDrawItem( i, (i == nCurItemPos) ? TRUE : FALSE, FALSE, &rRect );
} }
...@@ -1042,12 +1037,11 @@ void HeaderBar::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, ...@@ -1042,12 +1037,11 @@ void HeaderBar::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize,
} }
Rectangle aItemRect( aRect ); Rectangle aItemRect( aRect );
// aItemRect.Bottom()--; size_t nItemCount = mpItemList->size();
USHORT nItemCount = (USHORT)mpItemList->Count(); for ( size_t i = 0; i < nItemCount; i++ )
for ( USHORT i = 0; i < nItemCount; i++ )
{ {
aItemRect.Left() = aRect.Left()+ImplGetItemPos( i ); aItemRect.Left() = aRect.Left()+ImplGetItemPos( i );
aItemRect.Right() = aItemRect.Left() + mpItemList->GetObject( i )->mnSize - 1; aItemRect.Right() = aItemRect.Left() + (*mpItemList)[ i ]->mnSize - 1;
// Gegen Ueberlauf auf einigen Systemen testen // Gegen Ueberlauf auf einigen Systemen testen
if ( aItemRect.Right() > 16000 ) if ( aItemRect.Right() > 16000 )
aItemRect.Right() = 16000; aItemRect.Right() = 16000;
...@@ -1104,7 +1098,7 @@ void HeaderBar::RequestHelp( const HelpEvent& rHEvt ) ...@@ -1104,7 +1098,7 @@ void HeaderBar::RequestHelp( const HelpEvent& rHEvt )
XubString aStr = GetHelpText( nItemId ); XubString aStr = GetHelpText( nItemId );
if ( !aStr.Len() || !(rHEvt.GetMode() & HELPMODE_BALLOON) ) if ( !aStr.Len() || !(rHEvt.GetMode() & HELPMODE_BALLOON) )
{ {
ImplHeadItem* pItem = mpItemList->GetObject( GetItemPos( nItemId ) ); ImplHeadItem* pItem = (*mpItemList)[ GetItemPos( nItemId ) ];
// Wir zeigen die Quick-Hilfe nur an, wenn Text nicht // Wir zeigen die Quick-Hilfe nur an, wenn Text nicht
// vollstaendig sichtbar, ansonsten zeigen wir den Hilfetext // vollstaendig sichtbar, ansonsten zeigen wir den Hilfetext
// an, wenn das Item keinen Text besitzt // an, wenn das Item keinen Text besitzt
...@@ -1239,7 +1233,13 @@ void HeaderBar::InsertItem( USHORT nItemId, const Image& rImage, ...@@ -1239,7 +1233,13 @@ void HeaderBar::InsertItem( USHORT nItemId, const Image& rImage,
pItem->mnSize = nSize; pItem->mnSize = nSize;
pItem->maImage = rImage; pItem->maImage = rImage;
pItem->mpUserData = 0; pItem->mpUserData = 0;
mpItemList->Insert( pItem, nPos ); if ( nPos < mpItemList->size() ) {
ImplHeadItemList::iterator it = mpItemList->begin();
::std::advance( it, nPos );
mpItemList->insert( it, pItem );
} else {
mpItemList->push_back( pItem );
}
// Ausgabe updaten // Ausgabe updaten
ImplUpdate( nPos, TRUE ); ImplUpdate( nPos, TRUE );
...@@ -1262,7 +1262,13 @@ void HeaderBar::InsertItem( USHORT nItemId, const XubString& rText, ...@@ -1262,7 +1262,13 @@ void HeaderBar::InsertItem( USHORT nItemId, const XubString& rText,
pItem->mnHelpId = 0; pItem->mnHelpId = 0;
pItem->maText = rText; pItem->maText = rText;
pItem->mpUserData = 0; pItem->mpUserData = 0;
mpItemList->Insert( pItem, nPos ); if ( nPos < mpItemList->size() ) {
ImplHeadItemList::iterator it = mpItemList->begin();
::std::advance( it, nPos );
mpItemList->insert( it, pItem );
} else {
mpItemList->push_back( pItem );
}
// Ausgabe updaten // Ausgabe updaten
ImplUpdate( nPos, TRUE ); ImplUpdate( nPos, TRUE );
...@@ -1288,7 +1294,13 @@ void HeaderBar::InsertItem( USHORT nItemId, ...@@ -1288,7 +1294,13 @@ void HeaderBar::InsertItem( USHORT nItemId,
pItem->maImage = rImage; pItem->maImage = rImage;
pItem->maText = rText; pItem->maText = rText;
pItem->mpUserData = 0; pItem->mpUserData = 0;
mpItemList->Insert( pItem, nPos ); if ( nPos < mpItemList->size() ) {
ImplHeadItemList::iterator it = mpItemList->begin();
::std::advance( it, nPos );
mpItemList->insert( it, pItem );
} else {
mpItemList->push_back( pItem );
}
// Ausgabe updaten // Ausgabe updaten
ImplUpdate( nPos, TRUE ); ImplUpdate( nPos, TRUE );
...@@ -1301,8 +1313,12 @@ void HeaderBar::RemoveItem( USHORT nItemId ) ...@@ -1301,8 +1313,12 @@ void HeaderBar::RemoveItem( USHORT nItemId )
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
{ {
ImplHeadItem* pItem = mpItemList->Remove( nPos ); if ( nPos < mpItemList->size() ) {
delete pItem; ImplHeadItemList::iterator it = mpItemList->begin();
::std::advance( it, nPos );
delete *it;
mpItemList->erase( it );
}
ImplUpdate( nPos, TRUE ); ImplUpdate( nPos, TRUE );
} }
} }
...@@ -1316,10 +1332,15 @@ void HeaderBar::MoveItem( USHORT nItemId, USHORT nNewPos ) ...@@ -1316,10 +1332,15 @@ void HeaderBar::MoveItem( USHORT nItemId, USHORT nNewPos )
{ {
if ( nPos != nNewPos ) if ( nPos != nNewPos )
{ {
ImplHeadItem* pItem = mpItemList->Remove( nPos ); ImplHeadItemList::iterator it = mpItemList->begin();
::std::advance( it, nPos );
ImplHeadItem* pItem = *it;
mpItemList->erase( it );
if ( nNewPos < nPos ) if ( nNewPos < nPos )
nPos = nNewPos; nPos = nNewPos;
mpItemList->Insert( pItem, nNewPos ); it = mpItemList->begin();
::std::advance( it, nPos );
mpItemList->insert( it, pItem );
ImplUpdate( nPos, TRUE ); ImplUpdate( nPos, TRUE );
} }
} }
...@@ -1330,13 +1351,10 @@ void HeaderBar::MoveItem( USHORT nItemId, USHORT nNewPos ) ...@@ -1330,13 +1351,10 @@ void HeaderBar::MoveItem( USHORT nItemId, USHORT nNewPos )
void HeaderBar::Clear() void HeaderBar::Clear()
{ {
// Alle Items loeschen // Alle Items loeschen
ImplHeadItem* pItem = mpItemList->First(); for ( size_t i = 0, n = mpItemList->size(); i < n; ++i ) {
while ( pItem ) delete (*mpItemList)[ i ];
{
delete pItem;
pItem = mpItemList->Next();
} }
mpItemList->Clear(); mpItemList->clear();
ImplUpdate( 0, TRUE ); ImplUpdate( 0, TRUE );
} }
...@@ -1345,10 +1363,6 @@ void HeaderBar::Clear() ...@@ -1345,10 +1363,6 @@ void HeaderBar::Clear()
void HeaderBar::SetOffset( long nNewOffset ) void HeaderBar::SetOffset( long nNewOffset )
{ {
// Hier erstmal neu zeichnen, damit mit alten Offset noch das
// richtige gemalt wird
//Update();
// Bereich verschieben // Bereich verschieben
Rectangle aRect( 0, mnBorderOff1, mnDX-1, mnDY-mnBorderOff1-mnBorderOff2-1 ); Rectangle aRect( 0, mnBorderOff1, mnDX-1, mnDY-mnBorderOff1-mnBorderOff2-1 );
long nDelta = mnOffset-nNewOffset; long nDelta = mnOffset-nNewOffset;
...@@ -1360,21 +1374,18 @@ void HeaderBar::SetOffset( long nNewOffset ) ...@@ -1360,21 +1374,18 @@ void HeaderBar::SetOffset( long nNewOffset )
USHORT HeaderBar::GetItemCount() const USHORT HeaderBar::GetItemCount() const
{ {
return (USHORT)mpItemList->Count(); return (USHORT)mpItemList->size();
} }
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
USHORT HeaderBar::GetItemPos( USHORT nItemId ) const USHORT HeaderBar::GetItemPos( USHORT nItemId ) const
{ {
ImplHeadItem* pItem = mpItemList->First(); for ( size_t i = 0, n = mpItemList->size(); i < n; ++i ) {
while ( pItem ) ImplHeadItem* pItem = (*mpItemList)[ i ];
{
if ( pItem->mnId == nItemId ) if ( pItem->mnId == nItemId )
return (USHORT)mpItemList->GetCurPos(); return (USHORT)i;
pItem = mpItemList->Next();
} }
return HEADERBAR_ITEM_NOTFOUND; return HEADERBAR_ITEM_NOTFOUND;
} }
...@@ -1382,7 +1393,7 @@ USHORT HeaderBar::GetItemPos( USHORT nItemId ) const ...@@ -1382,7 +1393,7 @@ USHORT HeaderBar::GetItemPos( USHORT nItemId ) const
USHORT HeaderBar::GetItemId( USHORT nPos ) const USHORT HeaderBar::GetItemId( USHORT nPos ) const
{ {
ImplHeadItem* pItem = mpItemList->GetObject( nPos ); ImplHeadItem* pItem = (nPos < mpItemList->size() ) ? (*mpItemList)[ nPos ] : NULL;
if ( pItem ) if ( pItem )
return pItem->mnId; return pItem->mnId;
else else
...@@ -1393,15 +1404,11 @@ USHORT HeaderBar::GetItemId( USHORT nPos ) const ...@@ -1393,15 +1404,11 @@ USHORT HeaderBar::GetItemId( USHORT nPos ) const
USHORT HeaderBar::GetItemId( const Point& rPos ) const USHORT HeaderBar::GetItemId( const Point& rPos ) const
{ {
USHORT nPos = 0; for ( size_t i = 0, n = mpItemList->size(); i < n; ++i ) {
while ( nPos < mpItemList->Count() ) if ( ImplGetItemRect( i ).IsInside( rPos ) ) {
{ return GetItemId( i );
if ( ImplGetItemRect( nPos ).IsInside( rPos ) ) }
return GetItemId( nPos );
nPos++;
} }
return 0; return 0;
} }
...@@ -1423,7 +1430,7 @@ void HeaderBar::SetItemSize( USHORT nItemId, long nNewSize ) ...@@ -1423,7 +1430,7 @@ void HeaderBar::SetItemSize( USHORT nItemId, long nNewSize )
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
{ {
ImplHeadItem* pItem = mpItemList->GetObject( nPos ); ImplHeadItem* pItem = (*mpItemList)[ nPos ];
if ( pItem->mnSize != nNewSize ) if ( pItem->mnSize != nNewSize )
{ {
pItem->mnSize = nNewSize; pItem->mnSize = nNewSize;
...@@ -1438,7 +1445,7 @@ long HeaderBar::GetItemSize( USHORT nItemId ) const ...@@ -1438,7 +1445,7 @@ long HeaderBar::GetItemSize( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
return mpItemList->GetObject( nPos )->mnSize; return (*mpItemList)[ nPos ]->mnSize;
else else
return 0; return 0;
} }
...@@ -1450,7 +1457,7 @@ void HeaderBar::SetItemBits( USHORT nItemId, HeaderBarItemBits nNewBits ) ...@@ -1450,7 +1457,7 @@ void HeaderBar::SetItemBits( USHORT nItemId, HeaderBarItemBits nNewBits )
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
{ {
ImplHeadItem* pItem = mpItemList->GetObject( nPos ); ImplHeadItem* pItem = (*mpItemList)[ nPos ];
if ( pItem->mnBits != nNewBits ) if ( pItem->mnBits != nNewBits )
{ {
pItem->mnBits = nNewBits; pItem->mnBits = nNewBits;
...@@ -1465,7 +1472,7 @@ HeaderBarItemBits HeaderBar::GetItemBits( USHORT nItemId ) const ...@@ -1465,7 +1472,7 @@ HeaderBarItemBits HeaderBar::GetItemBits( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
return mpItemList->GetObject( nPos )->mnBits; return (*mpItemList)[ nPos ]->mnBits;
else else
return 0; return 0;
} }
...@@ -1477,7 +1484,7 @@ void HeaderBar::SetItemData( USHORT nItemId, void* pNewData ) ...@@ -1477,7 +1484,7 @@ void HeaderBar::SetItemData( USHORT nItemId, void* pNewData )
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
{ {
mpItemList->GetObject( nPos )->mpUserData = pNewData; (*mpItemList)[ nPos ]->mpUserData = pNewData;
ImplUpdate( nPos ); ImplUpdate( nPos );
} }
} }
...@@ -1488,7 +1495,7 @@ void* HeaderBar::GetItemData( USHORT nItemId ) const ...@@ -1488,7 +1495,7 @@ void* HeaderBar::GetItemData( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
return mpItemList->GetObject( nPos )->mpUserData; return (*mpItemList)[ nPos ]->mpUserData;
else else
return NULL; return NULL;
} }
...@@ -1500,7 +1507,7 @@ void HeaderBar::SetItemImage( USHORT nItemId, const Image& rImage ) ...@@ -1500,7 +1507,7 @@ void HeaderBar::SetItemImage( USHORT nItemId, const Image& rImage )
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
{ {
mpItemList->GetObject( nPos )->maImage = rImage; (*mpItemList)[ nPos ]->maImage = rImage;
ImplUpdate( nPos ); ImplUpdate( nPos );
} }
} }
...@@ -1511,7 +1518,7 @@ Image HeaderBar::GetItemImage( USHORT nItemId ) const ...@@ -1511,7 +1518,7 @@ Image HeaderBar::GetItemImage( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
return mpItemList->GetObject( nPos )->maImage; return (*mpItemList)[ nPos ]->maImage;
else else
return Image(); return Image();
} }
...@@ -1523,7 +1530,7 @@ void HeaderBar::SetItemText( USHORT nItemId, const XubString& rText ) ...@@ -1523,7 +1530,7 @@ void HeaderBar::SetItemText( USHORT nItemId, const XubString& rText )
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
{ {
mpItemList->GetObject( nPos )->maText = rText; (*mpItemList)[ nPos ]->maText = rText;
ImplUpdate( nPos ); ImplUpdate( nPos );
} }
} }
...@@ -1534,7 +1541,7 @@ XubString HeaderBar::GetItemText( USHORT nItemId ) const ...@@ -1534,7 +1541,7 @@ XubString HeaderBar::GetItemText( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
return mpItemList->GetObject( nPos )->maText; return (*mpItemList)[ nPos ]->maText;
else else
return String(); return String();
} }
...@@ -1545,7 +1552,7 @@ void HeaderBar::SetHelpText( USHORT nItemId, const XubString& rText ) ...@@ -1545,7 +1552,7 @@ void HeaderBar::SetHelpText( USHORT nItemId, const XubString& rText )
{ {
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
mpItemList->GetObject( nPos )->maHelpText = rText; (*mpItemList)[ nPos ]->maHelpText = rText;
} }
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
...@@ -1555,7 +1562,7 @@ XubString HeaderBar::GetHelpText( USHORT nItemId ) const ...@@ -1555,7 +1562,7 @@ XubString HeaderBar::GetHelpText( USHORT nItemId ) const
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
{ {
ImplHeadItem* pItem = mpItemList->GetObject( nPos ); ImplHeadItem* pItem = (*mpItemList)[ nPos ];
if ( !pItem->maHelpText.Len() && pItem->mnHelpId ) if ( !pItem->maHelpText.Len() && pItem->mnHelpId )
{ {
Help* pHelp = Application::GetHelp(); Help* pHelp = Application::GetHelp();
...@@ -1575,7 +1582,7 @@ void HeaderBar::SetHelpId( USHORT nItemId, ULONG nHelpId ) ...@@ -1575,7 +1582,7 @@ void HeaderBar::SetHelpId( USHORT nItemId, ULONG nHelpId )
{ {
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
mpItemList->GetObject( nPos )->mnHelpId = nHelpId; (*mpItemList)[ nPos ]->mnHelpId = nHelpId;
} }
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
...@@ -1584,7 +1591,7 @@ ULONG HeaderBar::GetHelpId( USHORT nItemId ) const ...@@ -1584,7 +1591,7 @@ ULONG HeaderBar::GetHelpId( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); USHORT nPos = GetItemPos( nItemId );
if ( nPos != HEADERBAR_ITEM_NOTFOUND ) if ( nPos != HEADERBAR_ITEM_NOTFOUND )
return mpItemList->GetObject( nPos )->mnHelpId; return (*mpItemList)[ nPos ]->mnHelpId;
else else
return 0; return 0;
} }
...@@ -1596,9 +1603,9 @@ Size HeaderBar::CalcWindowSizePixel() const ...@@ -1596,9 +1603,9 @@ Size HeaderBar::CalcWindowSizePixel() const
long nMaxImageSize = 0; long nMaxImageSize = 0;
Size aSize( 0, GetTextHeight() ); Size aSize( 0, GetTextHeight() );
ImplHeadItem* pItem = mpItemList->First(); for ( size_t i = 0, n = mpItemList->size(); i < n; ++i )
while ( pItem )
{ {
ImplHeadItem* pItem = (*mpItemList)[ i ];
// Image-Groessen beruecksichtigen // Image-Groessen beruecksichtigen
long nImageHeight = pItem->maImage.GetSizePixel().Height(); long nImageHeight = pItem->maImage.GetSizePixel().Height();
if ( !(pItem->mnBits & (HIB_LEFTIMAGE | HIB_RIGHTIMAGE)) && pItem->maText.Len() ) if ( !(pItem->mnBits & (HIB_LEFTIMAGE | HIB_RIGHTIMAGE)) && pItem->maText.Len() )
...@@ -1608,8 +1615,6 @@ Size HeaderBar::CalcWindowSizePixel() const ...@@ -1608,8 +1615,6 @@ Size HeaderBar::CalcWindowSizePixel() const
// Breite aufaddieren // Breite aufaddieren
aSize.Width() += pItem->mnSize; aSize.Width() += pItem->mnSize;
pItem = mpItemList->Next();
} }
if ( nMaxImageSize > aSize.Height() ) if ( nMaxImageSize > aSize.Height() )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment