- ehsource->Connect( -1 , delegateInfo->GetEventType() ,
- handlerInfo->GetEventFunction() , NULL /*user data*/ ,
- ehsink ) ;
+ const wxDelegateTypeInfo *delegateTypeInfo = dynamic_cast<const wxDelegateTypeInfo*>(delegateInfo->GetTypeInfo());
+ if( delegateTypeInfo && delegateTypeInfo->GetLastEventType() == -1 )
+ {
+ ehsource->Connect( -1 , delegateTypeInfo->GetEventType() ,
+ handlerInfo->GetEventFunction() , NULL /*user data*/ ,
+ ehsink ) ;
+ }
+ else
+ {
+ for ( wxEventType iter = delegateTypeInfo->GetEventType() ; iter <= delegateTypeInfo->GetLastEventType() ; ++iter )
+ {
+ ehsource->Connect( -1 , iter ,
+ handlerInfo->GetEventFunction() , NULL /*user data*/ ,
+ ehsink ) ;
+ }
+ }