13#include "../../HitTestResult.h"
15#include "../../RefreshCode.h"
18#include "../../TrackPanelMouseEvent.h"
20#include "../../../images/Cursors.h"
27 static wxCursor arrowCursor{ wxCURSOR_ARROW };
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, &arrowCursor };
100 selectionState.SelectNone(trackList);
101 selectionState.SelectTrack(*track,
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)
Result Drag(const TrackPanelMouseEvent &event, AudacityProject *pProject) override
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
static constexpr double MoveThreshold
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 Drag(const TrackPanelMouseEvent &event, AudacityProject *pProject) override
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)