37 auto trackRange = syncLocked
54 Track &track,
bool selected,
bool updateLastPicked )
59 channel->SetSelected(selected);
84 Track *sTrack = &rsTrack, *eTrack = &reTrack;
86 if (eTrack->GetIndex() < sTrack->
GetIndex())
90 tracks.
Any().StartingWith(sTrack).EndingAfter(eTrack))
96 for (
auto t : tracks.
Any())
107 auto trackRange = tracks.
Selected();
108 auto pFirst = *trackRange.begin();
111 if( pFirst && track.
GetIndex() >= pFirst->GetIndex() )
112 pExtendFrom = pFirst->SharedPointer();
129 Track &track,
bool shift,
bool ctrl,
bool syncLocked )
150 , mInitialLastPickedTrack{ state.mLastPickedTrack }
154 for (
const auto track : tracks.
Any()) {
155 const bool isSelected = track->GetSelected();
165 std::vector<bool>::const_iterator
172 track->SetSelected( *it++ );
static const AudacityProject::AttachedObjects::RegisteredFactory key
declares abstract base class Track, TrackList, and iterators over TrackList
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Client code makes static instance from a factory of attachments; passes it to Get or Find as a retrie...
bool setTimes(double t0, double t1)
SelectionStateChanger(SelectionState &state, TrackList &tracks)
std::vector< bool > mInitialTrackSelection
std::weak_ptr< Track > mInitialLastPickedTrack
std::weak_ptr< Track > mLastPickedTrack
void HandleListSelection(TrackList &tracks, ViewInfo &viewInfo, Track &track, bool shift, bool ctrl, bool syncLocked)
void ChangeSelectionOnShiftClick(TrackList &tracks, Track &track)
static void SelectTrackLength(ViewInfo &viewInfo, Track &track, bool syncLocked)
void SelectRangeOfTracks(TrackList &tracks, Track &sTrack, Track &eTrack)
void SelectNone(TrackList &tracks)
static SelectionState & Get(AudacityProject &project)
void SelectTrack(Track &track, bool selected, bool updateLastPicked)
static TrackIterRange< Track > Group(Track *pTrack)
Abstract base class for an object holding data associated with points on a time axis.
std::shared_ptr< Subclass > SharedPointer()
virtual double GetOffset() const =0
virtual double GetEndTime() const =0
A flat linked list of tracks supporting Add, Remove, Clear, and Contains, serialization of the list o...
std::shared_ptr< Subclass > Lock(const std::weak_ptr< Subclass > &wTrack)
auto Any() -> TrackIterRange< TrackType >
auto Selected() -> TrackIterRange< TrackType >
static auto Channels(TrackType *pTrack) -> TrackIterRange< TrackType >
NotifyingSelectedRegion selectedRegion
auto end(const Ptr< Type, BaseDeleter > &p)
Enables range-for.
void swap(std::unique_ptr< Alg_seq > &a, std::unique_ptr< Alg_seq > &b)