16#include "../../../../HitTestResult.h"
18#include "../../../../TrackPanelMouseEvent.h"
19#include "../../../../NoteTrack.h"
21#include "../../../../RefreshCode.h"
22#include "../../../../TrackInfo.h"
27(
const std::shared_ptr<NoteTrack> &pTrack,
28 int channel,
const wxRect &rect )
54 (std::weak_ptr<NoteTrackButtonHandle> &holder,
55 const wxMouseState &state,
const wxRect &rect,
56 const std::shared_ptr<NoteTrack> &pTrack)
62 if (midiRect.Contains(state.m_x, state.m_y)) {
63 auto channel = pTrack->FindChannel(midiRect, state.m_x, state.m_y);
64 auto result = std::make_shared<NoteTrackButtonHandle>(
65 pTrack, channel, midiRect );
105 const wxMouseEvent &
event = evt.
event;
106 if (pTrack->LabelClick(
mRect, event.m_x, event.m_y,
107 event.Button(wxMOUSE_BTN_RIGHT))) {
std::shared_ptr< UIHandle > UIHandlePtr
std::shared_ptr< Subclass > AssignUIHandlePtr(std::weak_ptr< Subclass > &holder, const std::shared_ptr< Subclass > &pNew)
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
static void GetMidiControlsRect(const wxRect &rect, wxRect &dest)
void ModifyState(bool bWantsAutoSave)
static ProjectHistory & Get(AudacityProject &project)
std::shared_ptr< Subclass > Lock(const std::weak_ptr< Subclass > &wTrack)
static TrackList & Get(AudacityProject &project)
Namespace containing an enum 'what to do on a refresh?'.
AUDACITY_DLL_API bool HideTopItem(const wxRect &rect, const wxRect &subRect, int allowance=0)