From c079544667a16408f8dea8ce53eab2c71fcef2a9 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Wed, 28 Jun 2017 21:47:28 -0400 Subject: [PATCH] Defaulting TrackPanel cursor, status message; simplifies other code --- src/TrackPanel.cpp | 4 ++++ .../playabletrack/notetrack/ui/NoteTrackSliderHandles.cpp | 2 +- src/tracks/playabletrack/ui/PlayableTrackButtonHandles.cpp | 4 ++-- .../playabletrack/wavetrack/ui/WaveTrackSliderHandles.cpp | 4 ++-- src/tracks/ui/ButtonHandle.cpp | 6 ------ src/tracks/ui/ButtonHandle.h | 3 --- src/tracks/ui/SliderHandle.cpp | 6 ------ src/tracks/ui/SliderHandle.h | 3 --- src/tracks/ui/TrackButtonHandles.cpp | 6 +++--- src/tracks/ui/TrackVRulerControls.cpp | 4 +--- 10 files changed, 13 insertions(+), 29 deletions(-) diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp index e3a20e393..7c41daf00 100644 --- a/src/TrackPanel.cpp +++ b/src/TrackPanel.cpp @@ -928,6 +928,10 @@ void TrackPanel::HandleMotion( const TrackPanelMouseState &tpmState ) refreshCode |= code; mMouseOverUpdateFlags |= code; } + if (!pCursor) { + static wxCursor defaultCursor{ wxCURSOR_ARROW }; + pCursor = &defaultCursor; + } mListener->TP_DisplayStatusMessage(tip); if (pCursor) SetCursor( *pCursor ); diff --git a/src/tracks/playabletrack/notetrack/ui/NoteTrackSliderHandles.cpp b/src/tracks/playabletrack/notetrack/ui/NoteTrackSliderHandles.cpp index 6718f55f8..ec7c2dca5 100644 --- a/src/tracks/playabletrack/notetrack/ui/NoteTrackSliderHandles.cpp +++ b/src/tracks/playabletrack/notetrack/ui/NoteTrackSliderHandles.cpp @@ -86,7 +86,7 @@ HitTestResult VelocitySliderHandle::HitTest sliderFn, sliderRect, pTrack ); result = AssignUIHandlePtr(holder, result); - return { HitPreview(), result }; + return { HitTestPreview{}, result }; } else return {}; diff --git a/src/tracks/playabletrack/ui/PlayableTrackButtonHandles.cpp b/src/tracks/playabletrack/ui/PlayableTrackButtonHandles.cpp index 8c3600769..55c1ffb0b 100644 --- a/src/tracks/playabletrack/ui/PlayableTrackButtonHandles.cpp +++ b/src/tracks/playabletrack/ui/PlayableTrackButtonHandles.cpp @@ -53,7 +53,7 @@ HitTestResult MuteButtonHandle::HitTest auto result = std::make_shared(pTrack, buttonRect); result = AssignUIHandlePtr(holder, result); return { - HitPreview(), + HitTestPreview{}, result }; } @@ -99,7 +99,7 @@ HitTestResult SoloButtonHandle::HitTest auto result = std::make_shared( pTrack, buttonRect ); result = AssignUIHandlePtr(holder, result); return HitTestResult( - HitPreview(), + HitTestPreview{}, result ); } diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveTrackSliderHandles.cpp b/src/tracks/playabletrack/wavetrack/ui/WaveTrackSliderHandles.cpp index 8256602b9..da821ae1d 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveTrackSliderHandles.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/WaveTrackSliderHandles.cpp @@ -89,7 +89,7 @@ HitTestResult GainSliderHandle::HitTest result = AssignUIHandlePtr(holder, result); return { - HitPreview(), + HitTestPreview{}, result }; } @@ -179,7 +179,7 @@ HitTestResult PanSliderHandle::HitTest result = AssignUIHandlePtr(holder, result); return { - HitPreview(), + HitTestPreview{}, result }; } diff --git a/src/tracks/ui/ButtonHandle.cpp b/src/tracks/ui/ButtonHandle.cpp index 482982f22..88b38cf6a 100644 --- a/src/tracks/ui/ButtonHandle.cpp +++ b/src/tracks/ui/ButtonHandle.cpp @@ -31,12 +31,6 @@ ButtonHandle::~ButtonHandle() { } -HitTestPreview ButtonHandle::HitPreview() -{ - static wxCursor arrowCursor{ wxCURSOR_ARROW }; - return { {}, &arrowCursor }; -} - UIHandle::Result ButtonHandle::Click (const TrackPanelMouseEvent &evt, AudacityProject *pProject) { diff --git a/src/tracks/ui/ButtonHandle.h b/src/tracks/ui/ButtonHandle.h index 4c871ede7..318c0ab94 100644 --- a/src/tracks/ui/ButtonHandle.h +++ b/src/tracks/ui/ButtonHandle.h @@ -38,9 +38,6 @@ protected: virtual Result CommitChanges (const wxMouseEvent &event, AudacityProject *pProject, wxWindow *pParent) = 0; - // For derived class to define hit tests - static HitTestPreview HitPreview(); - Result Click (const TrackPanelMouseEvent &event, AudacityProject *pProject) override; diff --git a/src/tracks/ui/SliderHandle.cpp b/src/tracks/ui/SliderHandle.cpp index 7001ed09d..a06786efc 100644 --- a/src/tracks/ui/SliderHandle.cpp +++ b/src/tracks/ui/SliderHandle.cpp @@ -27,12 +27,6 @@ SliderHandle::~SliderHandle() { } -HitTestPreview SliderHandle::HitPreview() -{ - // No special message or cursor - return {}; -} - UIHandle::Result SliderHandle::Click (const TrackPanelMouseEvent &evt, AudacityProject *pProject) { diff --git a/src/tracks/ui/SliderHandle.h b/src/tracks/ui/SliderHandle.h index 188154dda..63397ceef 100644 --- a/src/tracks/ui/SliderHandle.h +++ b/src/tracks/ui/SliderHandle.h @@ -44,9 +44,6 @@ protected: virtual Result CommitChanges (const wxMouseEvent &event, AudacityProject *pProject) = 0; - // For derived classes to define hit tests - static HitTestPreview HitPreview(); - Result Click (const TrackPanelMouseEvent &event, AudacityProject *pProject) override; diff --git a/src/tracks/ui/TrackButtonHandles.cpp b/src/tracks/ui/TrackButtonHandles.cpp index 2ae4eef65..ae19c21f3 100644 --- a/src/tracks/ui/TrackButtonHandles.cpp +++ b/src/tracks/ui/TrackButtonHandles.cpp @@ -60,7 +60,7 @@ HitTestResult MinimizeButtonHandle::HitTest auto result = std::make_shared( pTrack, buttonRect ); result = AssignUIHandlePtr(holder, result); return { - HitPreview(), + HitTestPreview{}, result }; } @@ -114,7 +114,7 @@ HitTestResult CloseButtonHandle::HitTest auto result = std::make_shared( pTrack, buttonRect ); result = AssignUIHandlePtr(holder, result); return { - HitPreview(), + HitTestPreview{}, result }; } @@ -157,7 +157,7 @@ HitTestResult MenuButtonHandle::HitTest auto result = std::make_shared( pCell, pTrack, buttonRect ); result = AssignUIHandlePtr(holder, result); return { - HitPreview(), + HitTestPreview{}, result }; } diff --git a/src/tracks/ui/TrackVRulerControls.cpp b/src/tracks/ui/TrackVRulerControls.cpp index 4b462caa9..c9aa42735 100644 --- a/src/tracks/ui/TrackVRulerControls.cpp +++ b/src/tracks/ui/TrackVRulerControls.cpp @@ -35,9 +35,7 @@ std::shared_ptr TrackVRulerControls::FindTrack() HitTestResult TrackVRulerControls::HitTest (const TrackPanelMouseState &, const AudacityProject *) { - // Use a space for the tip, otherwise we get the default message. - static wxCursor arrowCursor{ wxCURSOR_ARROW }; - return { { _(" "), &arrowCursor }, {} }; + return {}; } void TrackVRulerControls::DrawZooming