cObject
---cUIObject
------DfBaseObject
---------DfBaseWindow
------------DfBaseUIWindow
---------------DfBaseContainer
------------------DfBaseGroup
---------------------Group
------------------------dbGroup_
---------------------------dbGroup
The dbGroup class creates visual group container objects and by default, provides a gray background with a rectangular 3D line border with a text label embedded in the top left edge. This is to be used with other DEOs within a data-aware view. It must be placed inside a db... container (dbView, dbContainer, etc). Objects based on this class will contain DEO controls (dbForm, dbEdit, etc), basic controls (button, etc.) and other data-aware (db...) container objects (which will themselves contain controls).
Object oObjectName is a dbGroup Set Size to 70 150 Set Location to 5 5 Set Label to "Customer Data" Object F1 is a dbForm Set Location to 10 70 Set Size to 13 40 Entry_Item Customer.Name Set Label to "Name:" End_Object Object F2 is a dbForm Set Location to 25 70 Set Size to 13 30 Entry_Item Customer.Id Set Label to "Id:" End_Object End_Object
Use dfClient.pkg : Object oObjectName is a dbGroup Set Size to height width Set Location to row column Set Label to LabelText Set Enabled_State to true|false Set Server to (DDO(self)) Set Verify_Save_msg to get_SaveMessage Set Verify_Delete_msg to get_DeleteMessage Set Verify_Data_Loss_msg to get_DataLossMessage Set Verify_Exit_msg to get_ExitMessage : : DEO objects : End_Object
A dbGroup is a visual container for data-entry objects. Many of the properties and messages of this class are provided (and controlled) solely for use with child objects. In these respects, using a container object provides a convenience for the programmer, and greater interface consistency for users.
You will use dbGroup objects primarily for navigation and display purposes. All DEOs inside a dbGroup are activated (and therefore displayed) as a unit.
DbContainer3d and dbGroup objects are used to group objects together. They are functionally identical and differ only in appearance.
Do not place radio objects inside a dbGroup object. Radio objects should be placed inside dbRadioGroup and dbRadioContainer objects.
The group's text label is set by setting the label property. If you do not wish to display a label, you may set the label property to "" resulting in the display of an unbroken 3 D-line rectangle.
The dbGroup is a data-entry container object (DEO container). A DEO container is an object (in this case a Group) whose native capabilities are augmented with data-aware behaviors. These behaviors include:
These data-aware "skills" are added to all DEO classes through a series of mix-in classes. The message are listed here but documented in the mix-in classes. You are encouraged to study the documentation of the mix-in classes. Information provided in the documentation of these classes may be applied to all DEO classes (all db... classes). Those classes are: Nesting_Mixin, Navigate_Mixin, Verify_Mixin, Server_Mixin, and DEO_Delegate_Mixin.
When creating data-aware views and db... objects, you must observe the following object-placement rules:
All dbGroup objects should be connected to a server (a data-dictionary object). The server can be explicit (directly set with the set Server message) or acquired from a parent DEO container. Often the dbView object will provide the server for a DEO container. All child objects will also use the server unless a child object explicitly sets a different server. Do not explicitly set a server if you do not have to. If the acquired server from the parent is correct, use it.
You can set custom verification messages to supply save, delete, data-loss and exit confirmations. Normally, these verifications are defined within the view object (dbView) and acquired by all children. If new messages are required, they often are required within the same object that sets a new server.
The dbContainer class supports the messages request_save, request_clear, request_clear_all, and request_delete. Normally these messages are sent from a DEO and will delegate down through the DEO structure until they encounter the object that explicitly set the server (often a DEO container). This makes it possible to define request-message behaviors at the container level so that child DEOs can make use of the definitions by delegation.
When this object's server is a data dictionary, this object will acquire a great deal of "knowledge" from the server. Although the container itself will not need to use this knowledge, it will be used by all DEO entry objects that acquire the server through this object.
Container objects may shadowed by setting the enabled_state property to true. When set, all descendant objects are indirectly (or implicitly) shadowed. When shadowed (explicitly or by a parent) the group's label will display in shadowed mode to indicate its unavailability.
Name | Message Sent |
---|---|
kbegin_of_panel | beginning_of_panel |
kcancel | request_cancel |
kend_of_panel | end_of_panel |
kexit_function | exit_function |
kswitch | switch |
kswitch_back | switch_back |
kswitch_panel | switch_next_group |
kswitch_panel_back | switch_prior_group |