+ if ( event.GetKeyCode() == WXK_RETURN )
+ {
+ wxCommandEvent event(wxEVT_COMMAND_TEXT_ENTER, m_cb->GetId());
+ event.SetString( GetValue() );
+ event.SetInt( m_cb->GetSelection() );
+ event.SetEventObject( m_cb );
+
+ // This will invoke the dialog default action, such
+ // as the clicking the default button.
+
+ if (!m_cb->GetEventHandler()->ProcessEvent( event ))
+ {
+ wxWindow *parent = GetParent();
+ while( parent && !parent->IsTopLevel() && parent->GetDefaultItem() == NULL ) {
+ parent = parent->GetParent() ;
+ }
+ if ( parent && parent->GetDefaultItem() )
+ {
+ wxButton *def = wxDynamicCast(parent->GetDefaultItem(),
+ wxButton);
+ if ( def && def->IsEnabled() )
+ {
+ wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, def->GetId() );
+ event.SetEventObject(def);
+ def->Command(event);
+ }
+ }
+
+ return;
+ }
+ }