An object is cloned when the user click over it for 2s, without a significant mouse - finger - move. The item is cloned immediately without user confirmation - this is an expert feature!.
After the cloning operation, the clone is attached to the mouse - finger - until the mouse key is up - finger release. Of course no intermediate cloning should occurs in between - need a clone state class to know we have cloned.
Therefore cloning occurs only when in 'select and move' mode.
Clone-able items are (need a #isCloneable message in the Math item hierarchy):
- segment, vector, ray, line cloned as item defined by two free points
- polygon cloned as polygon defined by free points
- circle cloned as a circle with free center and a point
- arc cloned as defined by three free points
Support classes: CloneBuilder (hierarchy or not?), SelectToolStateCloned,...
An object is cloned when the user click over it for 2s, without a significant mouse - finger - move. The item is cloned immediately without user confirmation - this is an expert feature!.
After the cloning operation, the clone is attached to the mouse - finger - until the mouse key is up - finger release. Of course no intermediate cloning should occurs in between - need a clone state class to know we have cloned.
Therefore cloning occurs only when in 'select and move' mode.
Clone-able items are (need a #isCloneable message in the Math item hierarchy):
- segment, vector, ray, line cloned as item defined by two free points
- polygon cloned as polygon defined by free points
- circle cloned as a circle with free center and a point
- arc cloned as defined by three free points
Support classes: CloneBuilder (hierarchy or not?), SelectToolState Cloned, ...