X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=core%2Fdoc%2Fundo-redo-flow.uxf;fp=core%2Fdoc%2Fundo-redo-flow.uxf;h=4aa4b77f28fb8156dfe9c50da05b8d62198fd0ee;hb=84094f3e8b4e8d27310532c092ec9738156417d3;hp=0000000000000000000000000000000000000000;hpb=fc3d9fa48747ea14f7d77e573df16386c9fdf89e;p=debian%2Fopenrocket diff --git a/core/doc/undo-redo-flow.uxf b/core/doc/undo-redo-flow.uxf new file mode 100644 index 00000000..4aa4b77f --- /dev/null +++ b/core/doc/undo-redo-flow.uxf @@ -0,0 +1,107 @@ +// Uncomment the following line to change the fontsize: +// fontsize=14 + + +////////////////////////////////////////////////////////////////////////////////////////////// +// Welcome to UMLet! +// +// Double-click on UML elements to add them to the diagram, or to copy them +// Edit elements by modifying the text in this panel +// Hold Ctrl to select multiple elements +// Use Ctrl+mouse to select via lasso +// +// Use ± or Ctrl+mouse wheel to zoom +// Drag a whole relation at its central square icon +// +// Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word) +// Edit the files in the "palettes" directory to create your own element palettes +// +// Select "Custom Elements > New..." to create new element types +////////////////////////////////////////////////////////////////////////////////////////////// + + +// This text will be stored with each diagram; use it for notes.10com.umlet.element.custom.State670540280140Clean, at end of history +-- +undoHistory.size = n +undoPosition = n-1 +clean +-. +redo() not availablecom.umlet.element.custom.InitialState3401402020com.umlet.element.base.Relation32012050160lt=<-30;140;30;30com.umlet.element.custom.State200540280140Dirty, at end of history +-- +undoHistory.size = n +undoPosition = n-1 +dirty +-. +redo() not availablecom.umlet.element.base.Relation230370214190lt=<- +Modify rocket: +nextDescription stored +in undoDescription110;170;110;30com.umlet.element.custom.State200260280140Clean, no history +-- +undoHistory.size = 1 +undoPosition = 0 +clean +-. +undo(), redo() not availablecom.umlet.element.base.Relation60350210124lt=<- +addUndoPosition: +nextDescription set140;30;100;30;100;80;190;80;190;50com.umlet.element.base.Relation450560240146lt=<- +addUndoPosition(): +rocket copied to +end of history, +nextDescription set, +undoPosition increased220;50;30;50com.umlet.element.base.Relation310410510150lt=<- +30;130;30;30;490;30;490;130com.umlet.element.custom.State190850280140Clean, at midpoint of history +-- +undoHistory.size = n +undoPosition = m < n-1 +clean +-. +com.umlet.element.base.Relation190650282220lt=<- +undo(): +rocket copied to end of history, +rocket loaded from undoPosition +150;200;150;30com.umlet.element.base.Relation0590238350lt=<- +Modify rocket: +redo information removed, +nextDescription stored +in undoDescription200;30;120;30;120;330;190;330com.umlet.element.base.Relation0940286190lt=<- +undo(): +undoPosition decreased, +Rocket loaded from undoPosition +- +addUndoPosition(): +nextDescription set190;30;150;30;150;80;240;80;240;50com.umlet.element.base.Relation390910282178lt=<- +redo(): +undoPosition increased, +rocket loaded from undoPosition30;80;30;120;150;120;150;30;80;30com.umlet.element.base.Relation510650412348lt=<- +redo(): +undoPosition increased to n-1, +rocket loaded from undoPosition280;30;280;290;30;290com.umlet.element.base.Relation440650422288lt=<- +undo(): +undoPosition decreased, +rocket loaded from undoPosition30;230;290;230;290;30com.umlet.element.base.Relation70450200160lt=<- +Modify rocket +180;90;180;50;80;50;80;140;130;140com.umlet.element.base.Relation860460216160lt=<- +addUndoPosition()30;80;30;50;130;50;130;140;90;140com.umlet.element.custom.State54050400350Variable description +-- +undoHistory: a list of the undo positions. Each position +is a full copy of the rocket structure. Always contains at +least one entry. +-. +undoPosition: current location within the undoHistory. +If at the last entry, the rocket can be "clean" (in the +state of undoHistory.get(undoPosition)) or "dirty" (in +a modified state). +-. +undoDescription: the value at undoDescription.get( +undoPosition) describes the action that would be +undone if undo() was called at that moment. The value +at undoDescription.get(undoPosition+1) describes the +action that would be redone if redo() were be called. +-. +nextDescription: the description of the actions that +will be done next (or are already being done). +-. +storedDescription: temporary storage for +nextDescription during a startUndo() ... stopUndo() +action. +fg=blue \ No newline at end of file