| 506 | wxAccStatus TrackPanelAx::GetValue( int childId, wxString* strValue ) |
| 507 | #else |
| 508 | wxAccStatus TrackPanelAx::GetValue( int WXUNUSED(childId), wxString* WXUNUSED(strValue) ) |
| 509 | #endif |
| 510 | { |
| 511 | #if defined(__WXMSW__) |
| 512 | return wxACC_NOT_IMPLEMENTED; |
| 513 | #endif |
| 514 | |
| 515 | #if defined(__WXMAC__) |
| 516 | if( childId == wxACC_SELF ) |
| 517 | { |
| 518 | *strValue = _("TrackView"); |
| 519 | } |
| 520 | else |
| 521 | { |
| 522 | auto pFocus = mwFocus.lock(); |
| 523 | if (!pFocus) |
| 524 | return wxACC_FAIL; |
| 525 | |
| 526 | auto t = pFocus->FindTrack(childId); |
| 527 | |
| 528 | if( t == NULL ) |
| 529 | { |
| 530 | return wxACC_FAIL; |
| 531 | } |
| 532 | else |
| 533 | { |
| 534 | /* i18n-hint: The %d is replaced by the number of the track.*/ |
| 535 | strValue->Printf(_("Track %d"), pFocus->TrackNum(t)); |
| 536 | strValue->Append(" " + t->GetName()); |
| 537 | |
| 538 | // LLL: Remove these during "refactor" |
| 539 | auto pt = dynamic_cast<PlayableTrack *>(t.get()); |
| 540 | if( pt && pt->GetMute() ) |
| 541 | { |
| 542 | strValue->Append( _( " Mute On" ) ); |
| 543 | } |
| 544 | |
| 545 | if( pt && pt->GetSolo() ) |
| 546 | { |
| 547 | strValue->Append( _( " Solo On" ) ); |
| 548 | } |
| 549 | if( t->GetSelected() ) |
| 550 | { |
| 551 | strValue->Append( _( " Select On" ) ); |
| 552 | } |
| 553 | } |
| 554 | } |
| 555 | return wxACC_OK; |
| 556 | #endif |
| 557 | } |
| 558 | |
| 559 | // Gets the window with the keyboard focus. |
| 560 | // If childId is 0 and child is NULL, no object in |