bool FOOTPRINT_VIEWER_FRAME::ShowModal( wxString* aFootprint, wxWindow* aParent ) { if( aFootprint && !aFootprint->IsEmpty() ) { wxString msg; LIB_TABLE* fpTable = Prj().PcbFootprintLibs(); LIB_ID fpid; fpid.Parse( *aFootprint, LIB_ID::ID_PCB, true ); if( fpid.IsValid() ) { wxString nickname = fpid.GetLibNickname(); if( !fpTable->HasLibrary( fpid.GetLibNickname(), false ) ) { msg.sprintf( _( "The current configuration does not include a library with the\n" "nickname \"%s\". Use Manage Footprint Libraries\n" "to edit the configuration." ), nickname ); DisplayErrorMessage( aParent, _( "Footprint library not found." ), msg ); } else if ( !fpTable->HasLibrary( fpid.GetLibNickname(), true ) ) { msg.sprintf( _( "The library with the nickname \"%s\" is not enabled\n" "in the current configuration. Use Manage Footprint Libraries to\n" "edit the configuration." ), nickname ); DisplayErrorMessage( aParent, _( "Footprint library not enabled." ), msg ); } else { setCurNickname( nickname ); setCurFootprintName( fpid.GetLibItemName() ); ReCreateFootprintList(); } SelectAndViewFootprint( NEW_PART ); } } return KIWAY_PLAYER::ShowModal( aFootprint, aParent ); }
bool LIB_VIEW_FRAME::ShowModal( wxString* aSymbol, wxWindow* aParent ) { if( aSymbol && !aSymbol->IsEmpty() ) { wxString msg; LIB_TABLE* libTable = Prj().SchSymbolLibTable(); LIB_ID libid; libid.Parse( *aSymbol, LIB_ID::ID_SCH, true ); if( libid.IsValid() ) { wxString nickname = libid.GetLibNickname(); if( !libTable->HasLibrary( libid.GetLibNickname(), false ) ) { msg.sprintf( _( "The current configuration does not include a library with the\n" "nickname \"%s\". Use Manage Symbol Libraries\n" "to edit the configuration." ), nickname ); DisplayErrorMessage( aParent, _( "Symbol library not found." ), msg ); } else if ( !libTable->HasLibrary( libid.GetLibNickname(), true ) ) { msg.sprintf( _( "The library with the nickname \"%s\" is not enabled\n" "in the current configuration. Use Manage Symbol Libraries to\n" "edit the configuration." ), nickname ); DisplayErrorMessage( aParent, _( "Symbol library not enabled." ), msg ); } else { SetSelectedLibrary( libid.GetLibNickname() ); SetSelectedComponent( libid.GetLibItemName() ); } } } return KIWAY_PLAYER::ShowModal( aSymbol, aParent ); }