The utilities available for Empress GUI Builder are the following:
| empginit | To initialize an Empress database for use with Empress GUI Builder. |
| empgui | To execute Empress GUI Builder applications, or to invoke the Empress GUI Builder development environment, for the creation of GUI applications. |
| empguicc | To compile C programs using the Empress C API to access Empress GUI Builder objects. |
| empgprt | To print the contents of Empress GUI Builder applications and modules. |
An Empress database needs to be initialized by empginit before it can be used to contain GUI applications and modules. empginit is run from the UNIX shell, with the following usage:
empginit [-xp] database
If the database specified does not exist, it is created.
The system tables related to Empress GUI Builder are created in the database.
Several example applications are also included.
| -x | The example applications are not imported. |
| -p | Public access. The SELECT and DISPLAY privileges are granted to PUBLIC on all the GUI system tables. This allows any user to run the applications in the database. |
The GUI development environment is a X-Window application which provides a set of tools for creating and manipulating objects in a GUI application. It is started by executing the following command from the UNIX shell:
empgui [-q] database [application [parameter ...]] [-pcm]
or
empgui -m [-q] database application [-pcm]
or
empgui -c [-q] database module [module ...]
or
empgui -l [-q] database application [application ...]
| -c | Compile the specified modules even if they are already up-to-date. |
| -l | Link the modules of the specified application(s). Modules which are not up-to-date are compiled before linking. |
| -m | Skip the Application Manager screen and go directly to the Application Module Manager screen for the specified application. |
| -q | Quiet mode. If starting the GUI development environment, the banner screen is not displayed. If compiling or linking modules, no message is printed. |
| -pcm | Use private colormap. |
The Empress GUI Builder development environment provides tools to manipulate objects:
Manager screens display lists of entities of the same type, allow creation of new ones and deletion of existing ones.
Property Editor screens allow the attributes of an individual entity to be changed.
| Object | Manager | Property Editor | |
| Application | Y | Y | |
| Module | Y | Y | |
| Action | Y | Y | |
| Bin | Y | Y | |
| Color | Y | Y | |
| Font | Y | Y | |
| Hypertext | Y | Y | |
| Pixmap | Y | Y | |
| Style | Y | Y | |
| Window | Y | Y | |
| Components | + | + | |
| Audio field | + | Y | |
| Cascade button | + | Y | |
| Field | + | Y | |
| Hypertext field | + | Y | |
| Image field | + | Y | |
| Label | + | Y | |
| List | + | Y | |
| Multilist | + | Y | |
| Option button | + | Y | |
| Push button | + | Y | |
| Radio box | + | Y | |
| Scale | + | Y | |
| Separator | + | Y | |
| Toggle button | + | Y | |
| User-defined object | + | Y | |
C programs that use the Empress C API to access GUI objects need to be compiled using empgcc.
empguicc [-esql] [-compilercompiler_name] [cc options] sourcefile.c
[sourcefile.c ...]
| -esql | The source files contain embedded SQL statements and have been precompiled by empesql, the Empress SQL Precompiler. |
| -compiler compiler_name | Specifies the pathname of the C compiler to use. |
empguicc will call the default C compiler with the appropriate libraries, and will pass any option that it does not recognize to the C compiler. For example:
empguicc -o my_exec acttab.c actions.c
The two source files acttab.c and actions.c are compiled and a GUI executable called my_exec is obtained.
For further information on the Empress GUI Builder C API, refer to the Empress GUI Builder: C API manual.
The utility empgprt is used to display the contents of Empress GUI Builder applications.
empgprt [-w] [-s] database [application [module]]
For each application, empgprt prints a tree structure displaying the modules contained in the application, and also the names of actions, bins, hypertext documents, pixmaps and windows contained in the modules.
By default, all the applications and modules contained in the database are printed. To select a specific application, the application's name can be specified after the database name. A specific module can also be specified after the application name.
Both application and module names can be specified by patterns (as used by the Empress SQL MATCH operator - see Empress SQL: Reference manual). In this case, they should be quoted to avoid shell expansion.
| -w | Print the contents of windows. Only the windows contained in the module(s) will be printed, as well as details of the components of the windows. |
| -s | Print the script actions. Only the contents of the script actions contained in the module(s) will be printed. |
Examples
Using empgprt without any options:
empgprt database
Output of empgprt:
"Images_script" (application)
|- "Images_script" (shared main module)
| |- Actions: Script
- "cleanup"
| |
"next_pic"
| |
"prev_pic"
| |
"select_pic"
| |- Bins: Menu Bar
- "MENU BAR"
| |
Pulldown - "file"
| |
Help Menu - "MENU BAR HELP"
| |- Hypertexts "images_help"
| - Windows "MAINWIN"
|- "PUBLIC GENERAL MODULE" (shared external
module)
|- "PUBLIC HELP MODULE" (external module)
- "PUBLIC STYLE MODULE 4" (shared external
module)
Printing the contents of the windows in modules with name starting with "E", in application "Example":
empgprt -w database Example "E*"
Output of empgprt:
Printing the script actions contained in applications with names starting with "I":
empgprt -s database "I*"
Output of empgprt:
*** Application: "Images_script" ***