Class: dbGroup

Properties  Events  Methods    Index of Classes

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

Hierarchy

cObject
---cUIObject
------DfBaseObject
---------DfBaseWindow
------------DfBaseUIWindow
---------------DfBaseContainer
------------------DfBaseGroup
---------------------Group
------------------------dbGroup_
---------------------------dbGroup

Library: Windows Application Class Library

Package: Dfclient.pkg

Mixins: DFNavigate_Mixin

Description

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).

Sample

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



Syntax

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 



Of Special Note

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 Label

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.

DEO Container Object

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.

DEO Nesting Rules

When creating data-aware views and db... objects, you must observe the following object-placement rules:



The Server

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.

Using Data Dictionaries

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.

Shadowing

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.

Accelerator Keys

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