Progress
Language Tutorial
for Windows
User Interfaces
To begin, look at the application screen shown in Figure 3–1. It’s simply three fields arranged on a computer screen. This simple screen helps illustrate some of the important concepts and terms of the Progress programming model:
Together, these two devices make up the user interface.
Figure 3–1: Basic Character Interface
![]()
Before continuing, it’s important to distinguish between two types of user interfaces: character interface and graphical user interface, or GUI. These user interfaces are distinct from one another in appearance and behavior. The primary reason for their differences is the fact that these interfaces run on different operating systems that support different functionality.
For example, let’s look at Figure 3–1, a character interface. A character interface supports a text-based data display that is presented in a single fixed-width font. The display occurs within a single, fixed-sized default window. A character interface accepts ASCII keyboard characters as input, and it can support limited mouse capabilities such as basic text selection and navigational activities. Some advantages associated with character interfaces are speed and portability.
In contrast, Figure 3–2 presents a GUI that is comparable to the graphical interface that Windows supports. This figure shows how this same simple Progress procedure looks when you run it on Windows 95, a GUI system. A GUI supports not only text-based presentations with multiple font types and sizes and fixed and proportional spacing, but it can also feature high-resolution graphics such as images and buttons. A programmer working in a graphical interface has the opportunity to create and control multiple windows, manipulating the properties associated with each unique window. Also, the graphical interface supports a wide range of mouse activities, expanding beyond simple selection and navigational activities into a broader range of editing capabilities. Due to its emphasis on visual presentation and the numerous mouse-supported “point and click” interactive opportunities, many users and programmers feel this interface is easier to learn and use.
NOTE: Progress supports a character client that runs in DOS only when DOS is running on Windows. However, when a character client is running in this manner, the interface that displays on both of these platforms is a character interface, not a graphical one.Figure 3–2: Basic Graphical User Interface
![]()
When you are working with a character interface, you will be working with what the Progress programming model refers to as the default window. (If you were to recompile your code on a GUI platform, Progress would run your application in the default GUI window.)
Now, look again at the contents of the window shown in Figure 3–2. The window contains three data fields. Instead of thinking of them as fields, however, think of them as a collection of individual objects. Each object has capabilities for communicating with and receiving input from the user. In this example, the field objects, called fill-in fields , display the current contents of three variables. (A variable is a temporary data location in memory.) The user can choose a fill-in field object and change the contents of that object, thereby changing the value of the underlying variable.
Every part of a Progress user interface, whether it is a character or a graphical interface, including a window, is an object. In Progress, user interface objects are called widgets. When you build an interface with Progress, you are essentially presenting the user with widgets that they can manipulate. As you’ll see later in this chapter, Progress has an impressive inventory of widgets. For now, the fill-in field widget will illustrate how a user interacts with an interface and how Progress handles those interactions.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |