|
| SubViewAdjustHandle (SubViewAdjuster &&adjuster, size_t subViewIndex, wxCoord viewHeight, bool top) |
|
Result | Click (const TrackPanelMouseEvent &event, AudacityProject *pProject) override |
|
Result | Drag (const TrackPanelMouseEvent &event, AudacityProject *) override |
|
HitTestPreview | Preview (const TrackPanelMouseState &state, AudacityProject *) override |
|
Result | Release (const TrackPanelMouseEvent &event, AudacityProject *pProject, wxWindow *pParent) override |
|
Result | Cancel (AudacityProject *) override |
|
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 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) |
|
Definition at line 221 of file WaveTrackView.cpp.
◆ anonymous enum
◆ SubViewAdjustHandle()
anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::SubViewAdjustHandle |
( |
SubViewAdjuster && |
adjuster, |
|
|
size_t |
subViewIndex, |
|
|
wxCoord |
viewHeight, |
|
|
bool |
top |
|
) |
| |
|
inline |
◆ Cancel()
◆ Click()
◆ Drag()
Implements UIHandle.
Definition at line 315 of file WaveTrackView.cpp.
324 const auto delta = newY -
mOrigY;
325 wxCoord newHeight =
mTop
329 wxASSERT( newHeight >= 0 && newHeight <=
mTotalHeight );
337 myPlacement.fraction = newHeight;
341 const auto adjustHeight = [&](
size_t ii) {
349 auto &fraction = placement.fraction;
351 if (excess > oldFraction) {
352 excess -= oldFraction, fraction = 0;
356 auto newFraction = oldFraction - excess;
359 myPlacement.fraction += newFraction;
363 fraction = newFraction;
370 if ( adjustHeight( ii ) )
378 if ( adjustHeight( ii ) )
References RefreshCode::Cancelled, TrackPanelMouseEvent::event, min(), RefreshCode::RefreshAll, and size.
◆ HitTest()
Definition at line 226 of file WaveTrackView.cpp.
234 SubViewAdjuster adjuster{ view };
235 auto hit = adjuster.
HitTest( subView,
236 state.
state.GetY(), state.
rect.GetTop(), state.
rect.GetHeight() );
237 auto index = hit.first;
239 if ( index < adjuster.mPermutation.size() ) {
240 auto result = std::make_shared< SubViewAdjustHandle >(
241 std::move( adjuster ), index, view.
GetLastHeight(), hit.second
References AssignUIHandlePtr(), WaveTrackView::GetLastHeight(), WaveTrackView::GetMultiView(), WaveTrackView::HitTest(), TrackPanelMouseState::rect, and TrackPanelMouseState::state.
◆ Preview()
Implements UIHandle.
Definition at line 388 of file WaveTrackView.cpp.
391 static auto resizeCursor =
392 ::MakeCursor(wxCURSOR_ARROW, SubViewsCursorXpm, 16, 16);
395 "Click and drag to adjust sizes of sub-views, double-click to split evenly"),
References MakeCursor(), and XO.
◆ Release()
◆ mAdjuster
SubViewAdjuster anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::mAdjuster |
|
private |
◆ mMySubView
size_t anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::mMySubView {} |
|
private |
◆ mOrigHeight
wxCoord anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::mOrigHeight {} |
|
private |
◆ mOrigHeights
std::vector<wxCoord> anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::mOrigHeights |
|
private |
◆ mOrigY
wxCoord anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::mOrigY {} |
|
private |
◆ mTop
bool anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::mTop {} |
|
private |
◆ mTotalHeight
wxCoord anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::mTotalHeight {} |
|
private |
◆ mViewHeight
wxCoord anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::mViewHeight {} |
|
private |
◆ mYMax
wxCoord anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::mYMax {} |
|
private |
◆ mYMin
wxCoord anonymous_namespace{WaveTrackView.cpp}::SubViewAdjustHandle::mYMin {} |
|
private |
The documentation for this class was generated from the following file:
void ModifyState(bool bWantsAutoSave)
static ProjectHistory & Get(AudacityProject &project)