Finale PDK Framework
0.54
|
Class that handles Undo records for modeless plug-in interfaces. More...
#include <ff_undo.h>
Public Member Functions | |
bool | Execute (__FCUndoBlockHandler *pHandler, FCString *pUndoString) |
Executes the code within an undoable edit record. More... | |
bool | AddSession (FCString *pUndoString, bool storecurrentblock) |
Starts a new Undo/Redo block within a running Execute() session. More... | |
Public Member Functions inherited from __FCBase | |
virtual const PDKFRAMEWORK_CLASSID | GetClassID () |
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has problems to resolve the true classes of inherited objects. More... | |
virtual const char * | ClassName () |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More... | |
__FCBase () | |
The constructor. | |
virtual | ~__FCBase () |
Virtual destructor, so all inherited classes get the virtual destructor. More... | |
void | DebugMsgDigit (const char *pszPrefixText, int i) |
Creates a simple Message Box for debug purposes. The text appears with the extra digit (in decimal presentation) appearing afterwards. More... | |
void | DebugMsgHex (const char *pszPrefixText, int i) |
Creates a simple Message Box for debug purposes. The text appears with the extra digit (as a hexadecimal number) appearing afterwards. More... | |
void | DebugMsgString (const char *pszPrefixText, const char *thestring) |
Creates a simple Message Box for debug purposes. The text appears with the extra string appearing afterwards. More... | |
void | DebugMsg (const char *pszMsg) |
Creates a simple Message Box for debug purposes with just one text string. More... | |
void | DebugOutMenuInfo (FCUI *pUI, int menuixd_horiz, int menuixd_vert) const |
Outputs the menu command info for debugging purposes. More... | |
int | DebugOutFormat (const char *fmt,...) |
Outputs debug text using C style "printf" syntax. More... | |
virtual void | DebugDump () |
Outputs the class data/information for debugging purposes. More... | |
virtual void | DebugDataDump () |
Outputs a memory dump of the data block in the object for debugging purposes. More... | |
virtual void | DebugDataByteArrayDump () |
Outputs a memory dump of the data block in the object for debugging purposes, as a C++ byte array. More... | |
void | Set16BitFlag (FLAG_16 *flag, FLAG_16 flagbits, bool state) |
Sets a 16 bit flag in the data block. More... | |
void | Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state) |
Sets a 32 bit flag in the data block. More... | |
bool | GetBitFlag (FLAG_32 flag, FLAG_32 flagbits) const |
Gets a state from flag bits. Returns true if any bit in the mask is set. More... | |
void | SetUserData (void *pData) |
Sets the user data attached to the instance of an object. More... | |
void | SetUserData2 (void *pData) |
Sets the additional user data attached to the instance of an object. More... | |
void * | GetUserData () const |
Gets the user data attached to the instance of an object. More... | |
void * | GetUserData2 () const |
Gets the additional user data attached to the instance of an object. More... | |
virtual bool | IsIdentical (__FCBase *pCompareObject) |
Returns true if the data in the passed object is considered to be identical to the current object, otherwise false. More... | |
void | StoreXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue) |
Helper function to store FCString objects in the XML file. More... | |
void | StoreXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int value) |
Helper function to store integer objects in the XML file. More... | |
void | StoreXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool value) |
Helper function to store boolean objects in the XML file. More... | |
void | StoreXML_StringAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, FCString *pStringValue) |
Helper function to store FCString objects in the XML file, as an attribute to a node. More... | |
void | StoreXML_IntegerAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, int value) |
Helper function to store integer objects in the XML file, as an attribute to a node. More... | |
void | StoreXML_BoolAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, bool value) |
Helper function to store boolean objects in the XML file, as an attribute to a node. More... | |
void | StoreXML_FloatAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, float value) |
Helper function to store floating point objects in the XML file, as an attribute to a node. More... | |
virtual void | StoreToXML (tinyxml2::XMLElement *pParentNode) |
Virtual method that is used to store an object's data. More... | |
bool | ReadXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue) |
Helper method to read FCString objects from the XML file. More... | |
bool | ReadXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int *pValue) |
Helper method to read integer objects from the XML file. More... | |
bool | ReadXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool *pValue) |
Helper method to read boolean objects from the XML file. More... | |
bool | ReadXML_StringAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, FCString *pStringValue) |
Helper method to read FCString objects from the XML file, as an attribute to a node. More... | |
bool | ReadXML_IntegerAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, int *pValue) |
Helper method to read integer objects from the XML file, as an attribute to a node. More... | |
bool | ReadXML_BoolAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, bool *pValue) |
Helper method to read boolean objects from the XML file, as an attribute to a node. More... | |
bool | ReadXML_FloatAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, float *pValue) |
Helper method to read floating point objects from the XML file, as an attribute to a node. More... | |
virtual bool | ReadFromXML (tinyxml2::XMLElement *pParentNode) |
Virtual method that is used to read object data. More... | |
Additional Inherited Members | |
Public Types inherited from __FCBase | |
enum | PDKFRAMEWORK_CLASSID { FCID_UNKNOWN = 0, FCID_ACCIDENTALMOD, FCID_ALLOTMENT, FCID_ARTICULATION, FCID_ARTICULATIONDEF, FCID_BACKWARDREPEAT, FCID_BASELINE, FCID_BEAMMOD, FCID_BEATCHARTELEMENT, FCID_BROKENBEAMMOD, FCID_CATEGORYDEF, FCID_CELLCLEFCHANGE, FCID_CELLFRAMEHOLD, FCID_CELLGRAPHIC, FCID_CELLTEXT, FCID_CENTERSMARTSHAPE, FCID_CHORD, FCID_CHORDPREFS, FCID_CHORDSUFFIXELEMENT, FCID_CHORUSSYLLABLE, FCID_CLEFDEF, FCID_COMPOSITETIMESIGBOTTOMELEMENT, FCID_COMPOSITETIMESIGTOPELEMENT, FCID_CROSSSTAFFMOD, FCID_CUSTOMSMARTLINEDEF, FCID_CUSTOMSTEMMOD, FCID_DISTANCEPREFS, FCID_DOTMOD, FCID_ENCLOSURE, FCID_ENDINGREPEAT, FCID_ENTRYALTERMOD, FCID_EXECUTABLESHAPEDEF, FCID_EXPRESSION, FCID_FONTINFO, FCID_FONTPREFS, FCID_FREEZESYSTEM, FCID_FRETBOARDSTYLEDEF, FCID_FRETBOARDSTYLEDEFS, FCID_FRETBOARDGROUPDEF, FCID_FRETBOARDGROUPDEFS, FCID_FRETINSTRUMENTDEF, FCID_GENERALPREFS, FCID_GRIDSGUIDESPREFS, FCID_GROUP, FCID_GROUPNAMEPOSITIONPREFS, FCID_HUMANPLAYBACKPREFS, FCID_INDEPENDENTCELLDETAIL, FCID_INSTRUMENTDEF, FCID_INSTRUMENTPLAYBACKDATA, FCID_KEYSIGNATURE, FCID_LAYERPREFS, FCID_LYRICSPREFS, FCID_MEASURE, FCID_MEASURENUMBERREGION, FCID_METATOOLASSIGNMENT, FCID_MIDIEXPRESSION, FCID_MISCDOCPREFS, FCID_MULTIMEASUREREST, FCID_MULTIMEASURERESTPREFS, FCID_MULTISTAFFINSTRUMENT, FCID_MULTISTAFFINSTRUMENTS, FCID_MUSICCHARACTERPREFS, FCID_MUSICSPACINGPREFS, FCID_NUMBER, FCID_NOTEHEADMOD, FCID_OTHERINCI, FCID_PERCUSSIONLAYOUTNOTE, FCID_PERCUSSIONSTAFF, FCID_PERFORMANCEMOD, FCID_PAGE, FCID_PAGEFORMATPREFS, FCID_PAGEGRAPHIC, FCID_PAGETEXT, FCID_PART, FCID_PARTEXTRACTPREFS, FCID_PARTSCOPEPREFS, FCID_PERCUSSIONNOTEMOD, FCID_PIANOBRACEPREFS, FCID_PLAYBACKPREFS, FCID_RAWTEXT, FCID_REPEATPREFS, FCID_SECONDARYBEAMBREAKMOD, FCID_SECTIONSYLLABLE, FCID_SEPARATEMEASURENUMBER, FCID_SEPARATEPLACEMENT, FCID_SHAPEDEF, FCID_SHAPEEXPRESSIONDEF, FCID_SLURCONTOURPREFS, FCID_SIZEPREFS, FCID_SMARTSHAPE, FCID_SMARTSHAPEENTRYMARK, FCID_SMARTSHAPEMEASUREMARK, FCID_SMARTSHAPEPREFS, FCID_STAFF, FCID_STAFFLIST, FCID_STAFFNAMEPOSITION, FCID_STAFFNAMEPOSITIONPREFS, FCID_STAFFSTYLEASSIGN, FCID_STAFFSTYLEDEF, FCID_STAFFSYSTEM, FCID_STEMCONNECTIONTABLE, FCID_STEMMOD, FCID_STRING, FCID_SYLLABLEENTRYMOD, FCID_SYSTEMSTAFF, FCID_TABLATURENOTEMOD, FCID_TEMPOELEMENT, FCID_TEXTBLOCK, FCID_TEXTEXPRESSIONDEF, FCID_TEXTREPEAT, FCID_TEXTREPEATDEF, FCID_TIEMOD, FCID_TIEPREFS, FCID_TIECONTOURPREFS, FCID_TIEPLACEMENTPREFS, FCID_TIMESIGNATURE, FCID_TUPLET, FCID_TUPLETPREFS, FCID_VERSESYLLABLE } |
Constants for the GetClassID method. More... | |
enum | MEASUREMENTUNITS { MEASUREMENTUNIT_DEFAULT = UNIT_DEFAULT, MEASUREMENTUNIT_EVPUS = UNIT_EVPUS, MEASUREMENTUNIT_INCHES = UNIT_INCHES, MEASUREMENTUNIT_CENTIMETERS = UNIT_CENTS, MEASUREMENTUNIT_POINTS = UNIT_POINTS, MEASUREMENTUNIT_PICAS = UNIT_PICAS, MEASUREMENTUNIT_SPACES = UNIT_SPACES, MEASUREMENTUNIT_MILLIMETERS = 100 } |
Constants for Finale's standard measurement units. More... | |
Static Public Member Functions inherited from __FCBase | |
static void | DebugOutPtr (const char *pszPrefixText, void *ptr) |
Static method that outputs a line for debugging purposes. The prefix text appears with the extra ptr (in hexadeximal representation) appearing afterwards. More... | |
static void | DebugOutDigit (const char *pszPrefixText, int i) |
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in decimal presentation) appearing afterwards. More... | |
static void | DebugOutFloat (const char *pszPrefixText, float f) |
Static method that outputs a line for debugging purposes. The text appears with the extra float value appearing afterwards. More... | |
static void | DebugOutTag (const char *pszPrefixText, EXTAG extag) |
Static method that outputs a line for debugging purposes. The text appears with the EXTAG (in text) appearing afterwards. More... | |
static void | DebugOutHex (const char *pszPrefixText, int i) |
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in hexadecimal presentation) appearing afterwards. More... | |
static void | DebugOutBin (const char *pszPrefixText, int i) |
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in binary presentation) appearing afterwards. More... | |
static void | DebugOutString (const char *pszPrefixText, const char *thestring) |
Static method that outputs a line for debugging purposes (C string version). The text appears with the extra string appearing afterwards. More... | |
static void | DebugOutString (const char *pszPrefixText, FCString *pString) |
Static method that outputs a line for debugging purposes (FCString version). The text appears with the extra string appearing afterwards. More... | |
static void | DebugOutBool (const char *pszPrefixText, bool state) |
Static method that outputs a line for debugging purposes. The boolean state appears afterwards as either "TRUE" or "FALSE". More... | |
static void | DebugOutBlock (const void *pBuffer, int startoffset, int size) |
Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) until the whole memory block is dumped. More... | |
static void | DebugOutByteArrayBlock (const void *pBuffer, int startoffset, int size) |
Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) as a C++ onebyte array, until the whole memory block is dumped. More... | |
static void | DebugOut (const char *pszLine) |
Static method to output a line of text for debugging purposes. More... | |
Class that handles Undo records for modeless plug-in interfaces.
This method is useful both to create separate edit records, or to do edits that never should be saved.
bool FCUndoBlock::AddSession | ( | FCString * | pUndoString, |
bool | storecurrentblock | ||
) |
Starts a new Undo/Redo block within a running Execute() session.
This must be called from the __FCUndoBlockHandler object to make sense.
[in] | pUndoString | The undo string for the new session. |
[in] | storecurrentblock | If true, store the edits made in the previous undo block. If false, cancel those edits. |
bool FCUndoBlock::Execute | ( | __FCUndoBlockHandler * | pHandler, |
FCString * | pUndoString | ||
) |
Executes the code within an undoable edit record.
This will execute the undo block handler's (virtual) Execute method. If this method returns true, a Undo record will created. Otherwise, the editing will be canceled.