Deep Zoom by Les Palenik - Cosmotron Systems Ltd

Published ByDateVersionKnowledge LevelKeywords
Sprezzatura Ltd01 MAR 19933.01+EXPERTDEEP, ZOOM

Usually, if you want to display a secondary window from a current window, you would add a softkey option to that window, e.g. Shift-F1 with a code of "W" and name of the secondary window. If you need to "jump" into several windows, e.g. product, customer, vendor from an invoice window, you'll have to use multiple soft keys, e.g. Shift- F1 for products, Shift-F2 for customers and Shift-F3 for vendors. This method is usually too difficult to remember for the users and in complex screens it uses up too many keys.

We adopted in all our applications a consistent single "Deep Zoom" key that allows the user to invoke the desired secondary window. You can use any soft key, but to make it easier for the user, use Shift-F3 which is similar to F3 (zoom).

This is what it takes :-

In each window, define the Shift-F3 key as the "Deep Zoom" soft key key.

ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍSoftkeysÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º                                                                     º
º Key   User Description                   Code    Command            º
º SF1   Invoice Report                     S       INVOICE_REPORT     º
º SF3   Deep Zoom                          S       DEEPZOOM           º
º                                                                     º

In the prompt table (Shift-F6 in the Paint), insert the name of the corresponding windows into the Register 1 for all applicable prompts. Now when you press Shift-F3, the DEEPZOOM subroutine retrieves the name of the specified window, and invokes that window (if prompt contains any data, the @Id is loaded with that value).

  Subroutine DeepZoom
  *******************
  * Author:Les Palenik, Cosmotron Systems Ltd.
    $Insert Include, Window_Common%
    * Load the window name from Register 1
    WindowName = WC_Prompts%<WC_Wi%, 47>
    * Load the current prompt data
    RecId = WC_Is%
    If WindowName Then
     SaveId = @Id ; SaveRec = @Record
     Call Catalyst("W", WindowName : " " : RecId)
     @Id = SaveId ; @Record = SaveRec
    End
  Return

The only limitation of the above method is that you must position the cursor on the right prompt before you can "zoom" into the desired secondary window. The advantages of the intuitive "Deep Zoom" operation, however, outweigh by far that restriction. In fact, many of our users consider now the Deep Zoom key an integral part of Advanced Revelation, and are surprised when this keystroke won't work in other Revelation applications.

(Volume 4, Issue 9, Page 11)