![]() |
Audacity 3.2.0
|
#include <TrackPanelResizeHandle.h>
Public Member Functions | |
TrackPanelResizeHandle (const std::shared_ptr< Track > &pTrack, int y) | |
TrackPanelResizeHandle & | operator= (const TrackPanelResizeHandle &)=default |
virtual | ~TrackPanelResizeHandle () |
std::shared_ptr< Track > | GetTrack () const |
Result | Click (const TrackPanelMouseEvent &event, AudacityProject *pProject) override |
Result | Drag (const TrackPanelMouseEvent &event, AudacityProject *pProject) override |
HitTestPreview | Preview (const TrackPanelMouseState &state, AudacityProject *pProject) override |
Result | Release (const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent) override |
Result | Cancel (AudacityProject *pProject) override |
![]() | |
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) |
Result | GetChangeHighlight () const |
void | SetChangeHighlight (Result val) |
![]() | |
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 HitTestPreview | HitPreview (bool bLinked) |
![]() | |
static UIHandle::Result | NeedChangeHighlight (const UIHandle &, const UIHandle &) |
![]() | |
static wxRect | MaximizeWidth (const wxRect &rect, const wxRect &panelRect) |
static wxRect | MaximizeHeight (const wxRect &rect, const wxRect &panelRect) |
Private Types | |
enum | Mode { IsResizing , IsResizingBetweenLinkedTracks , IsResizingBelowLinkedTracks } |
Private Member Functions | |
TrackPanelResizeHandle (const TrackPanelResizeHandle &)=delete | |
Private Attributes | |
Mode | mMode { IsResizing } |
std::weak_ptr< Track > | mpTrack |
bool | mInitialMinimized {} |
int | mInitialTrackHeight {} |
int | mInitialExpandedHeight {} |
int | mInitialUpperTrackHeight {} |
int | mInitialUpperExpandedHeight {} |
int | mMouseClickY {} |
Additional Inherited Members | |
![]() | |
using | Result = unsigned |
using | Cell = TrackPanelCell |
![]() | |
Result | mChangeHighlight { 0 } |
Definition at line 18 of file TrackPanelResizeHandle.h.
|
private |
Enumerator | |
---|---|
IsResizing | |
IsResizingBetweenLinkedTracks | |
IsResizingBelowLinkedTracks |
Definition at line 50 of file TrackPanelResizeHandle.h.
|
privatedelete |
|
explicit |
Definition at line 84 of file TrackPanelResizeHandle.cpp.
References TrackList::Channels(), TrackView::Get(), IsResizing, IsResizingBelowLinkedTracks, IsResizingBetweenLinkedTracks, mInitialExpandedHeight, mInitialMinimized, mInitialTrackHeight, mInitialUpperExpandedHeight, mInitialUpperTrackHeight, and mMode.
|
virtual |
Definition at line 52 of file TrackPanelResizeHandle.cpp.
|
overridevirtual |
Implements UIHandle.
Definition at line 260 of file TrackPanelResizeHandle.cpp.
References RefreshCode::Cancelled, ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy >::Find(), TrackList::Get(), TrackView::Get(), IsResizing, IsResizingBelowLinkedTracks, IsResizingBetweenLinkedTracks, mInitialExpandedHeight, mInitialMinimized, mInitialUpperExpandedHeight, mMode, mpTrack, and RefreshCode::RefreshAll.
|
overridevirtual |
Implements UIHandle.
Definition at line 56 of file TrackPanelResizeHandle.cpp.
References RefreshCode::Cancelled, TrackList::Channels(), TrackPanelMouseEvent::event, ProjectHistory::Get(), TrackList::Get(), TrackView::Get(), TrackView::GetHeight(), TrackView::GetMinimized(), IsResizingBetweenLinkedTracks, mMode, ProjectHistory::ModifyState(), mpTrack, RefreshCode::RefreshAll, RefreshCode::RefreshNone, TrackView::SetExpandedHeight(), and size.
|
overridevirtual |
Implements UIHandle.
Definition at line 117 of file TrackPanelResizeHandle.cpp.
References RefreshCode::Cancelled, TrackList::Channels(), TrackPanelMouseEvent::event, ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy >::Find(), TrackList::Get(), TrackView::Get(), IsResizing, IsResizingBelowLinkedTracks, IsResizingBetweenLinkedTracks, mInitialTrackHeight, mInitialUpperTrackHeight, mMode, mMouseClickY, mpTrack, RefreshCode::RefreshAll, and RefreshCode::RefreshNone.
|
inline |
|
static |
When in the resize area we can adjust size or relative size.
Definition at line 25 of file TrackPanelResizeHandle.cpp.
References XO().
Referenced by Preview().
|
default |
|
overridevirtual |
Implements UIHandle.
Definition at line 240 of file TrackPanelResizeHandle.cpp.
References HitPreview(), IsResizingBetweenLinkedTracks, and mMode.
|
overridevirtual |
This happens when the button is released from a drag. Since we actually took care of resizing the track when we got drag events, all we have to do here is clean up. We also modify the undo state (the action doesn't become undo-able, but it gets merged with the previous undo-able event).
Implements UIHandle.
Definition at line 246 of file TrackPanelResizeHandle.cpp.
References RefreshCode::FixScrollbars, ProjectHistory::Get(), and ProjectHistory::ModifyState().
|
private |
Definition at line 61 of file TrackPanelResizeHandle.h.
Referenced by Cancel(), and TrackPanelResizeHandle().
|
private |
Definition at line 59 of file TrackPanelResizeHandle.h.
Referenced by Cancel(), and TrackPanelResizeHandle().
|
private |
Definition at line 60 of file TrackPanelResizeHandle.h.
Referenced by Drag(), and TrackPanelResizeHandle().
|
private |
Definition at line 63 of file TrackPanelResizeHandle.h.
Referenced by Cancel(), and TrackPanelResizeHandle().
|
private |
Definition at line 62 of file TrackPanelResizeHandle.h.
Referenced by Drag(), and TrackPanelResizeHandle().
|
private |
Definition at line 55 of file TrackPanelResizeHandle.h.
Referenced by Cancel(), Click(), Drag(), Preview(), and TrackPanelResizeHandle().
|
private |
Definition at line 65 of file TrackPanelResizeHandle.h.
Referenced by Drag().
|
private |
Definition at line 57 of file TrackPanelResizeHandle.h.
Referenced by Cancel(), Click(), Drag(), and GetTrack().