Lomse library. API documentation  0.30.0
CmdInsertManyStaffObjs Class Reference

#include <lomse_command.h>

Inheritance diagram for CmdInsertManyStaffObjs:
CmdInsert DocCmdSimple DocCommand

Detailed Description

A command for inserting a group of consecutive staff objects (e.g. note, rest, clef, barline, etc.).

See constructor for details.

Public Member Functions

 CmdInsertManyStaffObjs (const std::string &source, const std::string &name="Insert staff objects")
 
int get_cursor_update_policy () override
 
int get_undo_policy () override
 
int get_selection_update_policy () override
 
- Public Member Functions inherited from CmdInsert
ImoId last_inserted_id ()
 
- Public Member Functions inherited from DocCmdSimple
virtual ~DocCmdSimple ()
 
bool is_composite () override
 
- Public Member Functions inherited from DocCommand
virtual ~DocCommand ()
 
std::string get_name ()
 
bool is_reversible ()
 
bool is_recordable ()
 
std::string get_error ()
 

Additional Inherited Members

- Public Types inherited from DocCommand
enum  ECmdCursorPolicy
 
enum  ECmdUndoPolicy
 
enum  ECmdSelectionPolicy
 

Constructor & Destructor Documentation

◆ CmdInsertManyStaffObjs()

CmdInsertManyStaffObjs::CmdInsertManyStaffObjs ( const std::string &  source,
const std::string &  name = "Insert staff objects" 
)

This command inserts, in a single operation, a group of consecutive staff objects (e.g. note, rest, clef, barline, etc.) having a common relation between them (e.g. a chord, a group of beamed notes, etc.) although it can also be used for inserting unrelated consecutive staff objects.

Parameters
sourceThe source code of the elements to insert. It must be in LDP format.
nameThe displayable name for the command. If not specified will be replaced by "Insert staff objects".

Remarks

  • The new elements will be inserted before the object currently pointed by the cursor.
  • The command will return a failure code if the cursor is not inside a music score.
  • After executing the command:
    • the selection will not be altered.
    • the cursor will not change its position. The last inserted object will be just behind the cursor.

Member Function Documentation

◆ get_cursor_update_policy()

int CmdInsertManyStaffObjs::get_cursor_update_policy ( )
inlineoverridevirtual

Returns a value from ECmdCursorPolicy that indicates the update policy followed by this command.

Implements DocCommand.

◆ get_selection_update_policy()

int CmdInsertManyStaffObjs::get_selection_update_policy ( )
inlineoverridevirtual

Returns a value from ECmdSelectionPolicy that indicates the undo policy followed by this command.

Implements DocCommand.

◆ get_undo_policy()

int CmdInsertManyStaffObjs::get_undo_policy ( )
inlineoverridevirtual

Returns a value from ECmdUndoPolicy that indicates the undo policy followed by this command.

Implements DocCommand.