![]() |
Audacity 3.2.0
|
Implements some hit-testing shared by many ChannelView subtypes. More...
#include <CommonChannelView.h>
Public Member Functions | |
| std::shared_ptr< TrackPanelCell > | ContextMenuDelegate () override |
| std::vector< UIHandlePtr > | HitTest (const TrackPanelMouseState &, const AudacityProject *pProject) final |
| void | TimeShiftHitTest () |
| virtual int | GetMinimizedHeight () const override |
| ChannelView (const std::shared_ptr< Channel > &pChannel) | |
Public Member Functions inherited from ChannelView | |
| ChannelView (const std::shared_ptr< Channel > &pChannel) | |
| virtual | ~ChannelView ()=0 |
| void | Reparent (const std::shared_ptr< Track > &parent, size_t iChannel) override |
| Object may be shared among tracks but hold a special back-pointer to one of them; reassign it. More... | |
| void | CopyTo (Track &track, size_t iChannel) const override |
| Copy state, for undo/redo purposes. More... | |
| bool | GetMinimized () const |
| void | SetMinimized (bool minimized) |
| int | GetCumulativeHeightBefore () const |
| int | GetExpandedHeight () const |
| virtual int | GetMinimizedHeight () const =0 |
| int | GetHeight () const |
| void | SetCumulativeHeightBefore (int y) |
| Set cached value dependent on position within the track list. More... | |
| void | SetExpandedHeight (int height) |
| std::shared_ptr< ChannelVRulerControls > | GetVRulerControls () |
| std::shared_ptr< const ChannelVRulerControls > | GetVRulerControls () const |
| virtual std::shared_ptr< CommonTrackCell > | GetAffordanceControls () |
| void | WriteXMLAttributes (XMLWriter &writer, size_t iChannel) const override |
| Serialize persistent attributes. More... | |
| bool | HandleXMLAttribute (const std::string_view &attr, const XMLAttributeValueView &valueView, size_t iChannel) override |
| Deserialize an attribute, returning true if recognized. More... | |
| virtual Refinement | GetSubViews (const wxRect &rect) |
| virtual bool | IsSpectral () const |
| virtual void | DoSetMinimized (bool isMinimized) |
Public Member Functions inherited from CommonChannelCell | |
| CommonChannelCell (const std::shared_ptr< Channel > &pChannel) | |
| Construct from a channel. More... | |
| ~CommonChannelCell () | |
| std::shared_ptr< Track > | DoFindTrack () override |
| void | Reparent (const std::shared_ptr< Track > &parent, size_t iChannel) override |
| Object may be shared among tracks but hold a special back-pointer to one of them; reassign it. More... | |
| template<typename Subtype = Channel> | |
| auto | FindChannel () -> std::shared_ptr< Subtype > |
| May return null. More... | |
| template<typename Subtype = const Channel> | |
| auto | FindChannel () const -> std::enable_if_t< std::is_const_v< Subtype >, std::shared_ptr< Subtype > > |
| May return null. More... | |
Public Member Functions inherited from CommonTrackPanelCell | |
| CommonTrackPanelCell () | |
| virtual | ~CommonTrackPanelCell ()=0 |
| HitTestPreview | DefaultPreview (const TrackPanelMouseState &, const AudacityProject *) override |
| std::shared_ptr< Track > | FindTrack () |
| std::shared_ptr< const Track > | FindTrack () const |
| virtual std::vector< MenuItem > | GetMenuItems (const wxRect &rect, const wxPoint *pPosition, AudacityProject *pProject) |
| Return a list of items for DoContextMenu() (empties for separators) More... | |
Public Member Functions inherited from TrackPanelCell | |
| TrackPanelCell ()=default | |
| TrackPanelCell (const TrackPanelCell &)=delete | |
| TrackPanelCell & | operator= (const TrackPanelCell &)=delete |
| virtual | ~TrackPanelCell ()=0 |
| virtual HitTestPreview | DefaultPreview (const TrackPanelMouseState &state, const AudacityProject *pProject) |
| virtual std::vector< UIHandlePtr > | HitTest (const TrackPanelMouseState &state, const AudacityProject *pProject)=0 |
| virtual unsigned | HandleWheelRotation (const TrackPanelMouseEvent &event, AudacityProject *pProject) |
| virtual std::shared_ptr< TrackPanelCell > | ContextMenuDelegate () |
| virtual unsigned | DoContextMenu (const wxRect &rect, wxWindow *pParent, const wxPoint *pPosition, AudacityProject *pProject) |
| virtual unsigned | CaptureKey (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project) |
| virtual unsigned | KeyDown (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project) |
| virtual unsigned | KeyUp (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project) |
| virtual unsigned | Char (wxKeyEvent &event, ViewInfo &viewInfo, wxWindow *pParent, AudacityProject *project) |
| virtual unsigned | LoseFocus (AudacityProject *project) |
Public Member Functions inherited from TrackPanelNode | |
| TrackPanelNode () | |
| virtual | ~TrackPanelNode ()=0 |
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) |
Public Member Functions inherited from ChannelAttachment | |
| virtual | ~ChannelAttachment () |
| virtual void | CopyTo (Track &track, size_t iChannel) const |
| Copy state, for undo/redo purposes. More... | |
| virtual void | Reparent (const std::shared_ptr< Track > &parent, size_t iChannel) |
| Object may be shared among tracks but hold a special back-pointer to one of them; reassign it. More... | |
| virtual void | WriteXMLAttributes (XMLWriter &writer, size_t iChannel) const |
| Serialize persistent attributes. More... | |
| virtual bool | HandleXMLAttribute (const std::string_view &attr, const XMLAttributeValueView &valueView, size_t iChannel) |
| Deserialize an attribute, returning true if recognized. More... | |
Static Public Member Functions | |
| static void | GetEnvelopeValues (const Envelope &env, double aligned_time, double sampleDur, double *buffer, int bufferLen, int leftOffset, const ZoomInfo &zoomInfo) |
| Get many envelope points for pixel columns at once, but don't assume uniform time per pixel. More... | |
Static Public Member Functions inherited from ChannelView | |
| static ChannelView & | Get (Channel &channel) |
| static const ChannelView & | Get (const Channel &channel) |
| static ChannelView * | Find (Channel *pChannel) |
| static const ChannelView * | Find (const Channel *pChannel) |
| static int | GetChannelGroupHeight (const Track *pTrack) |
| static int | GetCumulativeHeight (const Channel *pChannel) |
| static int | GetCumulativeHeight (const Track *pTrack) |
| static int | GetTotalHeight (const TrackList &list) |
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) |
Public Attributes | |
| std::weak_ptr< TimeShiftHandle > | mTimeShiftHandle |
Public Attributes inherited from ChannelView | |
| std::pair< int, int > | vrulerSize |
Protected Member Functions | |
| virtual std::vector< UIHandlePtr > | DetailedHitTest (const TrackPanelMouseState &, const AudacityProject *pProject, int currentTool, bool bMultiTool)=0 |
Protected Member Functions inherited from ChannelView | |
| virtual std::shared_ptr< ChannelVRulerControls > | DoGetVRulerControls ()=0 |
Protected Member Functions inherited from CommonTrackPanelCell | |
| virtual std::shared_ptr< Track > | DoFindTrack ()=0 |
| unsigned | DoContextMenu (const wxRect &rect, wxWindow *pParent, const wxPoint *pPosition, AudacityProject *pProject) override |
| unsigned | HandleWheelRotation (const TrackPanelMouseEvent &event, AudacityProject *pProject) override |
Protected Attributes | |
| std::weak_ptr< SelectHandle > | mSelectHandle |
Protected Attributes inherited from ChannelView | |
| std::shared_ptr< ChannelVRulerControls > | mpVRulerControls |
Additional Inherited Members | |
Public Types inherited from ChannelView | |
| enum | : unsigned { DefaultHeight = 150 } |
| using | Refinement = std::vector< std::pair< wxCoord, std::shared_ptr< ChannelView > > > |
Implements some hit-testing shared by many ChannelView subtypes.
Definition at line 22 of file CommonChannelView.h.
|
explicit |
Definition at line 50 of file ChannelView.cpp.
|
overridevirtual |
Reimplemented from TrackPanelCell.
Definition at line 77 of file CommonChannelView.cpp.
References CommonTrackPanelCell::FindTrack(), and TrackControls::Get().
|
protectedpure virtual |
Implemented in LabelTrackView, NoteTrackView, SpectrumView, WaveChannelView, WaveformView, and TimeTrackView.
Referenced by HitTest().
|
static |
Get many envelope points for pixel columns at once, but don't assume uniform time per pixel.
Definition at line 108 of file CommonChannelView.cpp.
References Envelope::GetExponential(), Envelope::GetValue(), and ZoomInfo::PositionToTime().
Referenced by anonymous_namespace{WaveformView.cpp}::DrawClipWaveform(), and anonymous_namespace{TimeTrackView.cpp}::DrawHorzRulerAndCurve().
|
overridevirtual |
See other comments for GetHeight
Implements ChannelView.
Definition at line 85 of file CommonChannelView.cpp.
References CommonChannelCell::FindChannel(), PendingTracks::Get(), Channel::GetChannelIndex(), CommonTrackInfo::MinimumTrackHeight(), and PendingTracks::SubstituteOriginalChannel().
|
finalvirtual |
Implements TrackPanelCell.
Definition at line 30 of file CommonChannelView.cpp.
References DetailedHitTest(), CommonTrackPanelCell::FindTrack(), ProjectSettings::Get(), BackgroundCell::Get(), TimeShiftHandle::HitAnywhere(), SelectHandle::HitTest(), ZoomHandle::HitTest(), mSelectHandle, mTimeShiftHandle, ToolCodes::multiTool, BackgroundCell::mZoomHandle, ToolCodes::selectTool, settings(), and TrackPanelMouseState::state.
| void CommonChannelView::TimeShiftHitTest | ( | ) |
|
protected |
Definition at line 56 of file CommonChannelView.h.
Referenced by HitTest().
| std::weak_ptr<TimeShiftHandle> CommonChannelView::mTimeShiftHandle |
Definition at line 59 of file CommonChannelView.h.
Referenced by WaveChannelView::DoDetailedHitTest(), and HitTest().