mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-23 09:20:16 +01:00
Global slider instances for control panels out of TrackPanel.cpp...
... and updating of them is accomplished privately in implementation files, reducing intrusions into TrackPanel and ProjectWindow This removes #include-s from TrackInfo.cpp, leaving dependency cycles better than previously
This commit is contained in:
@@ -73,10 +73,8 @@ is time to refresh some aspect of the screen.
|
||||
#include "TrackInfo.h"
|
||||
#include "TrackPanelAx.h"
|
||||
#include "WaveTrack.h"
|
||||
#include "tracks/playabletrack/wavetrack/ui/WaveTrackControls.h"
|
||||
#ifdef EXPERIMENTAL_MIDI_OUT
|
||||
#include "NoteTrack.h"
|
||||
#include "tracks/playabletrack/notetrack/ui/NoteTrackControls.h"
|
||||
#endif
|
||||
|
||||
#include "ondemand/ODManager.h"
|
||||
@@ -260,7 +258,6 @@ TrackPanel::TrackPanel(wxWindow * parent, wxWindowID id,
|
||||
#pragma warning( default: 4355 )
|
||||
#endif
|
||||
{
|
||||
TrackInfo::ReCreateSliders();
|
||||
TrackInfo::UpdatePrefs( this );
|
||||
|
||||
SetLayoutDirection(wxLayout_LeftToRight);
|
||||
@@ -322,35 +319,6 @@ TrackPanel::~TrackPanel()
|
||||
ReleaseMouse();
|
||||
}
|
||||
|
||||
LWSlider *TrackPanel::GainSlider( const WaveTrack *wt )
|
||||
{
|
||||
auto pControls = &TrackControls::Get( *wt );
|
||||
auto rect = FindRect( *pControls );
|
||||
wxRect sliderRect;
|
||||
WaveTrackControls::GetGainRect( rect.GetTopLeft(), sliderRect );
|
||||
return TrackInfo::GainSlider(sliderRect, wt, false, this);
|
||||
}
|
||||
|
||||
LWSlider *TrackPanel::PanSlider( const WaveTrack *wt )
|
||||
{
|
||||
auto pControls = &TrackControls::Get( *wt );
|
||||
auto rect = FindRect( *pControls );
|
||||
wxRect sliderRect;
|
||||
WaveTrackControls::GetPanRect( rect.GetTopLeft(), sliderRect );
|
||||
return TrackInfo::PanSlider(sliderRect, wt, false, this);
|
||||
}
|
||||
|
||||
#ifdef EXPERIMENTAL_MIDI_OUT
|
||||
LWSlider *TrackPanel::VelocitySlider( const NoteTrack *nt )
|
||||
{
|
||||
auto pControls = &TrackControls::Get( *nt );
|
||||
auto rect = FindRect( *pControls );
|
||||
wxRect sliderRect;
|
||||
NoteTrackControls::GetVelocityRect( rect.GetTopLeft(), sliderRect );
|
||||
return TrackInfo::VelocitySlider(sliderRect, nt, false, this);
|
||||
}
|
||||
#endif
|
||||
|
||||
void TrackPanel::UpdatePrefs()
|
||||
{
|
||||
// All vertical rulers must be recalculated since the minimum and maximum
|
||||
@@ -362,12 +330,6 @@ void TrackPanel::UpdatePrefs()
|
||||
Refresh();
|
||||
}
|
||||
|
||||
void TrackPanel::ApplyUpdatedTheme()
|
||||
{
|
||||
TrackInfo::ReCreateSliders();
|
||||
}
|
||||
|
||||
|
||||
wxSize TrackPanel::GetTracksUsableArea() const
|
||||
{
|
||||
auto size = GetSize();
|
||||
|
||||
Reference in New Issue
Block a user