Added wxEvtHandler::Disconect()
Added wxToolBar::DeleteTool() Removed the WXWIN_COMP... defines from the common setup.h Some tests, git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -760,6 +760,7 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event)
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void wxEvtHandler::Connect( int id, int lastId,
|
||||
wxEventType eventType,
|
||||
wxObjectEventFunction func,
|
||||
@@ -778,6 +779,33 @@ void wxEvtHandler::Connect( int id, int lastId,
|
||||
m_dynamicEvents->Append( (wxObject*) entry );
|
||||
}
|
||||
|
||||
bool wxEvtHandler::Disconnect( int id, int lastId, wxEventType eventType,
|
||||
wxObjectEventFunction func,
|
||||
wxObject *userData )
|
||||
{
|
||||
if (!m_dynamicEvents)
|
||||
return FALSE;
|
||||
|
||||
wxNode *node = m_dynamicEvents->First();
|
||||
while (node)
|
||||
{
|
||||
wxEventTableEntry *entry = (wxEventTableEntry*)node->Data();
|
||||
if ((entry->m_id == id) &&
|
||||
((entry->m_lastId == lastId) || (lastId == -1)) &&
|
||||
((entry->m_eventType == eventType) || (eventType == wxEVT_NULL)) &&
|
||||
((entry->m_fn == func) || (func == (wxObjectEventFunction)NULL)) &&
|
||||
((entry->m_callbackUserData == userData) || (userData == (wxObject*)NULL)))
|
||||
{
|
||||
if (entry->m_callbackUserData) delete entry->m_callbackUserData;
|
||||
m_dynamicEvents->DeleteNode( node );
|
||||
delete entry;
|
||||
return TRUE;
|
||||
}
|
||||
node = node->Next();
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool wxEvtHandler::SearchDynamicEventTable( wxEvent& event )
|
||||
{
|
||||
wxCHECK_MSG( m_dynamicEvents, FALSE,
|
||||
|
Reference in New Issue
Block a user