9ab0e42f29
... if the event is not handled and skipped by sub-windows first, such as for toolbar button clicks. (But track panel clicks are skipped even after doing something, so they may also cause seeking besides other responses. So click can seek AND set cursor.) This is meant to make drag to seek and wheel for change of speed easier, without needing to keep the mouse in the narrow time ruler. Also lets you click in the ruler, then move in any direction, and not miss the motion event that should start the scrub playback. The event handling is a bit of a hack, using propagation. It does not use capture.
42 lines
1.4 KiB
C++
42 lines
1.4 KiB
C++
/**********************************************************************
|
|
|
|
Audacity: A Digital Audio Editor
|
|
|
|
TrackPanelListener.h
|
|
|
|
Dominic Mazzoni
|
|
|
|
**********************************************************************/
|
|
|
|
#ifndef __AUDACITY_TRACK_PANEL_LISTENER__
|
|
#define __AUDACITY_TRACK_PANEL_LISTENER__
|
|
|
|
class ToolsToolBar;
|
|
class ControlToolBar;
|
|
enum class UndoPush : unsigned char;
|
|
|
|
class AUDACITY_DLL_API TrackPanelListener /* not final */ {
|
|
|
|
public:
|
|
TrackPanelListener(){};
|
|
virtual ~TrackPanelListener(){};
|
|
|
|
virtual void TP_DisplaySelection() = 0;
|
|
virtual void TP_DisplayStatusMessage(const wxString &msg) = 0;
|
|
|
|
virtual ToolsToolBar * TP_GetToolsToolBar() = 0;
|
|
|
|
virtual void TP_PushState(const wxString &shortDesc, const wxString &longDesc,
|
|
UndoPush flags) = 0;
|
|
virtual void TP_ModifyState(bool bWantsAutoSave) = 0; // if true, writes auto-save file. Should set only if you really want the state change restored after
|
|
// a crash, as it can take many seconds for large (eg. 10 track-hours) projects
|
|
virtual void TP_RedrawScrollbars() = 0;
|
|
virtual void TP_ScrollLeft() = 0;
|
|
virtual void TP_ScrollRight() = 0;
|
|
virtual void TP_ScrollWindow(double scrollto) = 0;
|
|
virtual bool TP_ScrollUpDown(int delta) = 0;
|
|
virtual void TP_HandleResize() = 0;
|
|
};
|
|
|
|
#endif
|