SheetUpdateHelpers Module
Functions and values
| Function or value | Description |
|
|
|
|
|
|
|
The same, with an undo checkpoint taken first. Which of the two to use is decided by whether the operation has already pushed one: an edit that took a checkpoint before changing anything wants that ONE entry to cover the whole thing, re-routing included, so that Ctrl-Z puts back what the user was looking at rather than an intermediate state they never saw. Use this one where the operation takes no checkpoint of its own - the menu redraws, and anything that only re-routes.
|
|
|
|
|
|
|
Full Usage:
getChannel bb1 bb2
Parameters:
BoundingBox
bb2 : BoundingBox
Returns: (BoundingBox * Orientation) option
|
Geometric helper used for testing. Probably needs a better name, and to be collected with other This should perhaps be generalised for all orientations and made a helper function. However different testing may be needed, so who knows? Return the vertical channel between two bounding boxes, if they do not intersect and their vertical coordinates overlap.
|
|
|
Full Usage:
hextoInt s
Parameters:
string
Returns: int
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Route every floating wire again from nothing and separate the whole sheet. **What a UI operation ends with**, once it has finished changing the sheet - not while it is changing it. A delete removes several things, a rotate turns a whole selection, a drag moves a symbol through a hundred positions: each is one change as far as the drawing is concerned, and re-routing part of the way through would lay wires out for a sheet that is about to be different. So this goes at the END, once, and a drag calls it on mouse-UP. Hand-routed wires are not re-routed - see redrawFloatingWires - but the whole sheet, including them, is separated.
|
|
|
|
|
|
|
Full Usage:
workOutArrangement arrange syms
Parameters: Returns: Symbol list * Result<Orientation, string>
|
|