Remove DECLARE_LIST( ValueItemList, ValueSetItem* )

This commit is contained in:
Joseph Powers
2011-02-08 06:55:57 -08:00
parent c3cdfda71d
commit 63ec47e630
4 changed files with 172 additions and 142 deletions

View File

@@ -34,6 +34,7 @@
#include <vcl/ctrl.hxx> #include <vcl/ctrl.hxx>
#include <vcl/virdev.hxx> #include <vcl/virdev.hxx>
#include <vcl/timer.hxx> #include <vcl/timer.hxx>
#include <vector>
class MouseEvent; class MouseEvent;
class TrackingEvent; class TrackingEvent;
@@ -41,9 +42,11 @@ class HelpEvent;
class KeyEvent; class KeyEvent;
class DataChangedEvent; class DataChangedEvent;
class ScrollBar; class ScrollBar;
class ValueItemList;
struct ValueSetItem;
struct ValueSet_Impl; struct ValueSet_Impl;
struct ValueSetItem;
typedef ::std::vector< ValueSetItem* > ValueItemList;
#ifdef _SV_VALUESET_CXX #ifdef _SV_VALUESET_CXX
class ValueSetAcc; class ValueSetAcc;
class ValueItemAcc; class ValueItemAcc;
@@ -234,8 +237,8 @@ gewuenschten WinBits (vor Show) mit SetStyle() gesetzt werden.
// - ValueSet - // - ValueSet -
// ------------ // ------------
#define VALUESET_APPEND ((USHORT)0xFFFF) #define VALUESET_APPEND ((size_t)-1)
#define VALUESET_ITEM_NOTFOUND ((USHORT)0xFFFF) #define VALUESET_ITEM_NOTFOUND ((size_t)-1)
class SVT_DLLPUBLIC ValueSet : public Control class SVT_DLLPUBLIC ValueSet : public Control
{ {
@@ -254,7 +257,7 @@ private:
USHORT mnOldItemId; USHORT mnOldItemId;
USHORT mnSelItemId; USHORT mnSelItemId;
USHORT mnHighItemId; USHORT mnHighItemId;
USHORT mnDropPos; size_t mnDropPos;
USHORT mnCols; USHORT mnCols;
USHORT mnCurCol; USHORT mnCurCol;
USHORT mnUserCols; USHORT mnUserCols;
@@ -294,8 +297,8 @@ private:
SVT_DLLPRIVATE void ImplDraw(); SVT_DLLPRIVATE void ImplDraw();
using Window::ImplScroll; using Window::ImplScroll;
SVT_DLLPRIVATE BOOL ImplScroll( const Point& rPos ); SVT_DLLPRIVATE BOOL ImplScroll( const Point& rPos );
SVT_DLLPRIVATE USHORT ImplGetItem( const Point& rPoint, BOOL bMove = FALSE ) const; SVT_DLLPRIVATE size_t ImplGetItem( const Point& rPoint, BOOL bMove = FALSE ) const;
SVT_DLLPRIVATE ValueSetItem* ImplGetItem( USHORT nPos ); SVT_DLLPRIVATE ValueSetItem* ImplGetItem( size_t nPos );
SVT_DLLPRIVATE ValueSetItem* ImplGetFirstItem(); SVT_DLLPRIVATE ValueSetItem* ImplGetFirstItem();
SVT_DLLPRIVATE USHORT ImplGetVisibleItemCount() const; SVT_DLLPRIVATE USHORT ImplGetVisibleItemCount() const;
SVT_DLLPRIVATE ValueSetItem* ImplGetVisibleItem( USHORT nVisiblePos ); SVT_DLLPRIVATE ValueSetItem* ImplGetVisibleItem( USHORT nVisiblePos );
@@ -345,27 +348,27 @@ public:
virtual void UserDraw( const UserDrawEvent& rUDEvt ); virtual void UserDraw( const UserDrawEvent& rUDEvt );
void InsertItem( USHORT nItemId, const Image& rImage, void InsertItem( USHORT nItemId, const Image& rImage,
USHORT nPos = VALUESET_APPEND ); size_t nPos = VALUESET_APPEND );
void InsertItem( USHORT nItemId, const Color& rColor, void InsertItem( USHORT nItemId, const Color& rColor,
USHORT nPos = VALUESET_APPEND ); size_t nPos = VALUESET_APPEND );
void InsertItem( USHORT nItemId, void InsertItem( USHORT nItemId,
const Image& rImage, const XubString& rStr, const Image& rImage, const XubString& rStr,
USHORT nPos = VALUESET_APPEND ); size_t nPos = VALUESET_APPEND );
void InsertItem( USHORT nItemId, void InsertItem( USHORT nItemId,
const Color& rColor, const XubString& rStr, const Color& rColor, const XubString& rStr,
USHORT nPos = VALUESET_APPEND ); size_t nPos = VALUESET_APPEND );
void InsertItem( USHORT nItemId, void InsertItem( USHORT nItemId,
USHORT nPos = VALUESET_APPEND ); size_t nPos = VALUESET_APPEND );
void InsertSpace( USHORT nItemId, void InsertSpace( USHORT nItemId,
USHORT nPos = VALUESET_APPEND ); size_t nPos = VALUESET_APPEND );
void RemoveItem( USHORT nItemId ); void RemoveItem( USHORT nItemId );
void CopyItems( const ValueSet& rValueSet ); void CopyItems( const ValueSet& rValueSet );
void Clear(); void Clear();
USHORT GetItemCount() const; size_t GetItemCount() const;
USHORT GetItemPos( USHORT nItemId ) const; size_t GetItemPos( USHORT nItemId ) const;
USHORT GetItemId( USHORT nPos ) const; USHORT GetItemId( size_t nPos ) const;
USHORT GetItemId( const Point& rPos ) const; USHORT GetItemId( const Point& rPos ) const;
Rectangle GetItemRect( USHORT nItemId ) const; Rectangle GetItemRect( USHORT nItemId ) const;

View File

@@ -455,13 +455,13 @@ uno::Reference< accessibility::XAccessible > SAL_CALL ValueSetAcc::getAccessible
const USHORT nItemId = mpParent->GetItemId( Point( aPoint.X, aPoint.Y ) ); const USHORT nItemId = mpParent->GetItemId( Point( aPoint.X, aPoint.Y ) );
uno::Reference< accessibility::XAccessible > xRet; uno::Reference< accessibility::XAccessible > xRet;
if( VALUESET_ITEM_NOTFOUND != nItemId ) if( ((USHORT)-1) != nItemId )
{ {
const USHORT nItemPos = mpParent->GetItemPos( nItemId ); const size_t nItemPos = mpParent->GetItemPos( nItemId );
if( VALUESET_ITEM_NONEITEM != nItemPos ) if( VALUESET_ITEM_NONEITEM != nItemPos )
{ {
ValueSetItem* pItem = mpParent->mpImpl->mpItemList->GetObject( nItemPos ); ValueSetItem* pItem = (*mpParent->mpImpl->mpItemList)[ nItemPos ];
if( ( pItem->meType != VALUESETITEM_SPACE ) && !pItem->maRect.IsEmpty() ) if( ( pItem->meType != VALUESETITEM_SPACE ) && !pItem->maRect.IsEmpty() )
xRet = pItem->GetAccessible( mbIsTransientChildrenDisabled ); xRet = pItem->GetAccessible( mbIsTransientChildrenDisabled );

View File

@@ -100,9 +100,7 @@ struct ValueSetItem
void ClearAccessible(); void ClearAccessible();
}; };
// ----------------------------------------------------------------------------- typedef ::std::vector< ValueSetItem* > ValueItemList;
DECLARE_LIST( ValueItemList, ValueSetItem* )
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------

View File

@@ -135,8 +135,9 @@ ValueSet::~ValueSet()
void ValueSet::ImplDeleteItems() void ValueSet::ImplDeleteItems()
{ {
for( ValueSetItem* pItem = mpImpl->mpItemList->First(); pItem; pItem = mpImpl->mpItemList->Next() ) for ( size_t i = 0, n = mpImpl->mpItemList->size(); i < n; ++i )
{ {
ValueSetItem* pItem = (*mpImpl->mpItemList)[ i ];
if( !pItem->maRect.IsEmpty() && ImplHasAccessibleListeners() ) if( !pItem->maRect.IsEmpty() && ImplHasAccessibleListeners() )
{ {
::com::sun::star::uno::Any aOldAny, aNewAny; ::com::sun::star::uno::Any aOldAny, aNewAny;
@@ -148,7 +149,7 @@ void ValueSet::ImplDeleteItems()
delete pItem; delete pItem;
} }
mpImpl->mpItemList->Clear(); mpImpl->mpItemList->clear();
} }
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
@@ -342,7 +343,7 @@ void ValueSet::ImplFormatItem( ValueSetItem* pItem )
void ValueSet::Format() void ValueSet::Format()
{ {
Size aWinSize = GetOutputSizePixel(); Size aWinSize = GetOutputSizePixel();
ULONG nItemCount = mpImpl->mpItemList->Count(); size_t nItemCount = mpImpl->mpItemList->size();
WinBits nStyle = GetStyle(); WinBits nStyle = GetStyle();
long nTxtHeight = GetTextHeight(); long nTxtHeight = GetTextHeight();
long nOff; long nOff;
@@ -434,8 +435,8 @@ void ValueSet::Format()
// Zeilenanzahl berechnen // Zeilenanzahl berechnen
mbScroll = FALSE; mbScroll = FALSE;
mnLines = (long)mpImpl->mpItemList->Count() / mnCols; mnLines = (long)mpImpl->mpItemList->size() / mnCols;
if ( mpImpl->mpItemList->Count() % mnCols ) if ( mpImpl->mpItemList->size() % mnCols )
mnLines++; mnLines++;
else if ( !mnLines ) else if ( !mnLines )
mnLines = 1; mnLines = 1;
@@ -506,9 +507,9 @@ void ValueSet::Format()
} }
} }
for ( ULONG i = 0; i < nItemCount; i++ ) for ( size_t i = 0; i < nItemCount; i++ )
{ {
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( i ); ValueSetItem* pItem = (*mpImpl->mpItemList)[ i ];
pItem->maRect.SetEmpty(); pItem->maRect.SetEmpty();
} }
@@ -595,9 +596,9 @@ void ValueSet::Format()
if ( y+(mnVisLines*(nItemHeight+nSpace)) < aWinSize.Height() ) if ( y+(mnVisLines*(nItemHeight+nSpace)) < aWinSize.Height() )
nLastItem += mnCols; nLastItem += mnCols;
} }
for ( ULONG i = 0; i < nItemCount; i++ ) for ( size_t i = 0; i < nItemCount; i++ )
{ {
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( i ); ValueSetItem* pItem = (*mpImpl->mpItemList)[ i ];
if ( (i >= nFirstItem) && (i < nLastItem) ) if ( (i >= nFirstItem) && (i < nLastItem) )
{ {
@@ -736,7 +737,7 @@ void ValueSet::ImplDrawSelect()
ValueSetItem* pItem; ValueSetItem* pItem;
if ( nItemId ) if ( nItemId )
pItem = mpImpl->mpItemList->GetObject( GetItemPos( nItemId ) ); pItem = (*mpImpl->mpItemList)[ GetItemPos( nItemId ) ];
else else
{ {
if ( mpNoneItem ) if ( mpNoneItem )
@@ -901,7 +902,7 @@ void ValueSet::ImplHideSelect( USHORT nItemId )
USHORT nItemPos = GetItemPos( nItemId ); USHORT nItemPos = GetItemPos( nItemId );
if ( nItemPos != sal::static_int_cast<USHORT>(LIST_ENTRY_NOTFOUND) ) if ( nItemPos != sal::static_int_cast<USHORT>(LIST_ENTRY_NOTFOUND) )
aRect = mpImpl->mpItemList->GetObject( nItemPos )->maRect; aRect = (*mpImpl->mpItemList)[ nItemPos ]->maRect;
else else
{ {
if ( mpNoneItem ) if ( mpNoneItem )
@@ -942,15 +943,15 @@ void ValueSet::ImplHighlightItem( USHORT nItemId, BOOL bIsSelection )
void ValueSet::ImplDrawDropPos( BOOL bShow ) void ValueSet::ImplDrawDropPos( BOOL bShow )
{ {
if ( (mnDropPos != VALUESET_ITEM_NOTFOUND) && mpImpl->mpItemList->Count() ) if ( (mnDropPos != VALUESET_ITEM_NOTFOUND) && !mpImpl->mpItemList->empty() )
{ {
USHORT nItemPos = mnDropPos; size_t nItemPos = mnDropPos;
USHORT nItemId1; USHORT nItemId1;
USHORT nItemId2 = 0; USHORT nItemId2 = 0;
BOOL bRight; BOOL bRight;
if ( nItemPos >= mpImpl->mpItemList->Count() ) if ( nItemPos >= mpImpl->mpItemList->size() )
{ {
nItemPos = (USHORT)(mpImpl->mpItemList->Count()-1); nItemPos = mpImpl->mpItemList->size() - 1;
bRight = TRUE; bRight = TRUE;
} }
else else
@@ -959,7 +960,7 @@ void ValueSet::ImplDrawDropPos( BOOL bShow )
nItemId1 = GetItemId( nItemPos ); nItemId1 = GetItemId( nItemPos );
if ( (nItemId1 != mnSelItemId) && (nItemId1 != mnHighItemId) ) if ( (nItemId1 != mnSelItemId) && (nItemId1 != mnHighItemId) )
nItemId1 = 0; nItemId1 = 0;
Rectangle aRect2 = mpImpl->mpItemList->GetObject( nItemPos )->maRect; Rectangle aRect2 = (*mpImpl->mpItemList)[ nItemPos ]->maRect;
Rectangle aRect1; Rectangle aRect1;
if ( bRight ) if ( bRight )
{ {
@@ -968,7 +969,7 @@ void ValueSet::ImplDrawDropPos( BOOL bShow )
} }
else if ( nItemPos > 0 ) else if ( nItemPos > 0 )
{ {
aRect1 = mpImpl->mpItemList->GetObject( nItemPos-1 )->maRect; aRect1 = (*mpImpl->mpItemList)[ nItemPos-1 ]->maRect;
nItemId2 = GetItemId( nItemPos-1 ); nItemId2 = GetItemId( nItemPos-1 );
if ( (nItemId2 != mnSelItemId) && (nItemId2 != mnHighItemId) ) if ( (nItemId2 != mnSelItemId) && (nItemId2 != mnHighItemId) )
nItemId2 = 0; nItemId2 = 0;
@@ -1101,7 +1102,7 @@ BOOL ValueSet::ImplScroll( const Point& rPos )
long nScrollOffset; long nScrollOffset;
USHORT nOldLine = mnFirstLine; USHORT nOldLine = mnFirstLine;
const Rectangle& rTopRect = mpImpl->mpItemList->GetObject( mnFirstLine*mnCols )->maRect; const Rectangle& rTopRect = (*mpImpl->mpItemList)[ mnFirstLine * mnCols ]->maRect;
if ( rTopRect.GetHeight() <= 16 ) if ( rTopRect.GetHeight() <= 16 )
nScrollOffset = VALUESET_SCROLL_OFFSET/2; nScrollOffset = VALUESET_SCROLL_OFFSET/2;
else else
@@ -1115,7 +1116,7 @@ BOOL ValueSet::ImplScroll( const Point& rPos )
if ( (mnFirstLine == nOldLine) && if ( (mnFirstLine == nOldLine) &&
(mnFirstLine < (USHORT)(mnLines-mnVisLines)) && (rPos.Y() < aOutSize.Height()) ) (mnFirstLine < (USHORT)(mnLines-mnVisLines)) && (rPos.Y() < aOutSize.Height()) )
{ {
long nBottomPos = mpImpl->mpItemList->GetObject( (mnFirstLine+mnVisLines-1)*mnCols )->maRect.Bottom(); long nBottomPos = (*mpImpl->mpItemList)[ (mnFirstLine+mnVisLines-1)*mnCols ]->maRect.Bottom();
if ( (rPos.Y() >= nBottomPos-nScrollOffset) && (rPos.Y() <= nBottomPos) ) if ( (rPos.Y() >= nBottomPos-nScrollOffset) && (rPos.Y() <= nBottomPos) )
mnFirstLine++; mnFirstLine++;
} }
@@ -1132,7 +1133,7 @@ BOOL ValueSet::ImplScroll( const Point& rPos )
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
USHORT ValueSet::ImplGetItem( const Point& rPos, BOOL bMove ) const size_t ValueSet::ImplGetItem( const Point& rPos, BOOL bMove ) const
{ {
if ( mpNoneItem ) if ( mpNoneItem )
{ {
@@ -1143,14 +1144,14 @@ USHORT ValueSet::ImplGetItem( const Point& rPos, BOOL bMove ) const
Point aDefPos; Point aDefPos;
Rectangle aWinRect( aDefPos, maVirDev.GetOutputSizePixel() ); Rectangle aWinRect( aDefPos, maVirDev.GetOutputSizePixel() );
ULONG nItemCount = mpImpl->mpItemList->Count(); size_t nItemCount = mpImpl->mpItemList->size();
for ( ULONG i = 0; i < nItemCount; i++ ) for ( size_t i = 0; i < nItemCount; i++ )
{ {
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( i ); ValueSetItem* pItem = (*mpImpl->mpItemList)[ i ];
if ( pItem->maRect.IsInside( rPos ) ) if ( pItem->maRect.IsInside( rPos ) )
{ {
if ( aWinRect.IsInside( rPos ) ) if ( aWinRect.IsInside( rPos ) )
return (USHORT)i; return i;
else else
return VALUESET_ITEM_NOTFOUND; return VALUESET_ITEM_NOTFOUND;
} }
@@ -1170,27 +1171,23 @@ USHORT ValueSet::ImplGetItem( const Point& rPos, BOOL bMove ) const
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
ValueSetItem* ValueSet::ImplGetItem( USHORT nPos ) ValueSetItem* ValueSet::ImplGetItem( size_t nPos )
{ {
if ( nPos == VALUESET_ITEM_NONEITEM ) if ( nPos == VALUESET_ITEM_NONEITEM )
return mpNoneItem; return mpNoneItem;
else else
return mpImpl->mpItemList->GetObject( nPos ); return ( nPos < mpImpl->mpItemList->size() ) ? (*mpImpl->mpItemList)[ nPos ] : NULL;
} }
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
ValueSetItem* ValueSet::ImplGetFirstItem() ValueSetItem* ValueSet::ImplGetFirstItem()
{ {
USHORT nItemCount = (USHORT)mpImpl->mpItemList->Count(); for ( size_t i = 0, nItemCount = mpImpl->mpItemList->size(); i < nItemCount; ++i ) {
USHORT i = 0; ValueSetItem* pItem = (*mpImpl->mpItemList)[ i ];
if ( pItem->meType != VALUESETITEM_SPACE ) {
while ( i < nItemCount )
{
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( i );
if ( pItem->meType != VALUESETITEM_SPACE )
return pItem; return pItem;
i++; }
} }
return NULL; return NULL;
@@ -1202,9 +1199,9 @@ USHORT ValueSet::ImplGetVisibleItemCount() const
{ {
USHORT nRet = 0; USHORT nRet = 0;
for( sal_Int32 n = 0, nItemCount = mpImpl->mpItemList->Count(); n < nItemCount; n++ ) for( size_t n = 0, nItemCount = mpImpl->mpItemList->size(); n < nItemCount; n++ )
{ {
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( n ); ValueSetItem* pItem = (*mpImpl->mpItemList)[ n ];
if( pItem->meType != VALUESETITEM_SPACE && !pItem->maRect.IsEmpty() ) if( pItem->meType != VALUESETITEM_SPACE && !pItem->maRect.IsEmpty() )
nRet++; nRet++;
@@ -1220,9 +1217,9 @@ ValueSetItem* ValueSet::ImplGetVisibleItem( USHORT nVisiblePos )
ValueSetItem* pRet = NULL; ValueSetItem* pRet = NULL;
USHORT nFoundPos = 0; USHORT nFoundPos = 0;
for( sal_Int32 n = 0, nItemCount = mpImpl->mpItemList->Count(); ( n < nItemCount ) && !pRet; n++ ) for( sal_Int32 n = 0, nItemCount = mpImpl->mpItemList->size(); ( n < nItemCount ) && !pRet; n++ )
{ {
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( n ); ValueSetItem* pItem = (*mpImpl->mpItemList)[ n ];
if( ( pItem->meType != VALUESETITEM_SPACE ) && !pItem->maRect.IsEmpty() && ( nVisiblePos == nFoundPos++ ) ) if( ( pItem->meType != VALUESETITEM_SPACE ) && !pItem->maRect.IsEmpty() && ( nVisiblePos == nFoundPos++ ) )
pRet = pItem; pRet = pItem;
@@ -1413,10 +1410,10 @@ void ValueSet::Tracking( const TrackingEvent& rTEvt )
void ValueSet::KeyInput( const KeyEvent& rKEvt ) void ValueSet::KeyInput( const KeyEvent& rKEvt )
{ {
USHORT nLastItem = (USHORT)mpImpl->mpItemList->Count(); size_t nLastItem = mpImpl->mpItemList->size();
USHORT nItemPos = VALUESET_ITEM_NOTFOUND; size_t nItemPos = VALUESET_ITEM_NOTFOUND;
USHORT nCurPos = VALUESET_ITEM_NONEITEM; size_t nCurPos = VALUESET_ITEM_NONEITEM;
USHORT nCalcPos; size_t nCalcPos;
if ( !nLastItem || !ImplGetFirstItem() ) if ( !nLastItem || !ImplGetFirstItem() )
{ {
@@ -1504,7 +1501,7 @@ void ValueSet::KeyInput( const KeyEvent& rKEvt )
if( rKEvt.GetKeyCode().GetCode() != KEY_PAGEUP || if( rKEvt.GetKeyCode().GetCode() != KEY_PAGEUP ||
( !rKEvt.GetKeyCode().IsShift() && !rKEvt.GetKeyCode().IsMod1() && !rKEvt.GetKeyCode().IsMod2() ) ) ( !rKEvt.GetKeyCode().IsShift() && !rKEvt.GetKeyCode().IsMod1() && !rKEvt.GetKeyCode().IsMod2() ) )
{ {
const long nLineCount = ( ( KEY_UP == rKEvt.GetKeyCode().GetCode() ) ? 1 : mnVisLines ); const size_t nLineCount = ( ( KEY_UP == rKEvt.GetKeyCode().GetCode() ) ? 1 : mnVisLines );
do do
{ {
if ( nCalcPos == VALUESET_ITEM_NONEITEM ) if ( nCalcPos == VALUESET_ITEM_NONEITEM )
@@ -1697,7 +1694,7 @@ void ValueSet::RequestHelp( const HelpEvent& rHEvt )
if ( (rHEvt.GetMode() & (HELPMODE_QUICK | HELPMODE_BALLOON)) == HELPMODE_QUICK ) if ( (rHEvt.GetMode() & (HELPMODE_QUICK | HELPMODE_BALLOON)) == HELPMODE_QUICK )
{ {
Point aPos = ScreenToOutputPixel( rHEvt.GetMousePosPixel() ); Point aPos = ScreenToOutputPixel( rHEvt.GetMousePosPixel() );
USHORT nItemPos = ImplGetItem( aPos ); size_t nItemPos = ImplGetItem( aPos );
if ( nItemPos != VALUESET_ITEM_NOTFOUND ) if ( nItemPos != VALUESET_ITEM_NOTFOUND )
{ {
ValueSetItem* pItem = ImplGetItem( nItemPos ); ValueSetItem* pItem = ImplGetItem( nItemPos );
@@ -1804,7 +1801,7 @@ void ValueSet::UserDraw( const UserDrawEvent& )
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
void ValueSet::InsertItem( USHORT nItemId, const Image& rImage, USHORT nPos ) void ValueSet::InsertItem( USHORT nItemId, const Image& rImage, size_t nPos )
{ {
DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" ); DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND, DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
@@ -1814,7 +1811,13 @@ void ValueSet::InsertItem( USHORT nItemId, const Image& rImage, USHORT nPos )
pItem->mnId = nItemId; pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_IMAGE; pItem->meType = VALUESETITEM_IMAGE;
pItem->maImage = rImage; pItem->maImage = rImage;
mpImpl->mpItemList->Insert( pItem, (ULONG)nPos ); if ( nPos < mpImpl->mpItemList->size() ) {
ValueItemList::iterator it = mpImpl->mpItemList->begin();
::std::advance( it, nPos );
mpImpl->mpItemList->insert( it, pItem );
} else {
mpImpl->mpItemList->push_back( pItem );
}
mbFormat = TRUE; mbFormat = TRUE;
if ( IsReallyVisible() && IsUpdateMode() ) if ( IsReallyVisible() && IsUpdateMode() )
@@ -1823,7 +1826,7 @@ void ValueSet::InsertItem( USHORT nItemId, const Image& rImage, USHORT nPos )
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
void ValueSet::InsertItem( USHORT nItemId, const Color& rColor, USHORT nPos ) void ValueSet::InsertItem( USHORT nItemId, const Color& rColor, size_t nPos )
{ {
DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" ); DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND, DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
@@ -1833,7 +1836,13 @@ void ValueSet::InsertItem( USHORT nItemId, const Color& rColor, USHORT nPos )
pItem->mnId = nItemId; pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_COLOR; pItem->meType = VALUESETITEM_COLOR;
pItem->maColor = rColor; pItem->maColor = rColor;
mpImpl->mpItemList->Insert( pItem, (ULONG)nPos ); if ( nPos < mpImpl->mpItemList->size() ) {
ValueItemList::iterator it = mpImpl->mpItemList->begin();
::std::advance( it, nPos );
mpImpl->mpItemList->insert( it, pItem );
} else {
mpImpl->mpItemList->push_back( pItem );
}
mbFormat = TRUE; mbFormat = TRUE;
if ( IsReallyVisible() && IsUpdateMode() ) if ( IsReallyVisible() && IsUpdateMode() )
@@ -1843,7 +1852,7 @@ void ValueSet::InsertItem( USHORT nItemId, const Color& rColor, USHORT nPos )
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
void ValueSet::InsertItem( USHORT nItemId, const Image& rImage, void ValueSet::InsertItem( USHORT nItemId, const Image& rImage,
const XubString& rText, USHORT nPos ) const XubString& rText, size_t nPos )
{ {
DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" ); DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND, DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
@@ -1854,7 +1863,13 @@ void ValueSet::InsertItem( USHORT nItemId, const Image& rImage,
pItem->meType = VALUESETITEM_IMAGE; pItem->meType = VALUESETITEM_IMAGE;
pItem->maImage = rImage; pItem->maImage = rImage;
pItem->maText = rText; pItem->maText = rText;
mpImpl->mpItemList->Insert( pItem, (ULONG)nPos ); if ( nPos < mpImpl->mpItemList->size() ) {
ValueItemList::iterator it = mpImpl->mpItemList->begin();
::std::advance( it, nPos );
mpImpl->mpItemList->insert( it, pItem );
} else {
mpImpl->mpItemList->push_back( pItem );
}
mbFormat = TRUE; mbFormat = TRUE;
if ( IsReallyVisible() && IsUpdateMode() ) if ( IsReallyVisible() && IsUpdateMode() )
@@ -1864,7 +1879,7 @@ void ValueSet::InsertItem( USHORT nItemId, const Image& rImage,
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
void ValueSet::InsertItem( USHORT nItemId, const Color& rColor, void ValueSet::InsertItem( USHORT nItemId, const Color& rColor,
const XubString& rText, USHORT nPos ) const XubString& rText, size_t nPos )
{ {
DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" ); DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND, DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
@@ -1875,7 +1890,13 @@ void ValueSet::InsertItem( USHORT nItemId, const Color& rColor,
pItem->meType = VALUESETITEM_COLOR; pItem->meType = VALUESETITEM_COLOR;
pItem->maColor = rColor; pItem->maColor = rColor;
pItem->maText = rText; pItem->maText = rText;
mpImpl->mpItemList->Insert( pItem, (ULONG)nPos ); if ( nPos < mpImpl->mpItemList->size() ) {
ValueItemList::iterator it = mpImpl->mpItemList->begin();
::std::advance( it, nPos );
mpImpl->mpItemList->insert( it, pItem );
} else {
mpImpl->mpItemList->push_back( pItem );
}
mbFormat = TRUE; mbFormat = TRUE;
if ( IsReallyVisible() && IsUpdateMode() ) if ( IsReallyVisible() && IsUpdateMode() )
@@ -1884,7 +1905,7 @@ void ValueSet::InsertItem( USHORT nItemId, const Color& rColor,
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
void ValueSet::InsertItem( USHORT nItemId, USHORT nPos ) void ValueSet::InsertItem( USHORT nItemId, size_t nPos )
{ {
DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" ); DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND, DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
@@ -1893,7 +1914,13 @@ void ValueSet::InsertItem( USHORT nItemId, USHORT nPos )
ValueSetItem* pItem = new ValueSetItem( *this ); ValueSetItem* pItem = new ValueSetItem( *this );
pItem->mnId = nItemId; pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_USERDRAW; pItem->meType = VALUESETITEM_USERDRAW;
mpImpl->mpItemList->Insert( pItem, (ULONG)nPos ); if ( nPos < mpImpl->mpItemList->size() ) {
ValueItemList::iterator it = mpImpl->mpItemList->begin();
::std::advance( it, nPos );
mpImpl->mpItemList->insert( it, pItem );
} else {
mpImpl->mpItemList->push_back( pItem );
}
mbFormat = TRUE; mbFormat = TRUE;
if ( IsReallyVisible() && IsUpdateMode() ) if ( IsReallyVisible() && IsUpdateMode() )
@@ -1902,7 +1929,7 @@ void ValueSet::InsertItem( USHORT nItemId, USHORT nPos )
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
void ValueSet::InsertSpace( USHORT nItemId, USHORT nPos ) void ValueSet::InsertSpace( USHORT nItemId, size_t nPos )
{ {
DBG_ASSERT( nItemId, "ValueSet::InsertSpace(): ItemId == 0" ); DBG_ASSERT( nItemId, "ValueSet::InsertSpace(): ItemId == 0" );
DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND, DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
@@ -1911,7 +1938,13 @@ void ValueSet::InsertSpace( USHORT nItemId, USHORT nPos )
ValueSetItem* pItem = new ValueSetItem( *this ); ValueSetItem* pItem = new ValueSetItem( *this );
pItem->mnId = nItemId; pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_SPACE; pItem->meType = VALUESETITEM_SPACE;
mpImpl->mpItemList->Insert( pItem, (ULONG)nPos ); if ( nPos < mpImpl->mpItemList->size() ) {
ValueItemList::iterator it = mpImpl->mpItemList->begin();
::std::advance( it, nPos );
mpImpl->mpItemList->insert( it, pItem );
} else {
mpImpl->mpItemList->push_back( pItem );
}
mbFormat = TRUE; mbFormat = TRUE;
if ( IsReallyVisible() && IsUpdateMode() ) if ( IsReallyVisible() && IsUpdateMode() )
@@ -1922,12 +1955,17 @@ void ValueSet::InsertSpace( USHORT nItemId, USHORT nPos )
void ValueSet::RemoveItem( USHORT nItemId ) void ValueSet::RemoveItem( USHORT nItemId )
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos == VALUESET_ITEM_NOTFOUND ) if ( nPos == VALUESET_ITEM_NOTFOUND )
return; return;
delete mpImpl->mpItemList->Remove( nPos ); if ( nPos < mpImpl->mpItemList->size() ) {
ValueItemList::iterator it = mpImpl->mpItemList->begin();
::std::advance( it, nPos );
delete *it;
mpImpl->mpItemList->erase( it );
}
// Variablen zuruecksetzen // Variablen zuruecksetzen
if ( (mnHighItemId == nItemId) || (mnSelItemId == nItemId) ) if ( (mnHighItemId == nItemId) || (mnSelItemId == nItemId) )
@@ -1950,9 +1988,9 @@ void ValueSet::CopyItems( const ValueSet& rValueSet )
{ {
ImplDeleteItems(); ImplDeleteItems();
ValueSetItem* pItem = rValueSet.mpImpl->mpItemList->First(); for ( size_t i = 0, n = rValueSet.mpImpl->mpItemList->size(); i < n; ++i )
while ( pItem )
{ {
ValueSetItem* pItem = (*rValueSet.mpImpl->mpItemList)[ i ];
ValueSetItem* pNewItem = new ValueSetItem( *this ); ValueSetItem* pNewItem = new ValueSetItem( *this );
pNewItem->mnId = pItem->mnId; pNewItem->mnId = pItem->mnId;
@@ -1964,9 +2002,7 @@ void ValueSet::CopyItems( const ValueSet& rValueSet )
pNewItem->mpData = pItem->mpData; pNewItem->mpData = pItem->mpData;
pNewItem->maRect = pItem->maRect; pNewItem->maRect = pItem->maRect;
pNewItem->mpxAcc = NULL; pNewItem->mpxAcc = NULL;
mpImpl->mpItemList->push_back( pNewItem );
mpImpl->mpItemList->Insert( pNewItem );
pItem = rValueSet.mpImpl->mpItemList->Next();
} }
// Variablen zuruecksetzen // Variablen zuruecksetzen
@@ -2003,43 +2039,36 @@ void ValueSet::Clear()
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
USHORT ValueSet::GetItemCount() const size_t ValueSet::GetItemCount() const
{ {
return (USHORT)mpImpl->mpItemList->Count(); return mpImpl->mpItemList->size();
} }
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
USHORT ValueSet::GetItemPos( USHORT nItemId ) const size_t ValueSet::GetItemPos( USHORT nItemId ) const
{ {
ValueSetItem* pItem = mpImpl->mpItemList->First(); for ( size_t i = 0, n = mpImpl->mpItemList->size(); i < n; ++i ) {
while ( pItem ) ValueSetItem* pItem = (*mpImpl->mpItemList)[ i ];
{ if ( pItem->mnId == nItemId ) {
if ( pItem->mnId == nItemId ) return i;
return (USHORT)mpImpl->mpItemList->GetCurPos(); }
pItem = mpImpl->mpItemList->Next();
} }
return VALUESET_ITEM_NOTFOUND; return VALUESET_ITEM_NOTFOUND;
} }
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
USHORT ValueSet::GetItemId( USHORT nPos ) const USHORT ValueSet::GetItemId( size_t nPos ) const
{ {
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( nPos ); return ( nPos < mpImpl->mpItemList->size() ) ? (*mpImpl->mpItemList)[ nPos ]->mnId : 0 ;
if ( pItem )
return pItem->mnId;
else
return 0;
} }
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
USHORT ValueSet::GetItemId( const Point& rPos ) const USHORT ValueSet::GetItemId( const Point& rPos ) const
{ {
USHORT nItemPos = ImplGetItem( rPos ); size_t nItemPos = ImplGetItem( rPos );
if ( nItemPos != VALUESET_ITEM_NOTFOUND ) if ( nItemPos != VALUESET_ITEM_NOTFOUND )
return GetItemId( nItemPos ); return GetItemId( nItemPos );
@@ -2050,10 +2079,10 @@ USHORT ValueSet::GetItemId( const Point& rPos ) const
Rectangle ValueSet::GetItemRect( USHORT nItemId ) const Rectangle ValueSet::GetItemRect( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos != VALUESET_ITEM_NOTFOUND ) if ( nPos != VALUESET_ITEM_NOTFOUND )
return mpImpl->mpItemList->GetObject( nPos )->maRect; return (*mpImpl->mpItemList)[ nPos ]->maRect;
else else
return Rectangle(); return Rectangle();
} }
@@ -2134,14 +2163,14 @@ void ValueSet::SetFirstLine( USHORT nNewLine )
void ValueSet::SelectItem( USHORT nItemId ) void ValueSet::SelectItem( USHORT nItemId )
{ {
USHORT nItemPos = 0; size_t nItemPos = 0;
if ( nItemId ) if ( nItemId )
{ {
nItemPos = GetItemPos( nItemId ); nItemPos = GetItemPos( nItemId );
if ( nItemPos == VALUESET_ITEM_NOTFOUND ) if ( nItemPos == VALUESET_ITEM_NOTFOUND )
return; return;
if ( mpImpl->mpItemList->GetObject( nItemPos )->meType == VALUESETITEM_SPACE ) if ( (*mpImpl->mpItemList)[ nItemPos ]->meType == VALUESETITEM_SPACE )
return; return;
} }
@@ -2197,12 +2226,12 @@ void ValueSet::SelectItem( USHORT nItemId )
// focus event (deselect) // focus event (deselect)
if( nOldItem ) if( nOldItem )
{ {
const USHORT nPos = GetItemPos( nItemId ); const size_t nPos = GetItemPos( nItemId );
if( nPos != VALUESET_ITEM_NOTFOUND ) if( nPos != VALUESET_ITEM_NOTFOUND )
{ {
ValueItemAcc* pItemAcc = ValueItemAcc::getImplementation( ValueItemAcc* pItemAcc = ValueItemAcc::getImplementation(
mpImpl->mpItemList->GetObject( nPos )->GetAccessible( mpImpl->mbIsTransientChildrenDisabled ) ); (*mpImpl->mpItemList)[ nPos ]->GetAccessible( mpImpl->mbIsTransientChildrenDisabled ) );
if( pItemAcc ) if( pItemAcc )
{ {
@@ -2223,11 +2252,11 @@ void ValueSet::SelectItem( USHORT nItemId )
} }
// focus event (select) // focus event (select)
const USHORT nPos = GetItemPos( mnSelItemId ); const size_t nPos = GetItemPos( mnSelItemId );
ValueSetItem* pItem; ValueSetItem* pItem;
if( nPos != VALUESET_ITEM_NOTFOUND ) if( nPos != VALUESET_ITEM_NOTFOUND )
pItem = mpImpl->mpItemList->GetObject(nPos); pItem = (*mpImpl->mpItemList)[ nPos ];
else else
pItem = mpNoneItem; pItem = mpNoneItem;
@@ -2275,20 +2304,20 @@ void ValueSet::SetNoSelection()
void ValueSet::SetItemBits( USHORT nItemId, USHORT nItemBits ) void ValueSet::SetItemBits( USHORT nItemId, USHORT nItemBits )
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos != VALUESET_ITEM_NOTFOUND ) if ( nPos != VALUESET_ITEM_NOTFOUND )
mpImpl->mpItemList->GetObject( nPos )->mnBits = nItemBits; (*mpImpl->mpItemList)[ nPos ]->mnBits = nItemBits;
} }
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
USHORT ValueSet::GetItemBits( USHORT nItemId ) const USHORT ValueSet::GetItemBits( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos != VALUESET_ITEM_NOTFOUND ) if ( nPos != VALUESET_ITEM_NOTFOUND )
return mpImpl->mpItemList->GetObject( nPos )->mnBits; return (*mpImpl->mpItemList)[ nPos ]->mnBits;
else else
return 0; return 0;
} }
@@ -2297,12 +2326,12 @@ USHORT ValueSet::GetItemBits( USHORT nItemId ) const
void ValueSet::SetItemImage( USHORT nItemId, const Image& rImage ) void ValueSet::SetItemImage( USHORT nItemId, const Image& rImage )
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos == VALUESET_ITEM_NOTFOUND ) if ( nPos == VALUESET_ITEM_NOTFOUND )
return; return;
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( nPos ); ValueSetItem* pItem = (*mpImpl->mpItemList)[ nPos ];
pItem->meType = VALUESETITEM_IMAGE; pItem->meType = VALUESETITEM_IMAGE;
pItem->maImage = rImage; pItem->maImage = rImage;
@@ -2319,10 +2348,10 @@ void ValueSet::SetItemImage( USHORT nItemId, const Image& rImage )
Image ValueSet::GetItemImage( USHORT nItemId ) const Image ValueSet::GetItemImage( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos != VALUESET_ITEM_NOTFOUND ) if ( nPos != VALUESET_ITEM_NOTFOUND )
return mpImpl->mpItemList->GetObject( nPos )->maImage; return (*mpImpl->mpItemList)[ nPos ]->maImage;
else else
return Image(); return Image();
} }
@@ -2331,12 +2360,12 @@ Image ValueSet::GetItemImage( USHORT nItemId ) const
void ValueSet::SetItemColor( USHORT nItemId, const Color& rColor ) void ValueSet::SetItemColor( USHORT nItemId, const Color& rColor )
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos == VALUESET_ITEM_NOTFOUND ) if ( nPos == VALUESET_ITEM_NOTFOUND )
return; return;
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( nPos ); ValueSetItem* pItem = (*mpImpl->mpItemList)[ nPos ];
pItem->meType = VALUESETITEM_COLOR; pItem->meType = VALUESETITEM_COLOR;
pItem->maColor = rColor; pItem->maColor = rColor;
@@ -2353,10 +2382,10 @@ void ValueSet::SetItemColor( USHORT nItemId, const Color& rColor )
Color ValueSet::GetItemColor( USHORT nItemId ) const Color ValueSet::GetItemColor( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos != VALUESET_ITEM_NOTFOUND ) if ( nPos != VALUESET_ITEM_NOTFOUND )
return mpImpl->mpItemList->GetObject( nPos )->maColor; return (*mpImpl->mpItemList)[ nPos ]->maColor;
else else
return Color(); return Color();
} }
@@ -2365,12 +2394,12 @@ Color ValueSet::GetItemColor( USHORT nItemId ) const
void ValueSet::SetItemData( USHORT nItemId, void* pData ) void ValueSet::SetItemData( USHORT nItemId, void* pData )
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos == VALUESET_ITEM_NOTFOUND ) if ( nPos == VALUESET_ITEM_NOTFOUND )
return; return;
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( nPos ); ValueSetItem* pItem = (*mpImpl->mpItemList)[ nPos ];
pItem->mpData = pData; pItem->mpData = pData;
if ( pItem->meType == VALUESETITEM_USERDRAW ) if ( pItem->meType == VALUESETITEM_USERDRAW )
@@ -2389,10 +2418,10 @@ void ValueSet::SetItemData( USHORT nItemId, void* pData )
void* ValueSet::GetItemData( USHORT nItemId ) const void* ValueSet::GetItemData( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos != VALUESET_ITEM_NOTFOUND ) if ( nPos != VALUESET_ITEM_NOTFOUND )
return mpImpl->mpItemList->GetObject( nPos )->mpData; return (*mpImpl->mpItemList)[ nPos ]->mpData;
else else
return NULL; return NULL;
} }
@@ -2401,13 +2430,13 @@ void* ValueSet::GetItemData( USHORT nItemId ) const
void ValueSet::SetItemText( USHORT nItemId, const XubString& rText ) void ValueSet::SetItemText( USHORT nItemId, const XubString& rText )
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos == VALUESET_ITEM_NOTFOUND ) if ( nPos == VALUESET_ITEM_NOTFOUND )
return; return;
ValueSetItem* pItem = mpImpl->mpItemList->GetObject( nPos ); ValueSetItem* pItem = (*mpImpl->mpItemList)[ nPos ];
// Remember old and new name for accessibility event. // Remember old and new name for accessibility event.
::com::sun::star::uno::Any aOldName, aNewName; ::com::sun::star::uno::Any aOldName, aNewName;
@@ -2444,10 +2473,10 @@ void ValueSet::SetItemText( USHORT nItemId, const XubString& rText )
XubString ValueSet::GetItemText( USHORT nItemId ) const XubString ValueSet::GetItemText( USHORT nItemId ) const
{ {
USHORT nPos = GetItemPos( nItemId ); size_t nPos = GetItemPos( nItemId );
if ( nPos != VALUESET_ITEM_NOTFOUND ) if ( nPos != VALUESET_ITEM_NOTFOUND )
return mpImpl->mpItemList->GetObject( nPos )->maText; return (*mpImpl->mpItemList)[ nPos ]->maText;
else else
return XubString(); return XubString();
} }
@@ -2547,13 +2576,13 @@ BOOL ValueSet::StartDrag( const CommandEvent& rCEvt, Region& rRegion )
Size ValueSet::CalcWindowSizePixel( const Size& rItemSize, USHORT nDesireCols, Size ValueSet::CalcWindowSizePixel( const Size& rItemSize, USHORT nDesireCols,
USHORT nDesireLines ) USHORT nDesireLines )
{ {
long nCalcCols = (long)nDesireCols; size_t nCalcCols = nDesireCols;
long nCalcLines = (long)nDesireLines; size_t nCalcLines = nDesireLines;
if ( !nCalcCols ) if ( !nCalcCols )
{ {
if ( mnUserCols ) if ( mnUserCols )
nCalcCols = (long)mnUserCols; nCalcCols = mnUserCols;
else else
nCalcCols = 1; nCalcCols = 1;
} }
@@ -2568,8 +2597,8 @@ Size ValueSet::CalcWindowSizePixel( const Size& rItemSize, USHORT nDesireCols,
nCalcLines = mnUserVisLines; nCalcLines = mnUserVisLines;
else else
{ {
nCalcLines = (long)mpImpl->mpItemList->Count() / nCalcCols; nCalcLines = mpImpl->mpItemList->size() / nCalcCols;
if ( mpImpl->mpItemList->Count() % nCalcCols ) if ( mpImpl->mpItemList->size() % nCalcCols )
nCalcLines++; nCalcLines++;
else if ( !nCalcLines ) else if ( !nCalcLines )
nCalcLines = 1; nCalcLines = 1;
@@ -2679,7 +2708,7 @@ USHORT ValueSet::ShowDropPos( const Point& rPos )
ImplScroll( rPos ); ImplScroll( rPos );
// DropPosition ermitteln // DropPosition ermitteln
USHORT nPos = ImplGetItem( rPos, TRUE ); size_t nPos = ImplGetItem( rPos, TRUE );
if ( nPos == VALUESET_ITEM_NONEITEM ) if ( nPos == VALUESET_ITEM_NONEITEM )
nPos = 0; nPos = 0;
else if ( nPos == VALUESET_ITEM_NOTFOUND ) else if ( nPos == VALUESET_ITEM_NOTFOUND )
@@ -2689,12 +2718,12 @@ USHORT ValueSet::ShowDropPos( const Point& rPos )
aOutSize.Height() = mnTextOffset; aOutSize.Height() = mnTextOffset;
if ( (rPos.X() >= 0) && (rPos.X() < aOutSize.Width()) && if ( (rPos.X() >= 0) && (rPos.X() < aOutSize.Width()) &&
(rPos.Y() >= 0) && (rPos.Y() < aOutSize.Height()) ) (rPos.Y() >= 0) && (rPos.Y() < aOutSize.Height()) )
nPos = (USHORT)mpImpl->mpItemList->Count(); nPos = mpImpl->mpItemList->size();
} }
else else
{ {
// Im letzten viertel, dann wird ein Item spaeter eingefuegt // Im letzten viertel, dann wird ein Item spaeter eingefuegt
Rectangle aRect = mpImpl->mpItemList->GetObject( nPos )->maRect; Rectangle aRect = (*mpImpl->mpItemList)[ nPos ]->maRect;
if ( rPos.X() > aRect.Left()+aRect.GetWidth()-(aRect.GetWidth()/4) ) if ( rPos.X() > aRect.Left()+aRect.GetWidth()-(aRect.GetWidth()/4) )
nPos++; nPos++;
} }