namespace Pane { /* ** Destroy event handler and all attached events (4 parameters) */ template /**/ EventHandler::~EventHandler () { typename Events::iterator i; for (i = this->events.begin (); i != this->events.end (); ++i) delete (*i); } /* ** Destroy event handler and all attached events (3 parameters) */ template /**/ EventHandler::~EventHandler () { typename Events::iterator i; for (i = this->events.begin (); i != this->events.end (); ++i) delete (*i); } /* ** Destroy event handler and all attached events (4 parameters) */ template /**/ EventHandler::~EventHandler () { typename Events::iterator i; for (i = this->events.begin (); i != this->events.end (); ++i) delete (*i); } /* ** Destroy event handler and all attached events (4 parameters) */ template /**/ EventHandler::~EventHandler () { typename Events::iterator i; for (i = this->events.begin (); i != this->events.end (); ++i) delete (*i); } /* ** Destroy event handler and all attached events (0 parameter) */ template /**/ EventHandler::~EventHandler () { typename Events::iterator i; for (i = this->events.begin (); i != this->events.end (); ++i) delete (*i); } /* ** Attach new event to handler (4 parameters) ** event: event to attach */ template void EventHandler::operator += (EventClass* event) { this->events.push_back (event); } /* ** Attach new event to handler (4 parameters) ** event: event to attach */ template void EventHandler::operator += (EventClass* event) { this->events.push_back (event); } /* ** Attach new event to handler (4 parameters) ** event: event to attach */ template void EventHandler::operator += (EventClass* event) { this->events.push_back (event); } /* ** Attach new event to handler (1 parameter) ** event: event to attach */ template void EventHandler::operator += (EventClass* event) { this->events.push_back (event); } /* ** Attach new event to handler (0 parameter) ** event: event to attach */ template void EventHandler::operator += (EventClass* event) { this->events.push_back (event); } /* ** Call attached events (4 parameters) ** param1: parameter #1 ** param2: parameter #2 ** param3: parameter #3 ** param4: parameter #4 ** return: true if at least one event was attached, false else */ template bool EventHandler::operator () (Param1 param1, Param2 param2, Param3 param3, Param4 param4) { typename Events::iterator i; for (i = this->events.begin (); i != this->events.end (); ++i) (**i) (param1, param2, param3, param4); return this->events.size () > 0; } /* ** Call attached events (3 parameters) ** param1: parameter #1 ** param2: parameter #2 ** param3: parameter #3 ** return: true if at least one event was attached, false else */ template bool EventHandler::operator () (Param1 param1, Param2 param2, Param3 param3) { typename Events::iterator i; for (i = this->events.begin (); i != this->events.end (); ++i) (**i) (param1, param2, param3); return this->events.size () > 0; } /* ** Call attached events (2 parameters) ** param1: parameter #1 ** param2: parameter #2 ** return: true if at least one event was attached, false else */ template bool EventHandler::operator () (Param1 param1, Param2 param2) { typename Events::iterator i; for (i = this->events.begin (); i != this->events.end (); ++i) (**i) (param1, param2); return this->events.size () > 0; } /* ** Call attached events (1 parameter) ** param1: parameter #1 ** return: true if at least one event was attached, false else */ template bool EventHandler::operator () (Param1 param1) { typename Events::iterator i; for (i = this->events.begin (); i != this->events.end (); ++i) (**i) (param1); return this->events.size () > 0; } /* ** Call attached events (0 parameter) ** return: true if at least one event was attached, false else */ template bool EventHandler::operator () () { typename Events::iterator i; for (i = this->events.begin (); i != this->events.end (); ++i) (**i) (); return this->events.size () > 0; } }