Added --use-stl to cnfigure, wxUSE_STL to setup0.h
Moved wx/datetime.inl contents to wx/datetime.h and removed inline redefinition hack. Implemented STL-like interface on top of wxList/wxArray, when wxUSE_STL=0. Implemented wxList-like and wxArray interfaces on top of std::list and std::vector, when wxUSE_STL=1. Added arrstr.h, moved wxArrayString declaration there; string.h #includes arrstr.h only if WXWIN_COMPATIBILITY_2_4 is enabled. Added WX_CLEAR_HASH_MAP, WX_CLEAR_HASH_TABLE, WX_CLEAR_LIST macros, to clear a wxHashMap, wxHashTable, wxList containing pointers: deletes pointers and makes container zero-sized. When wxUSE_STL=1, wxStringList works like a std::list<wxString>. Made wxBase compile when wxUSE_STL=1. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -712,19 +712,19 @@ wxEvtHandler::~wxEvtHandler()
|
||||
|
||||
if (m_dynamicEvents)
|
||||
{
|
||||
wxNode *node = m_dynamicEvents->GetFirst();
|
||||
while (node)
|
||||
wxList::iterator it = m_dynamicEvents->begin(),
|
||||
en = m_dynamicEvents->end();
|
||||
for (;it != en; ++it)
|
||||
{
|
||||
#if WXWIN_COMPATIBILITY_EVENT_TYPES
|
||||
wxEventTableEntry *entry = (wxEventTableEntry*)node->GetData();
|
||||
wxEventTableEntry *entry = (wxEventTableEntry*)*it;
|
||||
#else // !WXWIN_COMPATIBILITY_EVENT_TYPES
|
||||
wxDynamicEventTableEntry *entry = (wxDynamicEventTableEntry*)node->GetData();
|
||||
wxDynamicEventTableEntry *entry = (wxDynamicEventTableEntry*)*it;
|
||||
#endif // WXWIN_COMPATIBILITY_EVENT_TYPES/!WXWIN_COMPATIBILITY_EVENT_TYPES
|
||||
|
||||
if (entry->m_callbackUserData)
|
||||
delete entry->m_callbackUserData;
|
||||
delete entry;
|
||||
node = node->GetNext();
|
||||
}
|
||||
delete m_dynamicEvents;
|
||||
};
|
||||
@@ -818,11 +818,11 @@ void wxEvtHandler::ProcessPendingEvents()
|
||||
wxENTER_CRIT_SECT( *m_eventsLocker);
|
||||
#endif
|
||||
|
||||
wxNode *node = m_pendingEvents->GetFirst();
|
||||
wxList::compatibility_iterator node = m_pendingEvents->GetFirst();
|
||||
while ( node )
|
||||
{
|
||||
wxEvent *event = (wxEvent *)node->GetData();
|
||||
delete node;
|
||||
m_pendingEvents->Erase(node);
|
||||
|
||||
// In ProcessEvent, new events might get added and
|
||||
// we can safely leave the crtical section here.
|
||||
@@ -1000,7 +1000,7 @@ bool wxEvtHandler::Disconnect( int id, int lastId, wxEventType eventType,
|
||||
if (!m_dynamicEvents)
|
||||
return FALSE;
|
||||
|
||||
wxNode *node = m_dynamicEvents->GetFirst();
|
||||
wxList::compatibility_iterator node = m_dynamicEvents->GetFirst();
|
||||
while (node)
|
||||
{
|
||||
#if WXWIN_COMPATIBILITY_EVENT_TYPES
|
||||
@@ -1018,7 +1018,7 @@ bool wxEvtHandler::Disconnect( int id, int lastId, wxEventType eventType,
|
||||
{
|
||||
if (entry->m_callbackUserData)
|
||||
delete entry->m_callbackUserData;
|
||||
m_dynamicEvents->DeleteNode( node );
|
||||
m_dynamicEvents->Erase( node );
|
||||
delete entry;
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1034,7 +1034,7 @@ bool wxEvtHandler::SearchDynamicEventTable( wxEvent& event )
|
||||
|
||||
int commandId = event.GetId();
|
||||
|
||||
wxNode *node = m_dynamicEvents->GetFirst();
|
||||
wxList::compatibility_iterator node = m_dynamicEvents->GetFirst();
|
||||
while (node)
|
||||
{
|
||||
#if WXWIN_COMPATIBILITY_EVENT_TYPES
|
||||
|
Reference in New Issue
Block a user