Пример #1
0
void listener_container::deregister_listener(listener_ptr p) {
    deregister_listener(p.get());
    if(!can_change_listeners()) {
        reference_holder_.push_back(p);
    }
    std::vector<listener_ptr>::iterator itor = std::find(listeners_.begin(), listeners_.end(), p);
    if(itor != listeners_.end()) {
        listeners_.erase(itor);
    }
}
Пример #2
0
 foreach(widget_ptr w, widgets_) {
     deregister_listener(w);
 }
Пример #3
0
void dialog::remove_widget(widget_ptr w)
{
    deregister_listener(w);
	widgets_.erase(std::remove(widgets_.begin(),widgets_.end(),w),
	               widgets_.end());
}