Verovio
Source code documentation
verse.h
1 // Name: verse.h
3 // Author: Laurent Pugin
4 // Created: 2014
5 // Copyright (c) Authors and others. All rights reserved.
7 
8 #ifndef __VRV_VERSE_H__
9 #define __VRV_VERSE_H__
10 
11 #include "lyricelement.h"
12 
13 namespace vrv {
14 
15 class LabelAbbr;
16 
17 //----------------------------------------------------------------------------
18 // Verse
19 //----------------------------------------------------------------------------
20 
21 class Verse : public LyricElement, public AttNInteger {
22 public:
28  Verse();
29  virtual ~Verse();
30  Object *Clone() const override { return new Verse(*this); }
31  void Reset() override;
32  std::string GetClassName() const override { return "verse"; }
34 
39  bool IsSupportedChild(ClassId classId) override;
40 
45  LabelAbbr *GetDrawingLabelAbbr() { return m_drawingLabelAbbr; }
46  const LabelAbbr *GetDrawingLabelAbbr() const { return m_drawingLabelAbbr; }
47  void SetDrawingLabelAbbr(LabelAbbr *labelAbbr) { m_drawingLabelAbbr = labelAbbr; }
49 
50  //----------//
51  // Functors //
52  //----------//
53 
58  FunctorCode Accept(Functor &functor) override;
59  FunctorCode Accept(ConstFunctor &functor) const override;
60  FunctorCode AcceptEnd(Functor &functor) override;
61  FunctorCode AcceptEnd(ConstFunctor &functor) const override;
63 
64 private:
65  //
66 public:
67  //
68 private:
72  LabelAbbr *m_drawingLabelAbbr;
73 };
74 
75 } // namespace vrv
76 
77 #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 <labelAbbr> element.
Definition: labelabbr.h:22
Shared implementation for note-attached verse and refrain lyrics.
Definition: lyricelement.h:33
This class represents a basic object.
Definition: object.h:66
Definition: verse.h:21
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
void Reset() override
Virtual reset method.
Object * Clone() const override
Method call for copying child classes.
Definition: verse.h:30
bool IsSupportedChild(ClassId classId) override
Add an element (a syl) to a verse.