forked from Sneeds-Feed-and-Seed/sneedacity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProjectWindowBase.cpp
49 lines (35 loc) · 1.2 KB
/
ProjectWindowBase.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/**********************************************************************
Sneedacity: A Digital Audio Editor
ProjectWindowBase.cpp
Paul Licameli split from ProjectWindow.cpp
**********************************************************************/
#include "ProjectWindowBase.h"
#include "Project.h"
ProjectWindowBase::ProjectWindowBase(wxWindow * parent, wxWindowID id,
const wxPoint & pos,
const wxSize & size, SneedacityProject &project)
: wxFrame(parent, id, _TS("Sneedacity"), pos, size)
, mProject{ project }
{
project.SetFrame( this );
};
ProjectWindowBase::~ProjectWindowBase()
{
}
namespace {
ProjectWindowBase *FindProjectWindow( wxWindow *pWindow )
{
while ( pWindow && pWindow->GetParent() )
pWindow = pWindow->GetParent();
return dynamic_cast< ProjectWindowBase* >( pWindow );
}
}
SneedacityProject *FindProjectFromWindow( wxWindow *pWindow )
{
auto pProjectWindow = FindProjectWindow( pWindow );
return pProjectWindow ? &pProjectWindow->GetProject() : nullptr;
}
const SneedacityProject *FindProjectFromWindow( const wxWindow *pWindow )
{
return FindProjectFromWindow( const_cast< wxWindow* >( pWindow ) );
}