Class: dbContainer3d

Properties  Events  Methods    Index of Classes

Creates visual container objects and by default, provides a gray background with a raised border having a three-dimensional appearance

Hierarchy

cObject
---cUIObject
------DfBaseObject
---------DfBaseWindow
------------DfBaseUIWindow
---------------DfBaseContainer
------------------DfBaseDialog
---------------------Container3d
------------------------dbContainer3d_
---------------------------dbContainer3d
------------------------------cDbScrollingClientArea
------------------------------cDbScrollingContainer
------------------------------cDbSplitterContainer
------------------------------cDbSplitterContainerChild
------------------------------dbContainer
------------------------------dbTabPage
------------------------------dbTabView_

Library: Windows Application Class Library

Package: Dfclient.pkg

Mixins: DFNavigate_Mixin

Description

The dbContainer3d class creates visual container objects and by default, provides a gray background with a raised border having a three-dimensional (3D) appearance. 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, etc), basic controls (Button, etc.) and other data-aware (db...) container objects (which will themselves contain controls).

Sample

Object oContainer1 is a dbContainer3D
    Set Size to 70 150
    Set Location to 5 5
    Set Server to oCustomerDD
    
    Object oForm1 is a dbForm
        Set Location to 10 70
        Set Size to 13 40
        Entry_Item Customer.Name
        Set Label to "Name: "
    End_Object
 
    Object oConstainer2 is a dbContainer3D
        Set Size to 30 130
        Set Location to 25 10
        Set Border_Style to Border_StaticEdge // lowered edge
 
        Object F2 is a dbForm
            Set Location to 10 70
            Set Size to 13 30
            Entry_Item Customer.Id
            Set Label to "Id:"
        End_Object
 
    End_Object
 
End_Object



Syntax

Use DFClient.pkg
:
Object oObjectName is a dbContainer3D
    Set Size to height width
    Set Location to row column
    Set Border_Style to BorderMode
 
    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 dbContainer3D 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.

DbContainer3D and dbGroup objects are used to group objects together. They are functionally identical and differ only in appearance.

You will use dbContainer3D objects primarily for navigation and display purposes. All DEOs inside a dbContainer3D are activated (and therefore displayed) as a unit. When users navigate from one dbContainer3D to another (within the same view) all the objects within the container will be brought forward on the screen as a unit.

Container Object for DEOs

The dbContainerForm is a data-entry container object (DEO container). A DEO container is an object 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 dbContainer3d objects should be connected to a server (a data-dictionary object). The server can be explicit (directly set with the Server message) or acquired from a parent DEO container. Often the dbView object will provide the server. All child objects will also use the server unless a child object explicitly sets a different server for itself. 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 occur 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 entry object and will delegate down through DEO structure until they encounter the object that explicitly sets 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 them by delegation.

Using Data Dictionaries

When this object's server is a dataDictionary (instead of a dataSet), 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 the DEOs that acquire the server.

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