Audacity 3.2.0
|
Short-lived drawing and event-handling object associated with a TrackPanelCell. More...
#include <UIHandle.h>
Public Types | |
using | Result = unsigned |
using | Cell = TrackPanelCell |
Public Member Functions | |
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 Track > | FindTrack () 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) |
Static Public Member Functions | |
static UIHandle::Result | NeedChangeHighlight (const UIHandle &, const UIHandle &) |
static std::shared_ptr< const Track > | TrackFromChannel (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 Attributes | |
Result | mChangeHighlight { 0 } |
Short-lived drawing and event-handling object associated with a TrackPanelCell.
Definition at line 36 of file UIHandle.h.
using UIHandle::Cell = TrackPanelCell |
Definition at line 43 of file UIHandle.h.
using UIHandle::Result = unsigned |
Definition at line 40 of file UIHandle.h.
|
pure virtual |
Definition at line 15 of file UIHandle.cpp.
|
pure virtual |
Implemented in AdornedRulerPanel::CommonRulerHandle, anonymous_namespace{AdornedRulerPanel.cpp}::PlayheadHandle, SubViewAdjustHandle, SubViewRearrangeHandle, BackgroundHandle, BrushHandle, SelectHandle, TrackSelectHandle, ButtonHandle, SliderHandle, AdornedRulerPanel::PlayRegionAdjustingHandle, AdornedRulerPanel::ScrubbingHandle, anonymous_namespace{CellularPanel.cpp}::DefaultRightButtonHandler, TrackPanelResizeHandle, LabelDefaultClickHandle, LabelGlyphHandle, LabelTextHandle, NoteTrackButtonHandle, NoteTrackVZoomHandle, StretchHandle, CutlineHandle, HighlitClipButtonHandle, SampleHandle, SpectrumVZoomHandle, WaveClipAdjustBorderHandle, WaveformVZoomHandle, TimeTrackVZoomHandle, EnvelopeHandle, TimeShiftHandle, ZoomHandle, and WaveClipTitleEditHandle.
|
pure virtual |
Implemented in AdornedRulerPanel::CommonRulerHandle, anonymous_namespace{AdornedRulerPanel.cpp}::PlayheadHandle, ButtonHandle, SliderHandle, AdornedRulerPanel::ScrubbingHandle, anonymous_namespace{CellularPanel.cpp}::DefaultRightButtonHandler, TrackPanelResizeHandle, LabelDefaultClickHandle, LabelGlyphHandle, LabelTextHandle, NoteTrackButtonHandle, NoteTrackVZoomHandle, StretchHandle, CutlineHandle, HighlitClipButtonHandle, SampleHandle, SpectrumVZoomHandle, SubViewAdjustHandle, SubViewRearrangeHandle, WaveClipAdjustBorderHandle, WaveformVZoomHandle, TimeTrackVZoomHandle, BrushHandle, EnvelopeHandle, SelectHandle, TimeShiftHandle, TrackSelectHandle, ZoomHandle, WaveClipTitleEditHandle, WaveTrackAffordanceHandle, AffordanceHandle, and BackgroundHandle.
|
pure virtual |
Implemented in AdornedRulerPanel::CommonRulerHandle, BackgroundHandle, SubViewAdjustHandle, SubViewRearrangeHandle, ButtonHandle, SliderHandle, AdornedRulerPanel::PlayRegionAdjustingHandle, anonymous_namespace{AdornedRulerPanel.cpp}::PlayheadHandle, AdornedRulerPanel::ScrubbingHandle, anonymous_namespace{CellularPanel.cpp}::DefaultRightButtonHandler, TrackPanelResizeHandle, LabelDefaultClickHandle, LabelGlyphHandle, LabelTextHandle, NoteTrackButtonHandle, NoteTrackVZoomHandle, StretchHandle, CutlineHandle, HighlitClipButtonHandle, SampleHandle, SpectrumVZoomHandle, WaveClipAdjustBorderHandle, WaveformVZoomHandle, TimeTrackVZoomHandle, AffordanceHandle, BrushHandle, EnvelopeHandle, SelectHandle, TimeShiftHandle, TrackSelectHandle, ZoomHandle, and WaveClipTitleEditHandle.
|
virtual |
Reimplemented in ButtonHandle, LabelGlyphHandle, LabelTextHandle, NoteTrackButtonHandle, NoteTrackVZoomHandle, CutlineHandle, SampleHandle, SpectrumVZoomHandle, WaveformVZoomHandle, TimeTrackVZoomHandle, EnvelopeHandle, SliderHandle, TimeShiftHandle, HighlitClipButtonHandle, AffordanceHandle, BrushHandle, SelectHandle, AdornedRulerPanel::CommonRulerHandle, and anonymous_namespace{AdornedRulerPanel.cpp}::PlayheadHandle.
Definition at line 19 of file UIHandle.cpp.
|
virtual |
Reimplemented in AdornedRulerPanel::PlayRegionAdjustingHandle, BrushHandle, and SelectHandle.
Definition at line 38 of file UIHandle.cpp.
|
pure virtual |
Implemented in AdornedRulerPanel::CommonRulerHandle, anonymous_namespace{AdornedRulerPanel.cpp}::PlayheadHandle, anonymous_namespace{CellularPanel.cpp}::DefaultRightButtonHandler, TrackPanelResizeHandle, LabelGlyphHandle, LabelTextHandle, NoteTrackButtonHandle, NoteTrackVZoomHandle, StretchHandle, CutlineHandle, HighlitClipButtonHandle, SampleHandle, SpectrumVZoomHandle, SubViewAdjustHandle, SubViewRearrangeHandle, WaveClipAdjustBorderHandle, WaveformVZoomHandle, WaveClipTitleEditHandle, TimeTrackVZoomHandle, BackgroundHandle, BrushHandle, ButtonHandle, EnvelopeHandle, SelectHandle, SliderHandle, TimeShiftHandle, TrackSelectHandle, and ZoomHandle.
Referenced by CommonTrackInfo::DrawCloseButton().
|
inline |
Definition at line 131 of file UIHandle.h.
|
virtual |
Whether the handle has any special right-button handling.
If not, then Click() will not be called for right click. Default is always false
Reimplemented in AdornedRulerPanel::CommonRulerHandle, LabelTextHandle, NoteTrackVZoomHandle, CutlineHandle, SpectrumVZoomHandle, WaveformVZoomHandle, WaveTrackAffordanceHandle, TimeTrackVZoomHandle, and ZoomHandle.
Definition at line 43 of file UIHandle.cpp.
|
virtual |
Reimplemented in AdornedRulerPanel::PlayRegionAdjustingHandle, and SelectHandle.
Definition at line 33 of file UIHandle.cpp.
|
virtual |
Definition at line 23 of file UIHandle.cpp.
|
virtual |
Whether the handle is dragging, affecting other panel painting; default returns false
Reimplemented in BrushHandle, ButtonHandle, SelectHandle, and SliderHandle.
Definition at line 57 of file UIHandle.cpp.
Referenced by CommonTrackInfo::DrawCloseButton().
|
inlinestatic |
Definition at line 138 of file UIHandle.h.
|
virtual |
Definition at line 53 of file UIHandle.cpp.
|
pure virtual |
Implemented in anonymous_namespace{AdornedRulerPanel.cpp}::PlayheadHandle, BackgroundHandle, WaveClipAdjustBorderHandle, AffordanceHandle, SubViewAdjustHandle, SubViewRearrangeHandle, ButtonHandle, SliderHandle, AdornedRulerPanel::PlayRegionAdjustingHandle, AdornedRulerPanel::ScrubbingHandle, anonymous_namespace{CellularPanel.cpp}::DefaultRightButtonHandler, TrackPanelResizeHandle, LabelGlyphHandle, LabelTextHandle, NoteTrackButtonHandle, NoteTrackVZoomHandle, StretchHandle, ClipOverflowButtonHandle, ClipPitchAndSpeedButtonHandle, CutlineHandle, SampleHandle, SpectrumVZoomHandle, WaveformVZoomHandle, WaveClipTitleEditHandle, TimeTrackVZoomHandle, BrushHandle, EnvelopeHandle, SelectHandle, TimeShiftHandle, TrackSelectHandle, and ZoomHandle.
|
pure virtual |
Implemented in BackgroundHandle, AdornedRulerPanel::CommonRulerHandle, anonymous_namespace{AdornedRulerPanel.cpp}::PlayheadHandle, ButtonHandle, SliderHandle, AdornedRulerPanel::PlayRegionAdjustingHandle, AdornedRulerPanel::ScrubbingHandle, anonymous_namespace{CellularPanel.cpp}::DefaultRightButtonHandler, TrackPanelResizeHandle, LabelDefaultClickHandle, LabelGlyphHandle, LabelTextHandle, NoteTrackButtonHandle, NoteTrackVZoomHandle, StretchHandle, CutlineHandle, HighlitClipButtonHandle, SampleHandle, SpectrumVZoomHandle, SubViewAdjustHandle, SubViewRearrangeHandle, WaveClipAdjustBorderHandle, WaveformVZoomHandle, WaveTrackAffordanceHandle, TimeTrackVZoomHandle, AffordanceHandle, BrushHandle, EnvelopeHandle, SelectHandle, TimeShiftHandle, TrackSelectHandle, ZoomHandle, and WaveClipTitleEditHandle.
|
virtual |
Definition at line 28 of file UIHandle.cpp.
|
inline |
Definition at line 132 of file UIHandle.h.
Referenced by AffordanceHandle::Enter().
|
virtual |
Reimplemented in LabelGlyphHandle, VelocitySliderHandle, StretchHandle, MuteButtonHandle, SoloButtonHandle, EffectsButtonHandle, CutlineHandle, SampleHandle, VolumeSliderHandle, PanSliderHandle, EnvelopeHandle, TimeShiftHandle, CloseButtonHandle, and TrackSelectHandle.
Definition at line 48 of file UIHandle.cpp.
|
static |
A frequent convenience in the definition of UIHandles.
Definition at line 63 of file UIHandle.cpp.
Referenced by TrackPanelResizeHandle::FindTrack(), SampleHandle::FindTrack(), SpectrumVZoomHandle::FindTrack(), SubViewAdjustHandle::FindTrack(), SubViewRearrangeHandle::FindTrack(), WaveformVZoomHandle::FindTrack(), BrushHandle::FindTrack(), EnvelopeHandle::FindTrack(), and SelectHandle::FindTrack().
|
protected |
Definition at line 152 of file UIHandle.h.
Referenced by ButtonHandle::Enter(), LabelGlyphHandle::Enter(), LabelTextHandle::Enter(), NoteTrackButtonHandle::Enter(), NoteTrackVZoomHandle::Enter(), CutlineHandle::Enter(), SampleHandle::Enter(), SpectrumVZoomHandle::Enter(), WaveformVZoomHandle::Enter(), TimeTrackVZoomHandle::Enter(), EnvelopeHandle::Enter(), SliderHandle::Enter(), TimeShiftHandle::Enter(), HighlitClipButtonHandle::Enter(), AdornedRulerPanel::CommonRulerHandle::Enter(), HighlitClipButtonHandle::Release(), SelectHandle::SetUseSnap(), and AdornedRulerPanel::PlayRegionAdjustingHandle::Unsnap().