MAID Review

By Ashton Mills - 1996-01-08


 * If you're looking for OS/2's Visual Basic equivalent, with a lot more functionality, then take a look at MAID.

Modular And Integrated Design (MAID) is a 32-bit multithreaded programmer's tool, designed to create flexible dialogs quickly and easily. MAID objects (otherwise known as dialogs) can be used independently or as front ends for your C and REXX programs. The dialogs themselves can contain, execute and call REXX (REstructured eXtended eXecutor) code. MAID is divided into two separate parts, the MAID Controller and the MAID Editor. The MAID Controller runs in the background and must always be running to execute or create MAID dialogs. The MAID Editor allows you to create MAID dialogs using a WYSIWYG design interface reminiscent of Visual Basic. Creating a new dialog and applying controls is as easy as selecting a control and then dragging the shape and location anywhere you desire. This is the core of MAID. You create fully customisable dialogs with functions and features tailored to do exactly what you want, where you want it.

When creating dialogs, the MAID Editor shows a variety of information such as the dialog's physical location on screen, its title name and window handle, and group settings. Every dialog can have a variety of controls placed upon it. Each and every control, be it a button, bitmap, text box or whatever, is a configurable object. The MAID Editor changes its display depending on the type of control currently selected. From here you can set how an object performs, when it is visible, locked or activated, and what it should do once activated.

All controls are given a name unique to the dialog they reside in. To reference a control from anywhere in the system (meaning, any other program running on your system, including other REXX scripts), all that is required is the dialog's unique window handle and the control's unique name.

To help with the creation of your dialog there are a wide variety controls to be used, including: button controls (including check boxes and radio buttons), entry controls (including standard fields, drop-down boxes and combo boxes), static controls (including bitmaps, icons and text fields), listbox controls (including vertical and horizontal listboxes), frame controls (including static, sizeable, dialog and half-tone), CUA (Common User Access) controls (including notebook, spin button and sliders) and title bar controls (allowing cascading menus). All of these can be quickly selected, placed on your dialog, and configured.

Depending on the control type, controls can represent data as well as having specific events tied to it. A REXX script can optionally be written for each event of each control. When a control is activated by a particular event, the associated REXX script is executed. This also allows for controls to call other controls, interact with the OS/2 environment (via REXX) and call other programs.

It is very easy to place a control, bring up the script window, and enter some REXX code to do whatever you desire. In fact, the entire dialog itself can be viewed in script format. This is very similar to viewing a Visual Basic FORM when saved as ASCII. A MAID script contains two types of code: MAID-specific commands (which only the MAID Controller can interpret) and REXX code. You could in fact design the entire dialog, complete with controls and subroutines, from a text editor, to be used by the MAID host when running. The MAID Editor creator is simply an easy way to quickly construct dialogs and automate a lot of the code-generation MAID handles.

Standard REXX and C interfaces are provided to enable experienced programmers to better integrate MAID into their applications. A database interface is also provided if you have OS/2 Extended Services or DB/2, as well as APPC (Application Program to Program Communications) and EHLLAPI (Extended High Level Language Application Programming Interface) if you have Communications Manager/2.

You might be wondering exactly what you would want to do with MAID. While it is an excellent time saver for the programmer who wants some functional and easy ways to make front ends for a program, it's also just as useful to the beginner who wants to create a series of dialogs for a menu system or data catalog or even a file manager for a favourite archiving program. Anything is possible because you're dealing with REXX or C code, and all the associated maths, logic and I/O functions. MAID provides a graphical, user-friendly front end to represent and talk to your program.

Although it is a little daunting on first encounter with so many features and configurable variables, it doesn't take long to get the hang of MAID and you'll find yourself creating visually impressive dialogs in no time at all.

Product Name: MAID Product Price: $199 Product Developer: Contact: LesTec Phone: (02) 9981 5925