Audacity 3.2.0
TrackAttachment.h
Go to the documentation of this file.
1/*!********************************************************************
2
3Audacity: A Digital Audio Editor
4
5@file TrackAttachment.h
6@brief abstract base class for structures that user interface associates with tracks
7
8Paul Licameli split from CommonTrackPanelCell.h
9
10**********************************************************************/
11
12#ifndef __AUDACITY_TRACK_ATTACHMENT__
13#define __AUDACITY_TRACK_ATTACHMENT__
14
15#include <wx/chartype.h>
16#include <memory>
17
18#include "ClientData.h"
19
20class Track;
22class XMLWriter;
23
24class TRACK_API TrackAttachment /* not final */ : public ClientData::Base
25{
26public:
28
30 //*! The default does nothing */
31 virtual void CopyTo( Track &track ) const;
32
34
35 virtual void Reparent( const std::shared_ptr<Track> &parent );
36
38
39 virtual void WriteXMLAttributes( XMLWriter & ) const;
40
42
43 virtual bool HandleXMLAttribute(
44 const std::string_view& attr, const XMLAttributeValueView& valueView );
45};
46
47#endif
Utility ClientData::Site to register hooks into a host class that attach client data.
virtual ~TrackAttachment()
Abstract base class for an object holding data associated with points on a time axis.
Definition: Track.h:225
A view into an attribute value. The class does not take the ownership of the data.
Base class for XMLFileWriter and XMLStringWriter that provides the general functionality for creating...
Definition: XMLWriter.h:26
A convenient default parameter for class template Site.
Definition: ClientData.h:28