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:
Robert Roebling
1999-11-18 15:58:35 +00:00
parent 61b04ac652
commit 97d7bfb8b4
12 changed files with 135 additions and 69 deletions

View File

@@ -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,