13#include "../../HitTestResult.h"
15#include "../../RefreshCode.h"
18#include "../../TrackPanelMouseEvent.h"
20#include "../../../images/Cursors.h"
26 static auto disabledCursor =
27 MakeCursor(wxCURSOR_NO_ENTRY, DisabledCursorXpm, 16, 16);
29 MakeCursor(wxCURSOR_HAND, RearrangeCursorXpm, 16, 16);
30 static auto handClosedCursor =
31 MakeCursor(wxCURSOR_HAND, RearrangingCursorXpm, 16, 16);
33 auto message =
XO(
"Drag clips to reposition them."\
34 " Hold Shift and drag to move all clips on the same track.");
37 return { message, &*disabledCursor };
84 selectionState.SelectNone(trackList);
85 if (
auto pTrack = *trackList.Find(track.get()))
86 selectionState.SelectTrack(*pTrack,
true,
true);
static std::unique_ptr< wxCursor > handOpenCursor
declares abstract base class Track, TrackList, and iterators over TrackList
std::unique_ptr< wxCursor > MakeCursor(int WXUNUSED(CursorId), const char *const pXpm[36], int HotX, int HotY)
Result UpdateTrackSelection(const TrackPanelMouseEvent &event, AudacityProject *pProject)
HitTestPreview Preview(const TrackPanelMouseState &mouseState, AudacityProject *pProject) override
void Enter(bool forward, AudacityProject *pProject) override
AffordanceHandle(const std::shared_ptr< Track > &track)
static HitTestPreview HitPreview(const AudacityProject *, bool unsafe, bool moving)
Result Release(const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent) override
virtual Result SelectAt(const TrackPanelMouseEvent &event, AudacityProject *pProject)=0
Result Click(const TrackPanelMouseEvent &evt, AudacityProject *pProject) override
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
bool IsAudioActive() const
static ProjectAudioIO & Get(AudacityProject &project)
static SelectionState & Get(AudacityProject &project)
std::shared_ptr< Track > GetTrack() const
Result Release(const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent) override
void Enter(bool forward, AudacityProject *) override
Result Click(const TrackPanelMouseEvent &event, AudacityProject *pProject) override
Abstract base class for an object holding data associated with points on a time axis.
static TrackList & Get(AudacityProject &project)
void SetChangeHighlight(Result val)