Audacity 3.2.0
ProjectTimeRuler.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*!********************************************************************
3
4 Audacity: A Digital Audio Editor
5
6 ProjectTimeRuler.h
7
8 Dmitry Vedenko
9
10**********************************************************************/
11#pragma once
12
13#include <memory>
14
15#include "ClientData.h"
16
17class AudacityProject;
18class LinearUpdater;
19class BeatsFormat;
20class Ruler;
21
23{
24public:
26
28 static const ProjectTimeRuler& Get(const AudacityProject& project);
29
31 const LinearUpdater& GetUpdater() const;
32
34 const BeatsFormat& GetBeatsFormat() const;
35
36 Ruler& GetRuler();
37 const Ruler& GetRuler() const;
38
39private:
40 struct Impl;
41 std::unique_ptr<Impl> mImpl;
42};
Utility ClientData::Site to register hooks into a host class that attach client data.
const auto project
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
std::unique_ptr< Impl > mImpl
LinearUpdater & GetUpdater()
static ProjectTimeRuler & Get(AudacityProject &project)
BeatsFormat & GetBeatsFormat()
ProjectTimeRuler(AudacityProject &project)
Used to display a Ruler.
Definition: Ruler.h:34
A convenient default parameter for class template Site.
Definition: ClientData.h:29