Progress
AppBuilder
Developer’s Guide


Building an Application in AppBuilder

Before learning more about the underlying components of AppBuilder, consider the toy application shown below. This application uses four basic 4GL objects and five SmartObjects. Figure 1–3 shows the application as it appears at design time, and Figure 1–4 at run time.

Figure 1–3: Toy Phonebook Application at Design Time

Figure 1–4: Toy Phonebook Application at Run Time

This application illustrates some important features of AppBuilder:

Figure 1–5 shows the SmartLinks connecting the SmartObjects in the toy application. Conceptually, SmartLinks are dedicated, directional message pathways between two SmartObjects. The event-Source object experiences an event, and reports that event to the event-Target object using the 4GL Publish/Subscribe mechanism.

Figure 1–5: SmartLinks Between SmartObjects

Figure 1–5 shows four SmartLinks. The first is a Navigation SmartLink between the Navigation SmartPanel and the SmartDataObject. When the user chooses one of the Pushbuttons in the SmartPanel array, SmartPanel sends a Navigation message to the SmartDataObject, asking it to change the position of its current-record pointer.

Whether this will mean a new read from the storage device is a matter for the SmartDataObject to decide, based on factors including the size of the RowObject temp-table you declared when creating it. The SmartPanel knows nothing about such matters; SmartObjects are only loosely coupled to one another.

When the SmartDataObject has changed its pointer in response to the request from the SmartPanel, it sends a Data message to the consumer of the data stream it supplies: the SmartDataViewer. When the user changes the data, and confirms the change using the Update Panel, the Update Panel reports that confirmation to the Viewer, and the Viewer sends an Update message back to the SmartDataObject.

Not shown in Figure 1–5 are links between the SmartContainer (the SmartWindow) and the SmartObjects that it contains, because those links are automatically created and removed by AppBuilder as you add and remove SmartObjects from the SmartContainer’s workspace. You never have to deal with them explicitly.

Figure 1–6 shows how these four links appear in the SmartLinks Editor dialog. For further information about the editor, see the section "SmartLinks Editor" in "Frequently Used Dialogs."

Figure 1–6: Toy Phonebook Links in SmartLinks Editor


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095