X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/155ecd4c4221d3bbc7aa93d472d11948f21d21ab..4d51143c5e77949c4633eae3f083d40f608cf387:/src/generic/imaglist.cpp diff --git a/src/generic/imaglist.cpp b/src/generic/imaglist.cpp index 4fbf79d9df..87240c8aa2 100644 --- a/src/generic/imaglist.cpp +++ b/src/generic/imaglist.cpp @@ -2,7 +2,7 @@ // Name: src/generic/imaglist.cpp // Purpose: // Author: Robert Roebling -// Id: $id$ +// Id: $Id$ // Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -14,11 +14,11 @@ #pragma hdrstop #endif -#if wxUSE_IMAGLIST +#if wxUSE_IMAGLIST && !defined(wxHAS_NATIVE_IMAGELIST) #ifndef __WXPALMOS__ -#include "wx/generic/imaglist.h" +#include "wx/imaglist.h" #ifndef WX_PRECOMP #include "wx/dc.h" @@ -31,15 +31,7 @@ //----------------------------------------------------------------------------- IMPLEMENT_DYNAMIC_CLASS(wxGenericImageList, wxObject) - -#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__) -/* - * wxImageList has to be a real class or we have problems with - * the run-time information. - */ - IMPLEMENT_DYNAMIC_CLASS(wxImageList, wxGenericImageList) -#endif wxGenericImageList::wxGenericImageList( int width, int height, bool mask, int initialCount ) { @@ -76,6 +68,8 @@ int wxGenericImageList::Add( const wxBitmap &bitmap ) _T("invalid bitmap size in wxImageList: this might work ") _T("on this platform but definitely won't under Windows.") ); + const int index = int(m_images.GetCount()); + if (bitmap.IsKindOf(CLASSINFO(wxIcon))) { m_images.Append( new wxIcon( (const wxIcon&) bitmap ) ); @@ -106,7 +100,7 @@ int wxGenericImageList::Add( const wxBitmap &bitmap ) m_height = bitmap.GetHeight(); } - return m_images.GetCount()-1; + return index; } int wxGenericImageList::Add( const wxBitmap& bitmap, const wxBitmap& mask ) @@ -126,9 +120,9 @@ int wxGenericImageList::Add( const wxBitmap& bitmap, const wxColour& maskColour const wxBitmap *wxGenericImageList::GetBitmapPtr( int index ) const { - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); - wxCHECK_MSG( node, (wxBitmap *) NULL, wxT("wrong index in image list") ); + wxCHECK_MSG( node, NULL, wxT("wrong index in image list") ); return (wxBitmap*)node->GetData(); } @@ -159,7 +153,7 @@ wxIcon wxGenericImageList::GetIcon(int index) const bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap ) { - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") ); @@ -181,7 +175,7 @@ bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap ) } else { - wxList::compatibility_iterator next = node->GetNext(); + wxObjectList::compatibility_iterator next = node->GetNext(); delete node->GetData(); m_images.Erase( node ); m_images.Insert( next, newBitmap ); @@ -192,7 +186,7 @@ bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap ) bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap, const wxBitmap &mask ) { - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") ); @@ -214,7 +208,7 @@ bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap, const wxBit } else { - wxList::compatibility_iterator next = node->GetNext(); + wxObjectList::compatibility_iterator next = node->GetNext(); delete node->GetData(); m_images.Erase( node ); m_images.Insert( next, newBitmap ); @@ -228,7 +222,7 @@ bool wxGenericImageList::Replace( int index, const wxBitmap &bitmap, const wxBit bool wxGenericImageList::Remove( int index ) { - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") ); @@ -240,7 +234,7 @@ bool wxGenericImageList::Remove( int index ) bool wxGenericImageList::RemoveAll() { - WX_CLEAR_LIST(wxList, m_images); + WX_CLEAR_LIST(wxObjectList, m_images); m_images.Clear(); return true; @@ -251,7 +245,7 @@ bool wxGenericImageList::GetSize( int index, int &width, int &height ) const width = 0; height = 0; - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") ); @@ -265,7 +259,7 @@ bool wxGenericImageList::GetSize( int index, int &width, int &height ) const bool wxGenericImageList::Draw( int index, wxDC &dc, int x, int y, int flags, bool WXUNUSED(solidBackground) ) { - wxList::compatibility_iterator node = m_images.Item( index ); + wxObjectList::compatibility_iterator node = m_images.Item( index ); wxCHECK_MSG( node, false, wxT("wrong index in image list") );