MUSX Document Model
|
Represents a category of markings used. More...
#include <Others.h>
Public Types | |
enum class | CategoryType : Cmper { Invalid , Dynamics , TempoMarks , TempoAlterations , ExpressiveText , TechniqueText , RehearsalMarks , Misc } |
Enumeration for the type of marking category. More... | |
![]() | |
enum class | ShareMode { All , Partial , None } |
Describes how this instance is shared between part and score. More... | |
using | SharedNodes = std::set< std::string > |
The container type for shared nodes. | |
Public Member Functions | |
MarkingCategory (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper) | |
Constructor function. | |
std::string | getName () const |
gets the name of the marking category | |
![]() | |
Cmper | getCmper () const |
Gets the cmper key value. | |
std::optional< Inci > | getInci () const |
Gets the optional array index (inci ). | |
![]() | |
virtual | ~Base () noexcept(false)=default |
Virtual destructor for polymorphic behavior. | |
DocumentPtr | getDocument () const |
Gets a reference to the Document. | |
Cmper | getPartId () const |
Gets the partId for this instance (or 0 for score) | |
std::shared_ptr< others::PartDefinition > | getPartDefinition () const |
Gets the others::PartDefinition corresponding to getPartId. | |
ShareMode | getShareMode () const |
Gets the sharing mode for this instance. | |
const SharedNodes & | getUnlinkedNodes () const |
Gets the unlinked nodes for this instance. (Only populated for ShareMode::Partial ) | |
void | addUnlinkedNode (const std::string &nodeName) |
Adds a shared node for this instance. | |
virtual void | integrityCheck () |
Allows a class to determine if it has been properly contructed by the factory and fix issues that it can, such as creating default instances of contained classes. | |
virtual bool | requireAllFields () const |
Specifies if the parser should alert (print or throw) when an unknown xml tag is found for this class. | |
Static Public Member Functions | |
static const xml::XmlElementArray< MarkingCategory > & | xmlMappingArray () |
Required for musx::factory::FieldPopulator. | |
Public Attributes | |
CategoryType | categoryType {} |
Category type of the marking. | |
std::shared_ptr< FontInfo > | textFont |
Text font. | |
std::shared_ptr< FontInfo > | musicFont |
Music font. | |
std::shared_ptr< FontInfo > | numberFont |
Number font. | |
HorizontalMeasExprAlign | horzAlign {} |
Horizontal alignment for the marking. | |
VerticalMeasExprAlign | vertAlign {} |
Vertical alignment for the marking. | |
HorizontalTextJustification | justification {} |
Justification for the text within the marking. | |
Evpu | horzOffset {} |
Additional horizontal offset. | |
Evpu | vertOffsetBaseline {} |
Additional vertical offset. | |
Evpu | vertOffsetEntry {} |
Additional vertical entry offset. | |
bool | usesTextFont {} |
whether this category uses the text font | |
bool | usesMusicFont {} |
whether this category uses the music font | |
bool | usesNumberFont {} |
whether this category uses the number font | |
bool | usesPositioning {} |
whether this category uses the positioning elements (Finale UI only allows true) | |
bool | usesStaffList {} |
whether this category uses a staff list | |
bool | usesBreakMmRests {} |
whether this category uses the breakMmRest setting | |
bool | breakMmRest {} |
whether expressions in this category break multimeasure rests | |
bool | userCreated {} |
whether the user created this category | |
Cmper | staffList {} |
The staff list if useStaffList is true. | |
std::map< Cmper, std::weak_ptr< ShapeExpressionDef > > | shapeExpressions |
A list of shape expressions in this category. | |
std::map< Cmper, std::weak_ptr< TextExpressionDef > > | textExpressions |
A list of text expressions in this category. | |
Static Public Attributes | |
static constexpr std::string_view | XmlNodeName = "markingsCategory" |
The XML node name for this type. | |
Additional Inherited Members | |
![]() | |
OthersBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, std::optional< Inci > inci=std::nullopt) | |
Constructs an OthersBase object. | |
![]() | |
Base (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
Constructs the base class and enforces the static constexpr XmlNodeName. | |
Base & | operator= (const Base &) |
assignment constructor: m_unlinkedNodes is intentionally omitted | |
Represents a category of markings used.
This class is identified by the XML node name "markingsCategory".
|
strong |
Enumeration for the type of marking category.
std::map<Cmper, std::weak_ptr<ShapeExpressionDef> > musx::dom::others::MarkingCategory::shapeExpressions |
A list of shape expressions in this category.
(This in not in the xml but is created by the factory.)
std::map<Cmper, std::weak_ptr<TextExpressionDef> > musx::dom::others::MarkingCategory::textExpressions |
A list of text expressions in this category.
(This in not in the xml but is created by the factory.)