[JW Lua] DeepDeleteData / DeepSave
Jari Williamsson
jari.williamsson at mailbox.swipnet.se
Sun Sep 7 20:51:01 CEST 2014
On 2014-09-07 19:42, Jan Angermüller wrote:
> while you were just talking about Deep...-functions,
> could you please give a short explanation about the difference to the
> "normal" delete/save ? I was always wondering which version to use.
> Usually at least one was working, but I was not sure, if it was the
> right one.
>
> For example with articulation defs. When I do use which save and which
> delete ?
Some Finale "elements" are stored in more than one data location, and
all these data locations are part of the full "element". In the case of
FCTextExpressionDef, the expression definition contains of:
1. The main expression def data
2. The text string data
3. The (optional) enclosure data
So, to be able to not bother with all the additional data structures, I
created the "Deep" methods. The "Deep" methods would affect all these
data structures. The "non-Deep" methods would only affect the main
expression def data structure.
If there is no specific "Deep" implementation for a class, the "Deep"
and "non-Deep" versions will do the same thing (through inheritance).
For FCArticulationDef for example, there is no additional data stored
elsewhere, so DeepDeleteData() and DeleteData() would do the same.
Please note that it will not delete/save loosely connected data that are
just referenced. For example: executable playback shapes in the
expression defs will not be affected by a "Deep" method.
An area of confusion might be the FCSmartShape class, where the "Deep"
methods instead are named "Everything" as a suffix. I need to fix that.
Best regards,
Jari Williamsson
More information about the JWLua
mailing list