|
MUSX Document Model
|
Represents the attributes of a Finale "partDef". More...
#include <Others.h>
Inheritance diagram for musx::dom::others::PartDefinition:Public Member Functions | |
| PartDefinition (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper cmper) | |
| Constructor function. | |
| util::EnigmaParsingContext | getNameRawTextCtx () const |
| Get the raw text context for the part name if any. | |
| std::string | getName (util::EnigmaString::AccidentalStyle accidentalStyle=util::EnigmaString::AccidentalStyle::Ascii) const |
| Get the part name if any. | |
| bool | isScore () const |
| Return true if this part corresponds to the score. | |
| Cmper | calcScrollViewCmper () const |
| Returns the StaffUsed cmper for Scroll View for this part. See Document::calcScrollViewCmper. | |
| std::optional< PageCmper > | calcPageNumberFromAssignmentId (PageCmper pageAssignmentId) const |
| Calculates a page number in this part from a page assignment ID. (See PageTextAssign.) | |
| PageCmper | calcAssignmentIdFromPageNumber (PageCmper pageId) const |
| Calculates a page assignment ID from a page number in the part. | |
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::EnigmaBase | |
| 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 void | integrityCheck (const std::shared_ptr< EnigmaBase > &ptrToThis) |
| Performs a final consistency check after population. | |
| virtual bool | requireAllFields () const |
| Returns true if all fields are required for valid input. | |
Public Member Functions inherited from musx::dom::DocumentElement | |
| virtual | ~DocumentElement () noexcept(false)=default |
| Virtual destructor for polymorphic behavior. | |
| DocumentPtr | getDocument () const |
| Gets a reference to the Document. | |
| Cmper | getPartId () const |
| Gets the part id associated with this instance. | |
Static Public Member Functions | |
| static MusxInstance< PartDefinition > | getScore (const DocumentPtr &document) |
| Return the instance for the score. | |
| static MusxInstanceList< PartDefinition > | getInUserOrder (const DocumentPtr &document) |
| Return the linked parts sorted in UI order by partOrder. | |
| static const xml::XmlElementArray< PartDefinition > & | xmlMappingArray () |
| Required for musx::factory::FieldPopulator. | |
Public Attributes | |
| Cmper | nameId {} |
Cmper of the part name TextBlock. (xml tag is <nameID>) | |
| int | partOrder {} |
| Value that determines the order of listed parts in Finale's UI. | |
| int | copies {} |
| Number of copies to print. | |
| bool | printPart {} |
| Indicates the part should be printed. | |
| bool | extractPart {} |
| Indicates if the part should be extracted. | |
| bool | applyFormat {} |
| Meaning uncertain. May have to do with page format for parts and whether it has been applied. | |
| bool | needsRecalc {} |
| Indicates if the part needs update layout. | |
| bool | useAsSmpInst {} |
| Indicates if the part is used as a SmartMusic instrument. | |
| int | smartMusicInst {} |
| SmartMusic instrument ID (-1 if not used). | |
| Cmper | defaultNameStaff {} |
| If non-zero, this points to the Staff that has the default name (if unspecified by nameId.) | |
| Cmper | defaultNameGroup {} |
| If non-zero, this points to the details::StaffGroup that has the default name (if unspecified by nameId.) | |
| int | numberOfLeadingBlankPages {} |
| The number of leading blank pages in the part. This is not in the xml but calculated in factory::DocumentFactory::create. | |
| int | numberOfPages {} |
| The total number of pages in the part. This is not in the xml but calculated in factory::DocumentFactory::create. | |
Static Public Attributes | |
| static constexpr std::string_view | XmlNodeName = "partDef" |
| The XML node name for this type. | |
Additional Inherited Members | |
Public Types inherited from musx::dom::EnigmaBase | |
| 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. | |
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::EnigmaBase | |
| EnigmaBase (const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode) | |
| Constructs the base class. | |
| EnigmaBase (const EnigmaBase &)=default | |
| explicit default copy constructor | |
| EnigmaBase (EnigmaBase &&) noexcept=default | |
| explicit default move constructor | |
| EnigmaBase & | operator= (const EnigmaBase &) |
| no-op copy assignment operator allows subclasses to copy their values. | |
| EnigmaBase & | operator= (EnigmaBase &&) noexcept |
| no-op move assignment operator allows subclasses to move their values. | |
Protected Member Functions inherited from musx::dom::DocumentElement | |
| DocumentElement (const DocumentWeakPtr &document, Cmper partId) | |
| Constructs the document element. | |
| DocumentElement (const DocumentElement &)=default | |
| explicit default copy constructor | |
| DocumentElement (DocumentElement &&) noexcept=default | |
| explicit default move constructor | |
| DocumentElement & | operator= (const DocumentElement &) |
| no-op copy assignment operator allows subclasses to copy their values. | |
| DocumentElement & | operator= (DocumentElement &&) noexcept |
| no-op move assignment operator allows subclasses to move their values. | |
Represents the attributes of a Finale "partDef".
The cmper is the part definition ID, representing unique part definitions in the Finale document. This class is identified by the XML node name "partDef".
| PageCmper musx::dom::others::PartDefinition::calcAssignmentIdFromPageNumber | ( | PageCmper | pageId | ) | const |
Calculates a page assignment ID from a page number in the part.
| pageId | The page for which to get the assignment ID. |
| std::optional< PageCmper > musx::dom::others::PartDefinition::calcPageNumberFromAssignmentId | ( | PageCmper | pageAssignmentId | ) | const |
Calculates a page number in this part from a page assignment ID. (See PageTextAssign.)
| pageAssignmentId | The page assignment ID. |
| util::EnigmaParsingContext musx::dom::others::PartDefinition::getNameRawTextCtx | ( | ) | const |
Get the raw text context for the part name if any.