skip to main content
OpenEdge Development: AppBuilder
Organizer Objects : Organizer object roles
Organizer object roles
Each type of organizer object has different characteristics and capabilities. They are only superficially interchangeable, if at all, and you should choose accordingly.
The SmartObjects are the most capable, and you must use them if you are building ADM applications. They all incorporate the logic needed to integrate other SmartObjects, and offer considerable savings in programming time. They also are the only organizer objects that support paging. The major differences between them are:
*SmartWindows are general‑purpose outer‑level windows, and include a default frame. They are not modal, they can have a menu bar, and they can be used as the main window of your application.
*SmartDialogs appear to be specialized windows, but technically are specialized frames, instead. They are modal, they cannot have a menu bar, and they cannot be used as the main window of your application. You typically open them to capture specific information and then close them again.
*SmartFrames are frame objects that can support component SmartObjects and act as a communication pathway. To display them at run time, you must always place them in a SmartWindow.
*SmartFolders are a special type of component objects. Conceptually, they are most closely related to frames, in that they are component objects with an organizing role. They use ADM paging to implement the tabbed‑file‑folder metaphor. You can place them in SmartWindows, SmartDialogs, or SmartFrames.
*Simple SmartContainers are general-purpose smart organizers that offer the functionality of a SmartWindow without the actual window part. They are invisible at run time. Because they are low-overhead objects, they can be very useful for modules that can run unattended.
The basic window and dialog objects do not have ADM smart logic. Because they lack this supporting logic, you cannot place SmartObjects in them. You can place other objects in them, such as basic frames and field‑level objects, and ActiveX objects. Apart from the differences in how smart they are, windows and SmartWindows serve comparable functional purposes, as do dialogs and SmartDialogs.
Basic frame objects are essentially static organizers. Their role is to provide a visual context for the field‑level objects they contain. Additionally, frame objects allow you to define the order in which pressing the TAB key will traverse their contents.
Rectangles are also static organizers, used to provide a visual context for other objects. Unlike frames, Rectangles do not create a traversal group; their role is entirely visual.
The SmartContainer tool—not to be confused with the Simple SmartContainer—creates no object. AppBuilder provides the SmartContainer tool as a convenient way for you to associate independent organizer objects of the class SmartContainer, such as SmartWindows, with one another in parent/child relationships.
The balance of this chapter discusses the available organizer objects in more detail.