Full-View - Windows for Pick

(C) Copyright 1985-1996 Modular Software Corporation. All rights reserved.

Version 2.0 for AP - February 14, 1996

   Goto:  Table of Contents   Index
Chapter:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

3: INTRODUCTION TO WINDOWING

3.1: ABOUT WINDOWING

Windowing provides a more flexible type of support for terminal I/O. This support allows an application under Pick to utilize functions which would not be available without FULL-VIEW.

These additional functions allow the application to deal with a 'virtual terminal' which may or may not directly relate to actual terminal I/O. The presence of FULL-VIEW allows an application to deal with the CRT screen as segmented panes and each pane may be treated as a small separate CRT screen.

In addition, FULL-VIEW maintains a screen image in system memory. This allows the screen contents to be queried and saved at any time by an application. This allows an application to start a 'child process,' and when this secondary, child process completes, completely restores the original screen contents.

FULL-VIEW provides the application designer with the ability to present an application with a much more professional appearance to the end user. The software supports a large array of video display characteristics including color; makes it easier to integrate function keys into application software; and allows different software packages to be integrated together with a common interface. FULL-VIEW will function with existing applications and will add functionality without modifications to the existing program code.

FULL-VIEW is written specifically for the PICK Operating System and operates on a wide variety of Pick-based computer systems.

3.2: HOW WINDOWING CAN BE USED

3.2.1: POP-UP DISPLAYS

Windowing has a number of uses both inside and outside of an application. For example, FULL-VIEW can add features such as pop-up menus and pop-up screens to existing applications with little or no modification.

3.2.2: THE FULL-VIEW ENHANCED EXECUTE FUNCTION

When the BASIC EXECUTE function was introduced on many PICK implementations, it allowed any application to start up another process and then resume execution when the child process was completed. This was a great boon for processes such as SSELECT functions which were otherwise very difficult or impossible to implement in BASIC.

The EXECUTE function is very good at running the child process and then returning to the parent function with most system elements intact. Unfortunately, there is one system element which is not restored when the EXECUTE function is finished -- the user's CRT display. With FULL-VIEW in operation, a version of the EXECUTE function is available which not only executes an external application from BASIC, but after the child process finishes, the original application resumes with all elements intact, including the CRT display.

3.2.3: APPLICATION HOT-KEYS

FULL-VIEW allows definition of one or more keys on a terminal keyboard as "Hot-Keys". These keys, when pressed from within a BASIC application, will automatically suspend execution of the application and execute the pre-defined verb or TCL shell (child process). When the child process completes, the original application is resumed with full screen restoration.

The hot-key function can be used to set up your own desk-top utility applications and provide your users with quick access to commonly used applications from anywhere within your application.

3.2.4: RUNNING AN APPLICATION WITHIN A WINDOW "PANE"

Under FULL-VIEW, an application may be executed using the entire CRT, or may be executed within a smaller portion of the CRT called a PANE. When an application is executed within a PANE, all cursor positioning functions and CRT control functions are interpreted by FULL-VIEW to operate relative to the PANE in which the application zresides. All of the normal CRT functions, including clear screen, clear to end of line, clear to end of page, and scrolling are supported within the PANE. The screen image outside the PANE is protected and cannot be altered by the application while the PANE is active.

3.3: MAJOR FEATURES

3.3.1: SCREEN FUNCTIONS

GET SCREEN CONTENTS

Two functions are available while FULL-VIEW is in operation which allow BASIC programs to query the contents of the screen and save the contents in a BASIC variable. The first function returns the screen's contents as a compressed print string which may be used to restore the screen at a later time. This print string also will restore the current cursor position and video attribute status. The second function will return the screen contents as a simple string of characters which may be examined by a BASIC program.

GET SCREEN PARAMETERS

This function will return the current screen parameters including the screen dimensions, the current pane's dimensions and location, the cursor position within the current pane, the current video attribute, the terminal's native term-type letter, and whether the terminal uses embedded or non-embedded video attributes.

PRINT SCREEN

This function will generate a printer job containing the current contents of the screen.

3.3.2: WINDOWING FUNCTIONS

CREATE A PANE

The basic windowing function of creating a pane may be executed either from BASIC or from PROC/TCL. Creating a pane involves setting up the locations of the pane's edges. Creating a pane in this way will cause all applications which execute to operate within the pane until a new pane is created. This function does not provide a method of removing the pane and returning to the original screen contents unless the application has previously saved the screen's contents.

CREATE A CHILD PROCESS

As an extension of creating a pane, FULL-VIEW can automatically create a pane and then execute another function within it. When the second function completes, the pane will be removed and the original function will be resumed. This feature may be utilized either from BASIC or from PROC/TCL and requires the locations of the corners of the pane and name and parameters for the function to be executed.

3.3.3: APPLICATIONS HOT-KEYS

One or more "Hot-Keys" may be enabled. These keys allow the user to suspend execution of any application and execute a pre-defined TCL verb or TCL shell. This allows an application to include desk-top utilities, office automation functions, and other functions, making them accessible from all areas of the application without requiring a specific interface from each of the calling functions. In addition, the FULL-VIEW hot-key feature provides for automatic application re-start including screen restoration when the hot-keyed function completes.

The hot-key function is available from all applicatons that perform terminal input. This includes applications written in BASIC, PROC, at TCL, the editor, update processor, and even applications written in Pick assembly languate. The only point of terminal input that does not support hot-keys is the system debugger. The hot-key keys and verbs are set using a FULL-VIEW utility verb which allows one or more Hot-Keys to be established. Hot-Keys can be changed by the application to allow for context-sensitive level-pushing.

3.3.4: DEVELOPMENT TOOLS

FULL-VIEW comes with several sophisticated application development tools. While it is not necessary to use these tools in order to take advantage of the windowing functions, these tools are specifically designed to take maximum advantage of the windowing environment. These tools include the Menu Painter, Screen Painter, and Help Painter.

THE MENU PAINTER

The Menu Painter is used to create stand-alone, window-based highlighting menus. Menus may be easily designed as Pop-Up or Pull-Down menus, may include help text, and may use cursor keys and explicit keys for menu selections.

THE SCREEN PAINTER

The Screen Painter is used to create data entry screens which utilized full-screen editing features. Editing keys such as Character Insert/Delete, Field Forward/Backward, and Clear Field are active within data entry screens created within this function.

THE HELP PAINTER

The Help Painter is used to create help text items which may be used from applications or may be linked to fields in data entry screens created using the Screen Painter.

Complete directions for use of all the Development Tools are found in a later chapter.


   Goto:  Table of Contents   Index
Chapter:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15