|
MUSX Document Model
|
Represents a category of markings used. More...
#include <Others.h>
Inheritance diagram for musx::dom::others::MarkingCategory:Public Types | |
| enum class | CategoryType : Cmper { Invalid , Dynamics , TempoMarks , TempoAlterations , ExpressiveText , TechniqueText , RehearsalMarks , Misc } |
| Enumeration for the type of marking category. More... | |
Public Types inherited from musx::dom::Base | |
| 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 | |
| CategoryStaffListSet | createStaffListSet () const |
| Create a StaffListSet for the given instance. This can be used to interrogate whether a staff appears in the staff set. | |
| void | integrityCheck (const std::shared_ptr< Base > &ptrToThis) override |
| 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. | |
Public Member Functions inherited from musx::dom::OthersBase | |
| OthersBase (const OthersBase &)=default | |
| explicit default copy constructor | |
| OthersBase (OthersBase &&) noexcept=default | |
| explicit default move constructor | |
| Cmper | getCmper () const |
Gets the cmper key value. | |
| std::optional< Inci > | getInci () const |
Gets the optional array index (inci). | |
| Cmper | getRequestedPartId () const |
| If this instance was retrieved from an object pool, it contains the part ID that was used to retrieve it. If this value is different than getSourcePartId, then this instance is a copy of the pool instance. | |
Public Member Functions inherited from musx::dom::Base | |
| virtual | ~Base () noexcept(false)=default |
| Virtual destructor for polymorphic behavior. | |
| DocumentPtr | getDocument () const |
| Gets a reference to the Document. | |
| Cmper | getSourcePartId () const |
| Gets the source partId for this instance. If an instance is fully shared with the score, the source is SCORE_PARTID. If an instance is partially shared or non shared, the source is the ID of the part that sourced it. | |
| 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 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 (not implemented in the Finale U.I.) | |
| 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, MusxInstanceWeak< ShapeExpressionDef > > | shapeExpressions |
| A list of shape expressions in this category. | |
| std::map< Cmper, MusxInstanceWeak< 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 | |
Protected Member Functions inherited from musx::dom::OthersBase | |
| OthersBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper, std::optional< Inci > inci=std::nullopt) | |
| Constructs an OthersBase object. | |
| OthersBase & | operator= (const OthersBase &other) |
| Assignment operator delegates to base, preserving OthersBase state. | |
| OthersBase & | operator= (OthersBase &&other) noexcept |
| Assignment operator delegates to base, preserving OthersBase state. | |
Protected Member Functions inherited from musx::dom::Base | |
| Base (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
| Constructs the base class. | |
| Base (const Base &)=default | |
| explicit default copy constructor | |
| Base (Base &&) noexcept=default | |
| explicit default move constructor | |
| Base & | operator= (const Base &) |
| no-op copy assignment operator allows subclasses to copy their values. | |
| Base & | operator= (Base &&) noexcept |
| no-op move assignment operator allows subclasses to move their values. | |
Represents a category of markings used.
This class is identified by the XML node name "markingsCategory".
|
strong |
Enumeration for the type of marking category.
| CategoryStaffListSet musx::dom::others::MarkingCategory::createStaffListSet | ( | ) | const |
Create a StaffListSet for the given instance. This can be used to interrogate whether a staff appears in the staff set.
|
inlineoverridevirtual |
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.
The default implementation should always be called inside an overridden implementation.
| ptrToThis | This instance in a shared_ptr. (Avoids need for shared_from_this.) |
| musx::dom::integrity_error | if there is a problem. |
Reimplemented from musx::dom::Base.
| std::map<Cmper, MusxInstanceWeak<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, MusxInstanceWeak<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.)