mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-23 17:30:17 +01:00
Fewer uses of ::GetActiveProject()...
... where we have a window, ascend the chain of parent pointers instead to find the project window.
This commit is contained in:
@@ -24,3 +24,26 @@ ProjectWindowBase::ProjectWindowBase(wxWindow * parent, wxWindowID id,
|
||||
ProjectWindowBase::~ProjectWindowBase()
|
||||
{
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
||||
ProjectWindowBase *FindProjectWindow( wxWindow *pWindow )
|
||||
{
|
||||
while ( pWindow && pWindow->GetParent() )
|
||||
pWindow = pWindow->GetParent();
|
||||
return dynamic_cast< ProjectWindowBase* >( pWindow );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
AudacityProject *FindProjectFromWindow( wxWindow *pWindow )
|
||||
{
|
||||
auto pProjectWindow = FindProjectWindow( pWindow );
|
||||
return pProjectWindow ? &pProjectWindow->GetProject() : nullptr;
|
||||
}
|
||||
|
||||
const AudacityProject *FindProjectFromWindow( const wxWindow *pWindow )
|
||||
{
|
||||
return FindProjectFromWindow( const_cast< wxWindow* >( pWindow ) );
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user