Version 7.5
OmniGraffle 7.5 is focused on improving JavaScript automation. Technical details about Omni Automation are available in the API Reference (in the Automation menu).
- Layer and Canvas Management via JavaScript — Added the ability to create, reorder, and delete layers and canvases with JavaScript.
- Ungroup via JavaScript — Added an
.ungroup()
function to the JavaScript library. - Object Names in JavaScript — An object’s name is now exposed in the JavaScript API by calling
.name
on an instance of a Graphic. - Option + Shift to Duplicate on Axis — Holding down option and shift while dragging a selection duplicates the selection and constrains movement to either the horizontal or vertical axis.
- Object Hierarchy when Copied as JavaScript — Copy as JavaScript no longer reverses the order of the selected items.
- JavaScript Floating Point Precision Warning — Copy as JavaScript includes a header which warns that floating point values in the script may be rounded, resulting in minor visual differences from the original content.
- JavaScript Plug-in Error Reporting — Errors encountered while loading JavaScript plug-ins are now reported in the console.
- Updated Types in JavaScript — Updated the
CanvasSizingMode
(was autosizing) and.strokePattern
to define their attributes as strings instead of numbers to be more human readable. - Copying Subgraphs as JavaScript — Copy as JavaScript will now emit the correct code to generate subgraphs, including any child objects that might be collapsed.
- Subgraph collapse state in JavaScript — JavaScript code which assigns a value to a Subgraph’s
.collapsed
property will correctly use the value passed rather than just toggling the collapsed state. - JavaScript Access to Collapsed Subgraphs — JavaScript code has access to a new
.subgraphics
property on subgraphs, which can be used to access contained graphics even when the subgraph is collapsed. - Automation Stability — Fixed a crash when setting
.blendColor
on a Shape object in JavaScript. - Automation Stability — Fixed a bug that would occasionally cause a crash when creating a new group via JavaScript.
- Copy as JavaScript Stability — Fixed a crash when using Copy as JavaScript on a multi-segment line.
- Multi-line Text Copied as JavaScript — Copy as JavaScript now quotes property keys so that user data with spaces in their keys won’t cause a syntax error in the emitted JavaScript code.
- Stop In-progress Edits Before Executing JavaScript — JavaScript code which changes the text of a shape will now stop any edits that are in progress rather than leaving the editor and the shape in an inconsistent state.
- Preserving .text Attributes in JavaScript — JavaScript code which assigns text to a shape correctly preserves its existing
.textHorizontalAlignment
,.textSize
, and.textColor
properties. - AppleScript — AppleScript code which assigns plain text to a shape correctly preserves the current text alignment.
- Reading .shape Attributes in JavaScript — JavaScript code which reads a graphic’s
.shapeVertices
or.shapeControlPoints
no longer modifies that shape. - Automation Console Stability — Fixed a crash that would occur when using Undo in the Automation Console.