skip to main content
OpenEdge Development: AppBuilder
AppBuilder Interface : Object Palette
Object Palette
For your convenience, the Object Palette makes available all the component objects supplied with AppBuilder. Only the major organizers (windows, dialogs, SmartFrame) are not on the Palette. Create them from the list in the FileNew dialog box.
Figure 11 shows the Object Palette.
Figure 11: Object Palette
Each icon has a Tooltip that identifies it. Or, if you would prefer to work with a pulldown menu of object names instead of the icons, select the OptionsShow Menu Only item on the Palette’s menu.
By dragging the edge of the Palette appropriately, you can change the shape of the Palette through a broad range, from one (long) row to two columns. You can also choose where to position the Palette within the Windows display area.
Table 5 shows the default set of object tools.
Table 5: Default object tool description
Pointer — This tool does not create any object; it is part of AppBuilder itself. Use this tool when selecting, rearranging, or resizing objects in the visual‑layout workspace. Also choose this tool if you wish to change your mind after selecting another tool but before placing that object.
Basic data viewer — (DB-Fields) Prompts you to connect a database, if necessary, and then to identify first a table and then fields in the table. Creates a query based on your selection, and adds to the workspace one labelled fill-in per field, arranged in a single column.
Query — Prompts you to connect a database, if necessary, and then starts the Query Builder dialog box. This widget is visible only at design time.
Basic data browser — Prompts you to connect a database, if necessary, and then starts the Query Builder dialog box. The results of the query are automatically displayed by the widget.
Frame — Adds a frame to the workspace. Use a frame to visually group other objects or, generally only in character mode, to serve as a window (viewport) into a data display.
Rectangle — Adds a static rectangle to the workspace. Rectangles have no associated functionality. Use rectangles to visually group other objects.
Image — Adds a static, bitmapped Image to the workspace. AppBuilder supports many different image formats under Windows. This object is, of course, meaningless in a character environment.
Radio set — Adds a set of three radio buttons to the workspace, with generic labels. You can change the number of buttons in the set after placement. Radio‑sets represent any small set of discrete values where only one can be valid at a given time.
Toggle box — Adds a single toggle box (check box) to the workspace, with a generic label. Toggle boxes represent a single LOGICAL (Boolean) value. Generally, you should set up the box so that the unchecked condition represents No, False, Empty, Not set, etc.
Slider control — Adds a slider control widget to the workspace, with optional readout. You can choose to orient this widget vertically or horizontally.
Note: You can assign a slider to visualize an INTEGER or INT64 field or variable. However, the slider cannot display values less than ‑32,768 and greater than 32,767.
button — Adds a button to the workspace, with a generic label. You would typically use a button for activating some process rather than selecting a static condition. buttons are represented as momentary‑on (nonlatching) devices: when released, they return to the up or inactive state.
Selection list — Adds a selection list to the workspace. A selection list presents a scrollable set of items displayed as character strings.
Multi‑line editor — Adds a multi‑line text editor widget to the workspace. You can set the size of the edit buffer, as well as the availability of features such as wordwrap.
Combo box — Adds to the workspace a drop‑down list, or a combo box with your choice of drop‑down or visible list element. A true combo box allows the user to type a value into the fill-in component or select from the items displayed by the list component.
Fill-in — Adds a single‑line editor to the workspace. Although a fill-in presents its data at run‑time as a character string, you can specify automatic type conversion such that, for example, the value is actually LOGICAL with the user’s only choice being between some two string literals you define such as “True” and “False.”
Static text — Adds a string of static text to the workspace. You control font, color, and size.
ActiveX (OCX) control — Opens a list of ActiveX controls for your selection. ActiveX controls can be broadly similar in capability to SmartObjects, but they follow Microsoft’s Component Object Model (COM) standard, not the ADM.
Spin Buttons (ActiveX) — Adds an ActiveX spin button control to the workspace. Spin buttons allow setting an INTEGER value. They are functionally similar to a hardware thumbwheel device. You can choose the upper and lower bounds of the range and the increment/decrement value.
Combo box (ActiveX) — Adds an ActiveX combo box to the workspace. See the description of the ABL combo box for general details about this type of object.
Timer (ActiveX) — Adds an ActiveX timer object to the workspace. Timers are used as countdown devices that endlessly generate an event at an interval you determine. A timer has no run‑time representation or associated data value.
SmartDataObject — Adds an ADM database interface to the workspace. A SmartDataObject manages a data stream to and from disk, filtering records and responding to requests from other ADM controls residing upstream.
DataView — Adds an ADM data binding object to the workspace. A DataView provides data binding between a ProDataSet and an ADM-based UI.
SmartObject — Adds some SmartObject of your choosing to the workspace.
SmartFolder — Adds an ADM tabs widget to the workspace. A SmartFolder provides a well‑defined context within which you can divide your total interface into functional units.
SmartPanel — Adds one of the predefined ADM button arrays to the workspace. SmartPanels are dedicated toolbars, providing upstream control of other SmartObjects.
SmartDataBrowser — Adds an ADM tabular data display to the workspace. SmartDataBrowsers provide a multi‑record, row/column interface to the data stream.
SmartDataViewer — Adds an ADM data display to the workspace. SmartDataViewers provide a single‑record interface to the data stream. You can arrange their layout to suit your design.
SmartDataField — Adds special capabilities of your choosing to a SmartDataViewer on a per‑field basis.
SmartLOBField — Adds a SmartLOBField to represent an SDO LOB field in a non-standard visualization.
SmartFilter — Adds an ADM Smart Query‑By‑Form capability to the workspace.
SmartToolbar — Adds an ADM menu and toolbar to the workspace. The default SmartToolbar offers the same navigation and update functions that are provided by the corresponding SmartPanels.
SmartContainer — Allows you to add an outer‑level container object, such as a SmartWindow, to another container. This creates a child‑parent relationship.
SmartBuisnessObject — Adds a special ADM SmartContainer that organizes the data streams of several SmartDataObjects.
SmartProducer — Adds an ADM message handler that creates messages to be transmitted by a OpenEdge message service.
SmartConsumer — Adds an ADM message handler that receives messages transmitted by a OpenEdge message service.
SmartRouter — Adds an ADM message handler that routes incoming messages from a SmartConsumer to appropriate SmartB2BObjects.
SmartB2BObject — Adds an ADM transformation object that transforms information to and from XML, based on a protocol shared between the message’s sender and recipient.
SmartSender — Adds a customizable ADM object that transforms information according to your rules, passing the result to a SmartProducer.
SmartReceiver — Adds a customizable ADM object that receives information from a SmartConsumer and then transforms it according to your rules.
Placing objects from the Object Palette
To select an object for placement, click on its tool icon (tool button):
*All objects have a default version. Some also have special‑purpose variants. To list any variants available for the object under a tool icon, right‑click that icon. To select one of the listed variants, left‑click it. If there is only one choice, it will be listed as Default.
*To pick up a basic ABL object for placement, left‑click the icon. The icon will stay depressed to indicate that it remains selected. When you bring the cursor over a clear spot in the workspace, the cursor will change to indicate an object of the type you are placing.
Left‑click over the spot where you wish to release the object. The object will appear on the workspace at that position, and the icon and cursor will return to their usual states.
*To pick up a SmartObject for placement, left‑click the icon, and do the following:
*For SmartObjects based on a master, a dialog box opens that allows you to select a master that you previously defined, or you can begin the process of defining a new master.
*SmartObjects such as the SmartFolder, which is not based on a master, can be placed immediately, as though they were basic objects.
Multiple placements
To place more than one object of the same kind without having to reselect the tool, left‑click the icon a second time. For all SmartObjects based on a master, this second click must occur after you have selected the exact master you intend to use.
The image of a padlock will appear on the icon. This indicates that the object tool is latched (locked) down and will allow you to make as many placements as you like.
When you wish to release the lock on that tool, select the Pointer icon. The image of the lock goes away, and the button returns to the up position.
Locking a tool is easy to do inadvertently. If you find your cursor seems to be stuck, check for the lock icon. Clear it by selecting the pointer tool, and then delete any extra objects that the accidental lock caused you to add to the workspace.
Changing your mind
If you change your mind in the middle of the placement process, you can cancel by selecting the pointer tool. If you change your mind after placing the object, simply delete it from the workspace. There will be no residue left behind.
Object Palette options
The Object Palette menu allows you to control the following options:
*Top‑only window — Keeps the Object Palette on top of other AppBuilder windows.
*Show menu only — When checked, removes all buttons from the Object Palette. You must then use the Object Palette Menu for all interactions with the Object Palette.
*Save palette — Saves the position, shape, and size of the Object Palette for future AppBuilder sessions.
Customizing the Object Palette
By editing or creating a custom object file, you can control how three AppBuilder interface components—the Object Palette, New dialog box, and the Choose dialog box—present objects for selection. You can specify which objects are included and how they are presented. You can select a custom object file by choosing MenuUse Custom. For more information about custom object files, see Appendix C, “Customizing AppBuilder”.