mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-02 17:09:26 +02:00
Simplify iterations over TrackPanelCells with range-for
This commit is contained in:
parent
f94ac4dc43
commit
ffbc4d5f90
@ -3166,6 +3166,14 @@ void TrackInfo::UpdatePrefs()
|
|||||||
} while (textWidth >= allowableWidth);
|
} while (textWidth >= allowableWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IteratorRange< TrackPanelCellIterator > TrackPanel::Cells()
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
TrackPanelCellIterator( this, true ),
|
||||||
|
TrackPanelCellIterator( this, false )
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
TrackPanelCellIterator::TrackPanelCellIterator(TrackPanel *trackPanel, bool begin)
|
TrackPanelCellIterator::TrackPanelCellIterator(TrackPanel *trackPanel, bool begin)
|
||||||
: mPanel(trackPanel)
|
: mPanel(trackPanel)
|
||||||
, mIter(trackPanel->GetProject())
|
, mIter(trackPanel->GetProject())
|
||||||
|
@ -44,6 +44,7 @@ class MixerBoard;
|
|||||||
class AudacityProject;
|
class AudacityProject;
|
||||||
|
|
||||||
class TrackPanelAx;
|
class TrackPanelAx;
|
||||||
|
class TrackPanelCellIterator;
|
||||||
struct TrackPanelMouseEvent;
|
struct TrackPanelMouseEvent;
|
||||||
|
|
||||||
class ViewInfo;
|
class ViewInfo;
|
||||||
@ -259,6 +260,8 @@ class AUDACITY_DLL_API TrackPanel final : public OverlayPanel {
|
|||||||
|
|
||||||
virtual ~ TrackPanel();
|
virtual ~ TrackPanel();
|
||||||
|
|
||||||
|
IteratorRange< TrackPanelCellIterator > Cells();
|
||||||
|
|
||||||
void UpdatePrefs();
|
void UpdatePrefs();
|
||||||
void ApplyUpdatedTheme();
|
void ApplyUpdatedTheme();
|
||||||
|
|
||||||
|
@ -102,13 +102,10 @@ void EditCursorOverlay::Draw(OverlayPanel &panel, wxDC &dc)
|
|||||||
if (auto tp = dynamic_cast<TrackPanel*>(&panel)) {
|
if (auto tp = dynamic_cast<TrackPanel*>(&panel)) {
|
||||||
wxASSERT(mIsMaster);
|
wxASSERT(mIsMaster);
|
||||||
AColor::CursorColor(&dc);
|
AColor::CursorColor(&dc);
|
||||||
TrackPanelCellIterator begin(tp, true);
|
|
||||||
TrackPanelCellIterator end(tp, false);
|
|
||||||
|
|
||||||
// Draw cursor in all selected tracks
|
// Draw cursor in all selected tracks
|
||||||
for (; begin != end; ++begin)
|
for ( const auto &data : tp->Cells() )
|
||||||
{
|
{
|
||||||
TrackPanelCellIterator::value_type data(*begin);
|
|
||||||
Track *const pTrack = dynamic_cast<Track*>(data.first);
|
Track *const pTrack = dynamic_cast<Track*>(data.first);
|
||||||
if (!pTrack)
|
if (!pTrack)
|
||||||
continue;
|
continue;
|
||||||
|
@ -69,13 +69,9 @@ void PlayIndicatorOverlayBase::Draw(OverlayPanel &panel, wxDC &dc)
|
|||||||
if(auto tp = dynamic_cast<TrackPanel*>(&panel)) {
|
if(auto tp = dynamic_cast<TrackPanel*>(&panel)) {
|
||||||
wxASSERT(mIsMaster);
|
wxASSERT(mIsMaster);
|
||||||
|
|
||||||
TrackPanelCellIterator begin(tp, true);
|
|
||||||
TrackPanelCellIterator end(tp, false);
|
|
||||||
|
|
||||||
// Draw indicator in all visible tracks
|
// Draw indicator in all visible tracks
|
||||||
for (; begin != end; ++begin)
|
for ( const auto &data : tp->Cells() )
|
||||||
{
|
{
|
||||||
TrackPanelCellIterator::value_type data(*begin);
|
|
||||||
Track *const pTrack = dynamic_cast<Track*>(data.first);
|
Track *const pTrack = dynamic_cast<Track*>(data.first);
|
||||||
if (!pTrack)
|
if (!pTrack)
|
||||||
continue;
|
continue;
|
||||||
|
@ -17,7 +17,6 @@ Paul Licameli split from TrackPanel.cpp
|
|||||||
#include "../../Project.h"
|
#include "../../Project.h"
|
||||||
#include "../../TrackPanel.h"
|
#include "../../TrackPanel.h"
|
||||||
#include "../../TrackPanelCell.h"
|
#include "../../TrackPanelCell.h"
|
||||||
#include "../../TrackPanelCellIterator.h"
|
|
||||||
#include "../../commands/CommandFunctors.h"
|
#include "../../commands/CommandFunctors.h"
|
||||||
#include "../../prefs/TracksPrefs.h"
|
#include "../../prefs/TracksPrefs.h"
|
||||||
#include "../../toolbars/ControlToolBar.h"
|
#include "../../toolbars/ControlToolBar.h"
|
||||||
|
@ -1826,10 +1826,6 @@ std::pair<wxRect, bool> QuickPlayIndicatorOverlay::DoGetRectangle(wxSize size)
|
|||||||
|
|
||||||
void QuickPlayIndicatorOverlay::Draw(OverlayPanel &panel, wxDC &dc)
|
void QuickPlayIndicatorOverlay::Draw(OverlayPanel &panel, wxDC &dc)
|
||||||
{
|
{
|
||||||
TrackPanel &tp = static_cast<TrackPanel&>(panel);
|
|
||||||
TrackPanelCellIterator begin(&tp, true);
|
|
||||||
TrackPanelCellIterator end(&tp, false);
|
|
||||||
|
|
||||||
mOldQPIndicatorPos = mNewQPIndicatorPos;
|
mOldQPIndicatorPos = mNewQPIndicatorPos;
|
||||||
mOldQPIndicatorSnapped = mNewQPIndicatorSnapped;
|
mOldQPIndicatorSnapped = mNewQPIndicatorSnapped;
|
||||||
mOldPreviewingScrub = mNewPreviewingScrub;
|
mOldPreviewingScrub = mNewPreviewingScrub;
|
||||||
@ -1843,9 +1839,8 @@ void QuickPlayIndicatorOverlay::Draw(OverlayPanel &panel, wxDC &dc)
|
|||||||
;
|
;
|
||||||
|
|
||||||
// Draw indicator in all visible tracks
|
// Draw indicator in all visible tracks
|
||||||
for (; begin != end; ++begin)
|
for ( const auto &data : static_cast<TrackPanel&>(panel).Cells() )
|
||||||
{
|
{
|
||||||
TrackPanelCellIterator::value_type data(*begin);
|
|
||||||
Track *const pTrack = dynamic_cast<Track*>(data.first);
|
Track *const pTrack = dynamic_cast<Track*>(data.first);
|
||||||
if (!pTrack)
|
if (!pTrack)
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user