|Helix RADE changes since 6.2b14 (5829)
Click each section header to show or hide that section.
New and Improved Features
The Element Panel is a new floating palette window whose contents are dynamically adjusted based on the current active window. The Element Panel replaces the old ‘slot machine’ section found in every Classic icon editor with a single window that can be freely resized and repositioned, saving screen real estate and making editing more efficient.
In this release, the only window that uses the Element Panel is the new Index Editor (see below) but other icon editors (sequence, abacus, template) will use it as well.
Features of the Element Panel:
- A free-floating panel that can be resized and repositioned anywhere on screen.
- Eliminates the need for each window to take up extra space with its own panel.
- A “Show/Hide Element Panel” command on the Icon menu opens and closes the panel.
- The command key equivalent to show/hide the panel is CMD-\ (backslash)
- Remembers its position, size, and open/closed state between launches.
- Dynamically adjusts its tabs to show the appropriate icons for the currently active window.
- Switch between available tabs by clicking, or via the “Next/Previous Panel Tab” commands in the Icon menu.
- The tab switch commands are implemented as dynamic menu variants of the “Hide Element Panel” command, with command key equivalents of CMD-Opt-\ and CMD-Shift-Opt-\ to switch to the next and previous tabs, respectively.
Index Editor (R7458)
The Index Editor is an all new implementation of the Classic index editor. Features include:
- Close visual consistency with the Classic index editor. Each icon in the index is shown at full size, with a directional arrow to indicate whether the sort order is ascending or descending.
- Unlike the Classic index editor, the new editor is horizontally resizable. There is a limit, but it should be enough to satisfy any user.
- When an index editor window is active, the Element Panel (see above) displays two tabs, one each for fields and abaci that are acceptable in this index.
- Gray bars are used to indicate “drop targets” where new icons can be added.
- When dragging an icon into a drop target, the target expands to show that the dragged icon is acceptable.
- The default sort order for icons as they are added to an index is ascending. Holding the option key down while adding an icon adds it with a descending sort order. (As before, you can always click the directional indicator to reverse each icon’s sort order.)
- In the index editor window, clicking on an icon shows that icon’s details in the Inspector. Option-double-clicking opens the icon’s “used by” window. Double-clicking is reserved for opening editor windows, such as the abacus editor, where that is an option. (The field icon has no editor window, so double-clicking a field has the same effect as a single click.)
- When an icon is selected in an index window, it is available via AppleScript through the selection property of the window.
- Dragging an icon out of an index window to an ‘unacceptable’ place (e.g. back to the Element Panel or to any non-index editor window) removes it from the index. So as not to exclude potential future enhancements, dragging to any other application (including to the desktop) will not remove the icon from the index.
- When dragging an icon out of an index editor window, the cursor changes to show the macOS standard “puff of smoke” as a visual pre-indicator that the icon is going to be removed from the index. (When the removal happens, the standard macOS animation (puff of smoke with audio effect) occurs.)
Code is already in place to support the macOS drag-copy, drag-move, and drag-forbidden cursors (as seen in the Finder) but they are not available until we abandon PowerPC compatibility. For now, there is no cursor feedback to distinguish those three states. Drag-copy is shown via the ‘expansion’ of the drop target; drag-move is not used, and drag-forbidden is indicated by the Classic ‘zoom back’ and accompanying Why? message, “An icon may may not be put there.”
- Because the Element Panel opens (by default) in the upper left corner of the screen, existing indexes that were never moved may be hidden beneath the panel. If this is a problem, we suggest moving the Element Panel lower on screen so the old indexes can be seen when opened. The default location of the editor window for newly created indexes is moved to the right so they will not be covered in this manner.
- As with all of the new icon editors, changes made to an index are not final until the the index is ‘committed.’ If a mistake is made (or you change your mind) the changes can be ‘reverted’ and the index is restored to its former state.
Graphic User Interface Enhancements
- 7816: The Inspector now remembers its size, position and open/closed state when Helix RADE is relaunched.
The first time Helix RADE is launched after updating to build 5840 or later, both the Inspector and Element Panel open automatically to their default positions. After that, they will remember their state between launches. (Deleting the com.qsatoolworks.helixRADE.plist file restores the defaults.)
- The “Where Used” window now dims the empty area outside the icon rows.
The shaded area uses the HxOffPageAreaColor preference, the default value of which has been changed to a lighter shade of grey.
- The dictionary entries for the open, close, and save commands is significantly expanded.
- Added responds to close and open commands to the helix icon class
- Added responds to close command to the window class
Note: A bug introduced in Helix RADE 6.2b8 (5767) has been fixed, but effects of that could have repercussions on abaci that were modified via AppleScript, Applying Structure, or Inspector. This applies to visible abaci (the icons) as well as ‘invisible’ ones that are used for queries (quick, form, power), post target and subform linkages.
The problem is that some of the optimization flags for certain abaci were not being set appropriately. These flags can be seen in the Inspector as a series of grayed out (read only) checkboxes in the Abacus Properties section. They all start with the word “Includes … ”. These flags are used to allow Helix to quickly determine whether a specific abacus can be used in certain places.
As a result of this bug, some abaci may appear to be allowed in places where they should not be (e.g. a ‘today’ abacus in an index) or they may not appear in places where they should be allowed (e.g. as a valid icon for a lookup tile).
The easiest way to correct the problem is to toggle the “Common Calculation” property twice (to switch then return to the original state) and “Commit” the abacus.
However, one bug remains, even in today’s release: the Is a summary calculation optimization is not being set correctly in some cases. All that is necessary to mis-set the flag is to open the collection with Helix RADE build 5773 or later. Fortunately, this bug should not have any ramifications beyond the temporary inability to create certain icon constructions in Classic RADE. A further discussion of this bug, and how to resolve it, is found in techdb under R7832.
- 7781: Applying structure no longer returns “Paste Structure Error: Invalid Format” when it is not true.
- 7784: Quitting RADE after a failed structure check no longer silently commits the damaged structure.
- 7785: A template that contains a subform can now be deleted when it is detached from its view.
- 7788: When opening a collection, if a view and its query both open automatically, the collection was being reported as damaged. That was true only as long as both the view and query remained open, and closing them would ‘fix’ the problem. But the underlying bug is now fixed.
- 7827: When creating a new collection, immediately attempting to set a password for a new user no longer crashes.
- 7742: Changing a field’s inert property was not updating any abacus that references the field about a potential problem this could cause. Now it does.
It may be necessary for Helix to rebuild some abaci to correct problems that occurred because of this bug. When an abacus refers to an inert field as any part of its calculation — including all embedded abaci — the Includes inert field property (seen in the Inspector) should be checked. If it is not, toggle the “Common Calculation” property twice (to switch then return to the original state) and “Commit” the abacus. The internal calculations will be updated and the Includes inert field checkbox will be updated.
- 7786: Modifying a dynamic popup in some situations no longer triggers a crash
This bug report lead to the discovery of numerous issues with the way formats are edited and committed. Hopefully they all have been fixed, but this area deserves more testing, in both the Inspector and AppleScript. Changing the data type always changes the format. Changing a parameter for a dynamic or static popup, or changing a popup’s format from static to dynamic (or vice versa) should be approached with caution. Any minor maintenance that is seen as a result should be reported to QSA ToolWorks ASAP.
- 7790: Making a change to a template no longer deselects it from form queries that use it.
- 7817: The Inspector is now updated when a Commit or Revert is done via its menu item or keyboard command.
- 7828: The ‘Post Configuration’ dialog no longer crashes when it is opened under some circumstances.
- 7771: Assigning a name to a new user menu via the ‘with content’ or ‘with properties’ parameters now works.
- Numerous dictionary errors were corrected:
- References to file names now show that they need to be passed as a string using HFS-style path rules.
- The file property of a collection is now properly shown as an alias, not a file.
- The direct parameter of the open command is now shown as an alias when opening a collection, and as helix icon(s) when opening icon editors. It is also noted that this parameter is optional.
- The direct parameter of the close command is now shown as accepting window(s) or helix icon(s) and that it is optional.
- The result of an open command is now documented as the window that was created when the helix icons were opened.
- The definition of ‘data type’ (seen in various places in the AppleScript dictionary) is expanded to include useful documentation.
|Helix Utility changes since 6.2b13 (5821)
- 7484: Use Sparkle Framework to deliver updates.
The check is done automatically once per day. You can also choose “Check for Updates” from the application menu.
- 7711: Drag and Drop a collection onto Helix Utility icon now adds it to the collection list.
- 7712: Trying to open ancient collections no longer triggers a crash.
- 7713: Pane splitters now have reasonable boundaries.
- 7714: Collection buffer is now functional.
The collection buffer is now set to the optimal size for the collection being checked. It is no longer necessary to specify a buffer size.
- 7716: Break All Indexes is now available.
- 7725: When damaged records are deleted, a dialog sheet shows the relation(s) and record counts.
- 7778: Compress Collection is now available.
Significantly enhanced, the new compress collection presents an option to repair data damage before compressing. It also automatically verifies the compressed copy of the collection, and adds it to the collection list.
- 7799: Numerous Interface Improvements:
- 7801: During repair, collection now shows proper icon (with caution symbol).
- 7801: After successful repair, collection is now fully restored to a healthy state.
- 7806: The Collection list now has a contextual menu with logical choices.
- 7807: The Compress tab now has an Info button to get info only on demand.
- 7820: Most events are now time stamped in the Activity Log.
- 7820: More events are noted in the Activity Log.
- 7820: When an invalid index is scheduled for rebuilding, the name of the relation is noted in the Activity Log
A future enhancement will show the name of the specific index.