void LIB_EDIT_FRAME::KiwayMailIn( KIWAY_EXPRESS& mail ) { const std::string& payload = mail.GetPayload(); switch( mail.Command() ) { case MAIL_LIB_EDIT: if( !payload.empty() ) { wxString libFileName( payload ); wxString libNickname; wxString msg; SYMBOL_LIB_TABLE* libTable = Prj().SchSymbolLibTable(); const LIB_TABLE_ROW* libTableRow = libTable->FindRowByURI( libFileName ); if( !libTableRow ) { msg.Printf( _( "The current configuration does not include the symbol library\n" "\"%s\".\nUse Manage Symbol Libraries to edit the configuration." ), libFileName ); DisplayErrorMessage( this, _( "Library not found in symbol library table." ), msg ); break; } libNickname = libTableRow->GetNickName(); if( !libTable->HasLibrary( libNickname, true ) ) { msg.Printf( _( "The library with the nickname \"%s\" is not enabled\n" "in the current configuration. Use Manage Symbol Libraries to\n" "edit the configuration." ), libNickname ); DisplayErrorMessage( this, _( "Symbol library not enabled." ), msg ); break; } SetCurLib( libNickname ); if( m_treePane ) { LIB_ID id( libNickname, wxEmptyString ); m_treePane->GetLibTree()->ExpandLibId( id ); m_treePane->GetLibTree()->CenterLibId( id ); } } break; default: ; } }
void CVPCB_MAINFRAME::KiwayMailIn( KIWAY_EXPRESS& mail ) { const std::string& payload = mail.GetPayload(); DBG(printf( "%s: %s\n", __func__, payload.c_str() );) switch( mail.Command() )
bool KIWAY::ProcessEvent( wxEvent& aEvent ) { KIWAY_EXPRESS* mail = dynamic_cast<KIWAY_EXPRESS*>( &aEvent ); if( mail ) { FRAME_T dest = mail->Dest(); // see if recipient is alive KIWAY_PLAYER* alive = Player( dest, false ); if( alive ) { #if 1 return alive->ProcessEvent( aEvent ); #else alive->KiwayMailIn( *mail ); return true; #endif } } return false; }