October 21, 2019 Andrew

Better user experience for desktop apps with new animations in Omnis Studio 10.1

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).

Window class tree list

Window class tree list with animation

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):

Studio Browser tree list

Studio Browser tree list

and the method names list in the Method Editor:

Method names list

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:

Animated square tab strip

Animated Square tab strip

and this is a tab strip with Animated Line tabs:

Animated Line tab strip

Animated Line tab strip

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.

, , , , , ,