Omnis Studio 10.1 was released in September 2019 and contained a number of enhancements in the Code Editor (new in Studio 10.0), plus many great enhancements for the JavaScript Client remote forms and controls. We also enhanced some of the controls for Window classes (fat client) to allow you to enhance the user experience for your desktop apps – and we will make many more updates for window controls in the next release of Studio 10.x.
Animations for Window Controls
In Omnis Studio 10.1 there is a new library property, $animateui, that controls whether or not certain window class controls are animated; those same controls also have the $animateui property. For the 10.1 release, the Tree List has the new property, and the Tab Strip has some new types to highlight and animate the tabs when they are selected. The new property means that when set to true, all objects that support $animateui will animate aspects of their interface. Therefore, if $animateui is false, the setting of the $animateui property for the individual object is used.
Animation for Tree Lists
When $animateui is enabled for a window class Tree List, the contents of the list will display by dropping down gradually as you open a node in the control, and snap back up as you close the node (if $animateui is disabled the tree list content drops down instantly, as in previous versions).
Animation has been enabled for some of the tree lists in the Studio IDE as well, including the main list in the Studio Browser (showing Hub, Libraries, SQL Browser, etc):
and the method names list in the Method Editor:
Animation for Tab Strips
The $squaremode property in the Tab Strip has been enhanced and now includes several different settings to provide new appearance and animation options (the $animateui library property must be enabled to allow the animation feature). The $squaremode property is set to kTabStripOriginal by default which means it has the same appearance and behavior as in previous versions. The other options include non-animated Square tabs, as well as animated options for Square and Rounded Square tabs, Line, and Dot (the last two show a line or a dot under the current tab) – as the end user clicks a tab, the current tab highlight is animated. The following is a tab strip with Animated Square tabs:
and this is a tab strip with Animated Line tabs:
The $animateui library property must be enabled to use the Tab Strip animations; if the preference is set to false, you can still use the square, line and dot options but they will not be animated.
Background Object Animations
Omnis Studio 10.1 introduced a number of new animation “easing” curves for background objects. The $beginanimations() has an extra parameter allowing you to select one of the new animations (the method is now $beginanimations(iDuration[,iCurve=kAnimationCurve… constant]). After calling this, assignments to some properties are animated (such as position properties $top and $left) by $commitanimations() for iDuration (in milliseconds), using iCurve as the animation curve (kAnimationCurveEaseInOut is the default). The new iCurve animations include: Ease In, Ease In Back, Ease In Out, Ease Out, Ease Out Back, Ease Out Bounce, Ease Out Elastic, and Curve Linear.