22 | | * Primitives should include the following operations: |
23 | | * ''create'' |
24 | | * each object the ''create'' primitive creates should have a unique id |
25 | | * this primitive should be able to create a ProObject and return its id |
26 | | * or create a Property for a given ProObject and return its id |
27 | | * create a ProList and return its id |
28 | | * ''destroy'' |
29 | | * should destroy an object given its id |
30 | | * ''set'' |
31 | | * should be able to set a value to an object given its id |
32 | | * A few ProList operations should be available: |
33 | | * ''add'' |
34 | | * adds an object to a ProList given its id and position to be added to |
35 | | * ''remove'' |
36 | | * removes an object from a ProList given its id and position to be removed from |
37 | | * the ''set'' operation should be adapted to accept a ProList, object and a position and should assign the given object to the given position in the given ProList |
| 22 | * The set of primitives should look like this: |
| 23 | * <id> probj-create <class-name> |
| 24 | * creates a new ProObject given its class name and returns the id of the newly created ProObject |
| 25 | * probj-destroy proobj-id |
| 26 | * destroys an existing ProObject given its id |
| 27 | * probj-set <probj-id> <prop-name> <value> |
| 28 | * sets a new value to a Property by its name of a ProObject given its id |
| 29 | * prolist-add <proobj-id> <prolist-name> <pos> <object> |
| 30 | * adds a new object at a given position to a given ListProperty of a given ProObject |
| 31 | * prolist-remove <proobj-id> <prolist-name> <pos> |
| 32 | * remove the object at a given position of a given ListProperty of a given ProObject |
| 33 | * prolist-set <proobj-id> <prolist-name> <pos> <object> |
| 34 | * sets a new object as a value of a given position to a given ListProperty of a given ProObject |
| 35 | * undo |
| 36 | * undoes the last Change in the History |
| 37 | * redo |
| 38 | * cancels the last Change in the History, if it is an UndoChange |
| 39 | * skip <change-id> |
| 40 | * skips a Change in the History given its id |