Audacity 3.2.0
Public Member Functions | Private Member Functions | List of all members
AdornedRulerPanel::NewPlayRegionHandle Class Referencefinal
Inheritance diagram for AdornedRulerPanel::NewPlayRegionHandle:
[legend]
Collaboration diagram for AdornedRulerPanel::NewPlayRegionHandle:
[legend]

Public Member Functions

 NewPlayRegionHandle (AdornedRulerPanel *pParent, wxCoord xx)
 
- Public Member Functions inherited from AdornedRulerPanel::PlayRegionAdjustingHandle
 PlayRegionAdjustingHandle (AdornedRulerPanel *pParent, wxCoord xx, MenuChoice menuChoice, wxCursor *cursor, size_t numGuides=1)
 
 PlayRegionAdjustingHandle (AdornedRulerPanel *pParent, wxCoord xx, MenuChoice menuChoice, wxCursor cursor, size_t numGuides=1)
 
void SetCursor (wxCursor cursor)
 
HitTestPreview Preview (const TrackPanelMouseState &state, AudacityProject *pProject) override
 
Result Drag (const TrackPanelMouseEvent &event, AudacityProject *pProject) override
 
Result Release (const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent) override
 
Result Cancel (AudacityProject *pProject) override
 
bool HasEscape (AudacityProject *pProject) const override
 
bool Escape (AudacityProject *pProject) override
 
- Public Member Functions inherited from AdornedRulerPanel::CommonRulerHandle
 CommonRulerHandle (AdornedRulerPanel *pParent, wxCoord xx, MenuChoice menuChoice)
 
std::shared_ptr< const TrackFindTrack () const override
 
bool Clicked () const
 
- Public Member Functions inherited from UIHandle
virtual ~UIHandle ()=0
 
virtual void Enter (bool forward, AudacityProject *pProject)
 
virtual bool HasRotation () const
 
virtual bool Rotate (bool forward)
 
virtual bool HasEscape (AudacityProject *pProject) const
 
virtual bool Escape (AudacityProject *pProject)
 
virtual bool HandlesRightClick ()
 Whether the handle has any special right-button handling. More...
 
virtual Result Click (const TrackPanelMouseEvent &event, AudacityProject *pProject)=0
 
virtual Result Drag (const TrackPanelMouseEvent &event, AudacityProject *pProject)=0
 
virtual HitTestPreview Preview (const TrackPanelMouseState &state, AudacityProject *pProject)=0
 
virtual Result Release (const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent)=0
 
virtual Result Cancel (AudacityProject *pProject)=0
 
virtual bool StopsOnKeystroke ()
 
virtual void OnProjectChange (AudacityProject *pProject)
 
virtual std::shared_ptr< const TrackFindTrack () const =0
 
virtual bool IsDragging () const
 
Result GetChangeHighlight () const
 
void SetChangeHighlight (Result val)
 
- Public Member Functions inherited from TrackPanelDrawable
virtual ~TrackPanelDrawable ()=0
 
virtual void Draw (TrackPanelDrawingContext &context, const wxRect &rect, unsigned iPass)
 
virtual wxRect DrawingArea (TrackPanelDrawingContext &context, const wxRect &rect, const wxRect &panelRect, unsigned iPass)
 

Private Member Functions

void DoStartAdjust (AudacityProject &project, double time) override
 
void DoAdjust (AudacityProject &project) override
 

Additional Inherited Members

- Public Types inherited from UIHandle
using Result = unsigned
 
using Cell = TrackPanelCell
 
- Static Public Member Functions inherited from AdornedRulerPanel::CommonRulerHandle
static UIHandle::Result NeedChangeHighlight (const CommonRulerHandle &oldState, const CommonRulerHandle &newState)
 
- Static Public Member Functions inherited from UIHandle
static UIHandle::Result NeedChangeHighlight (const UIHandle &, const UIHandle &)
 
static std::shared_ptr< const TrackTrackFromChannel (const std::shared_ptr< const Channel > &pChannel)
 A frequent convenience in the definition of UIHandles. More...
 
- Static Public Member Functions inherited from TrackPanelDrawable
static wxRect MaximizeWidth (const wxRect &rect, const wxRect &panelRect)
 
static wxRect MaximizeHeight (const wxRect &rect, const wxRect &panelRect)
 
- Protected Types inherited from AdornedRulerPanel::CommonRulerHandle
enum class  Button { None , Left , Right }
 
- Protected Member Functions inherited from AdornedRulerPanel::PlayRegionAdjustingHandle
double SnappedTime (AudacityProject &project, size_t ii)
 
std::pair< double, double > SnappedTimes (AudacityProject &project)
 
void Unsnap (bool use, AudacityProject *pProject)
 
virtual void DoStartAdjust (AudacityProject &, double)=0
 
virtual void DoAdjust (AudacityProject &)=0
 
void SavePlayRegion (AudacityProject &project)
 
- Protected Member Functions inherited from AdornedRulerPanel::CommonRulerHandle
bool HandlesRightClick () override
 Whether the handle has any special right-button handling. More...
 
Result Click (const TrackPanelMouseEvent &event, AudacityProject *) override
 
Result Drag (const TrackPanelMouseEvent &, AudacityProject *) override
 
Result Release (const TrackPanelMouseEvent &event, AudacityProject *, wxWindow *) override
 
double Time (AudacityProject &project) const
 
void StartPlay (AudacityProject &project, const wxMouseEvent &event)
 
Result Cancel (AudacityProject *) override
 
void Enter (bool, AudacityProject *) override
 
- Protected Attributes inherited from AdornedRulerPanel::CommonRulerHandle
wxWeakRef< AdornedRulerPanelmParent
 
wxCoord mX
 
wxCoord mClickedX
 
MenuChoice mChoice
 
Button mClicked { Button::None }
 
- Protected Attributes inherited from UIHandle
Result mChangeHighlight { 0 }
 

Detailed Description

Definition at line 870 of file AdornedRulerPanel.cpp.

Constructor & Destructor Documentation

◆ NewPlayRegionHandle()

AdornedRulerPanel::NewPlayRegionHandle::NewPlayRegionHandle ( AdornedRulerPanel pParent,
wxCoord  xx 
)
inline

Definition at line 872 of file AdornedRulerPanel.cpp.

873 : PlayRegionAdjustingHandle( pParent, xx, MenuChoice::QuickPlay, {wxCURSOR_DEFAULT} )
874 {
875 }
PlayRegionAdjustingHandle(AdornedRulerPanel *pParent, wxCoord xx, MenuChoice menuChoice, wxCursor *cursor, size_t numGuides=1)

Member Function Documentation

◆ DoAdjust()

void AdornedRulerPanel::NewPlayRegionHandle::DoAdjust ( AudacityProject project)
inlineoverrideprivatevirtual

Implements AdornedRulerPanel::PlayRegionAdjustingHandle.

Definition at line 884 of file AdornedRulerPanel.cpp.

885 {
886 const auto time = SnappedTime(project, 0);
887
888 // Change the play region
889 // The check whether this new time should be start or end isn't
890 // important. The accessors for PlayRegion use min and max of stored
891 // values.
892 auto &playRegion = ViewInfo::Get(project).playRegion;
893 playRegion.SetEnd(time);
894 }
const auto project
double SnappedTime(AudacityProject &project, size_t ii)
void SetEnd(double end)
Definition: ViewInfo.cpp:171
PlayRegion playRegion
Definition: ViewInfo.h:217
static ViewInfo & Get(AudacityProject &project)
Definition: ViewInfo.cpp:235

References ViewInfo::Get(), ViewInfo::playRegion, project, PlayRegion::SetEnd(), and AdornedRulerPanel::PlayRegionAdjustingHandle::SnappedTime().

Here is the call graph for this function:

◆ DoStartAdjust()

void AdornedRulerPanel::NewPlayRegionHandle::DoStartAdjust ( AudacityProject project,
double  time 
)
inlineoverrideprivatevirtual

Implements AdornedRulerPanel::PlayRegionAdjustingHandle.

Definition at line 878 of file AdornedRulerPanel.cpp.

879 {
880 auto &playRegion = ViewInfo::Get(project).playRegion;
881 playRegion.SetTimes(time, time);
882 }
void SetTimes(double start, double end)
Definition: ViewInfo.cpp:181

References ViewInfo::Get(), ViewInfo::playRegion, project, and PlayRegion::SetTimes().

Here is the call graph for this function:

The documentation for this class was generated from the following file: