Verovio
Source code documentation
label.h
1 // Name: label.h
3 // Author: Laurent Pugin
4 // Created: 19/06/2017
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_LABEL_H__
9 #define __VRV_LABEL_H__
10 
11 #include "object.h"
12 
13 namespace vrv {
14 
15 //----------------------------------------------------------------------------
16 // Label
17 //----------------------------------------------------------------------------
18 
22 class Label : public Object, public TextListInterface {
23 
24 public:
30  Label();
31  virtual ~Label();
32  Object *Clone() const override { return new Label(*this); }
33  void Reset() override;
34  std::string GetClassName() const override { return "label"; }
36 
41  bool IsSupportedChild(ClassId classId) override;
43 
44  //----------//
45  // Functors //
46  //----------//
47 
52  FunctorCode Accept(Functor &functor) override;
53  FunctorCode Accept(ConstFunctor &functor) const override;
54  FunctorCode AcceptEnd(Functor &functor) override;
55  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
57 
58 private:
59  //
60 public:
61  //
62 private:
63  //
64 };
65 
66 } // namespace vrv
67 
68 #endif
This abstract class is the base class for all const functors.
Definition: functor.h:126
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class models the MEI <label> element.
Definition: label.h:22
void Reset() override
Reset the object, that is 1) removing all children and 2) resetting all attributes.
Object * Clone() const override
Method call for copying child classes.
Definition: label.h:32
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
bool IsSupportedChild(ClassId classId) override
Base method for checking if a child can be added.
This class represents a basic object.
Definition: object.h:61
This class is an pseudo interface for elements maintaining a flat list of children LayerElement for p...
Definition: object.h:992