mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-02-05 16:54:17 +05:00
+ EventListenerData* GetEventListenerData(const std::string& listenerName) const;
This commit is contained in:
parent
587ed40d42
commit
9586144b53
@ -2097,6 +2097,23 @@ EventListenerData* SMESH_subMesh::GetEventListenerData(EventListener* listener)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Return an event listener data
|
||||||
|
* \param listenerName - the listener name
|
||||||
|
* \retval EventListenerData* - found data, maybe NULL
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
EventListenerData* SMESH_subMesh::GetEventListenerData(const string& listenerName) const
|
||||||
|
{
|
||||||
|
map< EventListener*, EventListenerData* >::const_iterator l_d = _eventListeners.begin();
|
||||||
|
for ( ; l_d != _eventListeners.end(); ++l_d )
|
||||||
|
if ( listenerName == l_d->first->GetName() )
|
||||||
|
return l_d->second;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
/*!
|
/*!
|
||||||
* \brief Notify stored event listeners on the occured event
|
* \brief Notify stored event listeners on the occured event
|
||||||
@ -2137,8 +2154,15 @@ void SMESH_subMesh::DeleteEventListener(EventListener* listener)
|
|||||||
map< EventListener*, EventListenerData* >::iterator l_d =
|
map< EventListener*, EventListenerData* >::iterator l_d =
|
||||||
_eventListeners.find( listener );
|
_eventListeners.find( listener );
|
||||||
if ( l_d != _eventListeners.end() ) {
|
if ( l_d != _eventListeners.end() ) {
|
||||||
if ( l_d->first && l_d->first->IsDeletable() ) delete l_d->first;
|
if ( l_d->first && l_d->first->IsDeletable() )
|
||||||
if ( l_d->second && l_d->second->IsDeletable() ) delete l_d->second;
|
{
|
||||||
|
l_d->first->BeforeDelete( this, l_d->second );
|
||||||
|
delete l_d->first;
|
||||||
|
}
|
||||||
|
if ( l_d->second && l_d->second->IsDeletable() )
|
||||||
|
{
|
||||||
|
delete l_d->second;
|
||||||
|
}
|
||||||
_eventListeners.erase( l_d );
|
_eventListeners.erase( l_d );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,13 @@ class SMESH_EXPORT SMESH_subMesh
|
|||||||
*/
|
*/
|
||||||
EventListenerData* GetEventListenerData(EventListener* listener) const;
|
EventListenerData* GetEventListenerData(EventListener* listener) const;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Return an event listener data
|
||||||
|
* \param listenerName - the listener name
|
||||||
|
* \retval EventListenerData* - found data, maybe NULL
|
||||||
|
*/
|
||||||
|
EventListenerData* GetEventListenerData(const std::string& listenerName) const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Unregister the listener and delete it and it's data
|
* \brief Unregister the listener and delete it and it's data
|
||||||
* \param listener - the event listener to delete
|
* \param listener - the event listener to delete
|
||||||
|
Loading…
Reference in New Issue
Block a user