mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-26 01:18:06 +02:00
Cursor change and status message for mouse over label text boxes
This commit is contained in:
parent
828d9c3ccd
commit
24ebf27bb6
@ -16,6 +16,7 @@ Paul Licameli split from TrackPanel.cpp
|
|||||||
#include "../../../RefreshCode.h"
|
#include "../../../RefreshCode.h"
|
||||||
#include "../../../TrackPanelMouseEvent.h"
|
#include "../../../TrackPanelMouseEvent.h"
|
||||||
#include "../../../ViewInfo.h"
|
#include "../../../ViewInfo.h"
|
||||||
|
#include "../../../images/Cursors.h"
|
||||||
|
|
||||||
LabelTextHandle::LabelTextHandle()
|
LabelTextHandle::LabelTextHandle()
|
||||||
{
|
{
|
||||||
@ -27,13 +28,23 @@ LabelTextHandle &LabelTextHandle::Instance()
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HitTestPreview LabelTextHandle::HitPreview()
|
||||||
|
{
|
||||||
|
static auto ibeamCursor =
|
||||||
|
::MakeCursor(wxCURSOR_IBEAM, IBeamCursorXpm, 17, 16);
|
||||||
|
return {
|
||||||
|
_("Click to edit label text"),
|
||||||
|
ibeamCursor.get()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
HitTestResult LabelTextHandle::HitTest(const wxMouseEvent &event, LabelTrack *pLT)
|
HitTestResult LabelTextHandle::HitTest(const wxMouseEvent &event, LabelTrack *pLT)
|
||||||
{
|
{
|
||||||
// If Control is down, let the select handle be hit instead
|
// If Control is down, let the select handle be hit instead
|
||||||
if (!event.ControlDown() &&
|
if (!event.ControlDown() &&
|
||||||
pLT->OverATextBox(event.m_x, event.m_y) >= 0)
|
pLT->OverATextBox(event.m_x, event.m_y) >= 0)
|
||||||
// There was no cursor change or status message for mousing over a label text box
|
// There was no cursor change or status message for mousing over a label text box
|
||||||
return { {}, &Instance() };
|
return { HitPreview(), &Instance() };
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
@ -140,7 +151,7 @@ UIHandle::Result LabelTextHandle::Drag
|
|||||||
HitTestPreview LabelTextHandle::Preview
|
HitTestPreview LabelTextHandle::Preview
|
||||||
(const TrackPanelMouseEvent &evt, const AudacityProject *pProject)
|
(const TrackPanelMouseEvent &evt, const AudacityProject *pProject)
|
||||||
{
|
{
|
||||||
return {};
|
return HitPreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
UIHandle::Result LabelTextHandle::Release
|
UIHandle::Result LabelTextHandle::Release
|
||||||
|
@ -28,6 +28,8 @@ class LabelTextHandle final : public LabelDefaultClickHandle
|
|||||||
LabelTextHandle &operator=(const LabelTextHandle&) = delete;
|
LabelTextHandle &operator=(const LabelTextHandle&) = delete;
|
||||||
static LabelTextHandle& Instance();
|
static LabelTextHandle& Instance();
|
||||||
|
|
||||||
|
static HitTestPreview HitPreview();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static HitTestResult HitTest(const wxMouseEvent &event, LabelTrack *pLT);
|
static HitTestResult HitTest(const wxMouseEvent &event, LabelTrack *pLT);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user