8 #ifndef __VRV_SYSTEM_MILESTONE_H__
9 #define __VRV_SYSTEM_MILESTONE_H__
11 #include "systemelement.h"
18 class PrepareMilestonesFunctor;
19 class ResetDataFunctor;
37 void Reset()
override;
38 std::string GetClassName()
const override {
return "systemMilestoneEnd"; }
41 void SetMeasure(
Measure *measure) { m_drawingMeasure = measure; }
42 Measure *GetMeasure() {
return m_drawingMeasure; }
43 const Measure *GetMeasure()
const {
return m_drawingMeasure; }
49 Object *GetStart() {
return m_start; }
50 const Object *GetStart()
const {
return m_start; }
51 std::string GetStartClassName()
const {
return m_startClassName; }
64 FunctorCode AcceptEnd(
Functor &functor)
override;
65 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
79 std::string m_startClassName;
100 virtual void Reset();
103 void SetMeasure(
Measure *measure) { m_drawingMeasure = measure; }
104 Measure *GetMeasure() {
return m_drawingMeasure; }
105 const Measure *GetMeasure()
const {
return m_drawingMeasure; }
115 bool IsSystemMilestone()
const {
return (m_end != NULL); }
121 void ConvertToPageBasedMilestone(
Object *
object,
Object *parent);
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 represents a measure in a page-based score (Doc).
Definition: measure.h:46
This class represents a basic object.
Definition: object.h:61
This class sets the Measure of Ending.
Definition: preparedatafunctor.h:865
This class resets the drawing values before calling PrepareData after changes.
Definition: resetfunctor.h:22
This class represents elements appearing within a measure.
Definition: systemelement.h:26
This class models an end milestone element at the system level.
Definition: systemmilestone.h:28
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
This class is an interface for container elements that have to be turned to milestones in a page-base...
Definition: systemmilestone.h:91
FunctorCode InterfacePrepareMilestones(PrepareMilestonesFunctor &functor)
We have functor code in the interface for avoiding code duplication in each implementation class.