skip to main content
OpenEdge Development: ADM and SmartObjects
ADM Standard and Custom Class Files : Container class files
 
Container class files
The container class consists of a set of standard class files, three template files, and a set of custom class files. All ADM classes contain a parallel set of standard and custom class files; however, not all classes contain template files.
The following sections show the contents of the container class files, as well as one of its templates.
Standard class files
The container class has the following standard class files, located in the %DLC%\src\adm2 (Windows) or $DLC/src/adm2 (UNIX) directory:
*containr.i (1 of 3): primary include file
*cntnprop.i (1 of 3): property file
*containr.p (1 of 5): super procedure file
*cntnprto.i (1 of 2): prototype file
The containr.i (1 of 3) primary include file follows:
 
containr.i
&ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12
&ANALYZE-RESUME
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Method-Library 
/*-------------------------------------------------------------------------
    Library     : containr.i 
    Purpose     : Default V9 Main Block code and Method Procedures
                  for ADM Container procedures.
    
    Syntax      : {src/adm2/containr.i}
    
    Modified    : May 19, 1999 Version 9.1A 
-------------------------------------------------------------------------*/
/***********************  DEFINITIONS  ***********************************/
 
&IF "{&ADMClass}":U = "":U &THEN
  &GLOB ADMClass containr
&ENDIF
 
&IF "{&ADMClass}":U = "containr":U &THEN
  {src/adm2/cntnprop.i}
&ENDIF
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
 
/* ********************  Preprocessor Definitions  ******************** */
 
/* _UIB-PREPROCESSOR-BLOCK-END */
&ANALYZE-RESUME
 
/* *********************** Procedure Settings ************************ */
 
&ANALYZE-SUSPEND _PROCEDURE-SETTINGS
/* Settings for THIS-PROCEDURE
   Type: Method-Library
   Allow: 
   Frames: 0
   Add Fields to: Neither
   Other Settings: INCLUDE-ONLY
 */
&ANALYZE-RESUME _END-PROCEDURE-SETTINGS
 
/* *************************  Create Window  ************************** */
 
&ANALYZE-SUSPEND _CREATE-WINDOW
/* DESIGN Window definition (used by the UIB) 
  CREATE WINDOW Method-Library ASSIGN
         HEIGHT             = 8
         WIDTH              = 60.
/* END WINDOW DEFINITION */
 
*/
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB Method-Library
 
/* ************************* Included-Libraries *********************** */
 
{src/adm2/visual.i}
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Method-Library
 
/* ***************************  Main Block  *************************** */
 
  RUN start-super-proc("adm2/containr.p":U).
 
/* Best default for GUI applications - this will apply to the whole session: */
PAUSE 0 BEFORE-HIDE.
 
  /* _ADM-CODE-BLOCK-START _CUSTOM _INCLUDED-LIB-CUSTOM CUSTOM */
  {src/adm2/custom/containrcustom.i}
  /* _ADM-CODE-BLOCK-END */
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
The cntnprop.i (1 of 3) property file follows:
 
cntnprop.i
&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12
&ANALYZE-RESUME
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Include 
/*-------------------------------------------------------------------------
    File        : cntnprop.i
    Purpose     : Starts containr.p super procedure and defines general
                  SmartContainer properties and other values.
    Syntax      : {src/adm2/cntnprop.i}
    
    Description :
    
    Modified    : May 19, 1999 Version 9.1A
  ------------------------------------------------------------------------*/
/*          This .W file was created with the Progress UIB.             */
/*----------------------------------------------------------------------*/
 
/* ***************************  Definitions  ************************** */
 
  {src/adm2/custom/containrdefscustom.i}
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
 
/* ********************  Preprocessor Definitions  ******************** */
 
/* _UIB-PREPROCESSOR-BLOCK-END */
&ANALYZE-RESUME
 
/* *********************** Procedure Settings ************************ */
 
&ANALYZE-SUSPEND _PROCEDURE-SETTINGS
/* Settings for THIS-PROCEDURE
   Type: Include
   Allow: 
   Frames: 0
   Add Fields to: Neither
   Other Settings: INCLUDE-ONLY
 */
&ANALYZE-RESUME _END-PROCEDURE-SETTINGS
 
/* *************************  Create Window  ************************** */
 
&ANALYZE-SUSPEND _CREATE-WINDOW
/* DESIGN Window definition (used by the UIB) 
  CREATE WINDOW Include ASSIGN
         HEIGHT             = 8
         WIDTH              = 60.
/* END WINDOW DEFINITION */
 
*/
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Include
/* ***************************  Main Block  *************************** */
 
  /* Include the file which defines prototypes for all of the super
     procedure’s entry points. Also, start or attach to the super procedure.
     Skip start-super-proc if we *are* the super procedure. 
     And skip including the prototypes if we are *any* super procedure. */
&IF "{&ADMSuper}":U EQ "":U &THEN
  {src/adm2/cntnprto.i}
&ENDIF
 
  /* Preprocs to identify to compiler which properties are in the temp-table.*/
  &GLOB xpCurrentPage
  &GLOB xpContainerTarget
  &GLOB xpContainerTargetEvents
  &GLOB xpPageNTarget
  &GLOB xpPageSource
  &GLOB xpFilterSource
  &GLOB xpDataTarget
  &GLOB xpUpdateSource
  &GLOB xpUpdateTarget
  &GLOB xpStartPage
  &GLOB xpRunMultiple
 
  /* Now include the next-level-up property include file. This builds up
     the property temp-table definition, 
     which we will then add our field definitions to. */  
    {src/adm2/visprop.i}
 
&IF "{&ADMSuper}":U = "":U &THEN
  ghADMProps:ADD-NEW-FIELD(’CurrentPage’:U, ’INT’:U, 0, ?, 0).
  ghADMProps:ADD-NEW-FIELD(’ContainerTarget’:U, ’CHAR’:U, 0, ?, ’’:U).
  ghADMProps:ADD-NEW-FIELD(’ContainerTargetEvents’:U, ’CHAR’:U, 0, ?,
    ’exitObject’:U).
  ghADMProps:ADD-NEW-FIELD(’PageNTarget’:U, ’CHAR’:U, 0, ?, ’’:U).
  ghADMProps:ADD-NEW-FIELD(’PageSource’:U, ’HANDLE’:U).
  ghADMProps:ADD-NEW-FIELD(’FilterSource’:U, ’HANDLE’:U).
  ghADMProps:ADD-NEW-FIELD(’DataTarget’:U, ’CHAR’:U, 0, ?, ’’:U).
  ghADMProps:ADD-NEW-FIELD(’UpdateSource’:U, ’HANDLE’:U).
  ghADMProps:ADD-NEW-FIELD(’UpdateTarget’:U, ’CHAR’:U, 0, ?, ’’:U).
  ghADMProps:ADD-NEW-FIELD(’StartPage’:U, ’INT’:U, 0, ?, ?).
  ghADMProps:ADD-NEW-FIELD(’RunMultiple’:U, ’LOGICAL’:U, 0, ?, NO).
&ENDIF
 
  {src/adm2/custom/cntnpropcustom.i}
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
An abridged version of the containr.p (1 of 5) super procedure file follows; the complete file is quite long):
 
containr.p
&ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12
&ANALYZE-RESUME
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure 
/*-------------------------------------------------------------------------
    File        : containr.p
    Purpose     : Code common to all containers, including WIndows and Frames
    
    Syntax      : adm2/containr.p
    
    Modified    : July 22, 1999 Version 9.1A
  ------------------------------------------------------------------------*/
/*          This .W file was created with the Progress UIB.             */
/*----------------------------------------------------------------------*/
 
/* ***************************  Definitions  ************************** */
 
/* Tell cntnattr.i that this is the Super Procedure */
&SCOP ADMSuper containr.p
 
  {src/adm2/custom/containrexclcustom.i}
 
DEFINE VARIABLE giPrevPage AS INTEGER NO-UNDO.
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
 
/* ********************  Preprocessor Definitions  ******************** */
 
&Scoped-define PROCEDURE-TYPE Procedure
&Scoped-define DB-AWARE no
 
/* _UIB-PREPROCESSOR-BLOCK-END */
&ANALYZE-RESUME
/* ************************  Function Prototypes ********************** */
 
&IF DEFINED(EXCLUDE-getContainerTarget) = 0 &THEN
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getContainerTarget Procedure 
FUNCTION getContainerTarget RETURNS CHARACTER
  (  )  FORWARD.
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ENDIF
 
.
.
.
[Similar prototypes for the following functions:
    getContainerTargetEvents    pageNTargets
    getCurrentPage              setContainerTarget
    getDataTarget               setDataTarget
    getFilterSource             setFilterSource
    getPageNTarget              setPageNTarget
    getPageSource               setPageSource
    getRunMultiple              setRunMultiple
    getUpdateSource             setUpdateSource
    getUpdateTarget             setUpdateTarget]
.
.
.
 
/* *********************** Procedure Settings ************************ */
 
&ANALYZE-SUSPEND _PROCEDURE-SETTINGS
/* Settings for THIS-PROCEDURE
   Type: Procedure
   Allow: 
   Frames: 0
   Add Fields to: Neither
   Other Settings: CODE-ONLY COMPILE
 */
&ANALYZE-RESUME _END-PROCEDURE-SETTINGS
/* *************************  Create Window  ************************** */
 
&ANALYZE-SUSPEND _CREATE-WINDOW
/* DESIGN Window definition (used by the UIB) 
  CREATE WINDOW Procedure ASSIGN
         HEIGHT             = 15
         WIDTH              = 60.
/* END WINDOW DEFINITION */
                                                                        */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB Procedure
 
/* ************************* Included-Libraries *********************** */
 
{src/adm2/cntnprop.i}
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure
 
/* ***************************  Main Block  *************************** */
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
/* **********************  Internal Procedures  *********************** */
 
&IF DEFINED(EXCLUDE-assignPageProperty) = 0 &THEN
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE assignPageProperty Procedure 
PROCEDURE assignPageProperty :
/*-------------------------------------------------------------------------
  Purpose:  Sets the specified property in all objects on the CurrentPage of
            calling SmartContainer.
   Params:  INPUT pcProp AS CHARACTER -- property to set.
            INPUT pcValue AS CHARACTER -- value to assign to that property. 
                This is specified in CHARACTER form but can be used to
                assign values to non-character properties.
    Notes:  This variation on assignLinkProperty is necessary because 
            the notion of paging does not fit well with PUBLISH/SUBSCRIBE. 
            All objects in a Container will subscribe to initializeObject, etc., 
              but the paging performs the operation on subsets of those objects 
 at a time. That is, the container will not publish ’iniializeObject’
            to objects on a page other than zero until that page is first 
            viewed.  So properties such as HideOnInit which are set as part 
            of initialization must be set page-by-page.
            
--------------------------------------------------------------------------/
 
  DEFINE INPUT PARAMETER pcProp  AS CHARACTER NO-UNDO.
  DEFINE INPUT PARAMETER pcValue AS CHARACTER NO-UNDO.
  
  DEFINE VARIABLE iVar     AS INTEGER   NO-UNDO.
  DEFINE VARIABLE cObjects AS CHARACTER NO-UNDO.
  
  {get CurrentPage iVar}.
  cObjects = pageNTargets(TARGET-PROCEDURE, iVar).
  
  DO iVar = 1 TO NUM-ENTRIES(cObjects):
    DYNAMIC-FUNCTION("set":U + pcProp IN WIDGET-HANDLE(ENTRY(iVar, cObjects)),
      pcValue) NO-ERROR.
  END.
 
  RETURN.
END PROCEDURE.
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ENDIF
 
.
.
.
[Similar code for the following procedures:
    changePage          initPages
    confirmExit         notifyPage
    constructObject     passThrough
    createObjects       removePageNTarget
    deletePage          selectPage
    initializeObject    viewObject
                        viewPage]
/* ************************  Function Implementations ***************** */
 
&IF DEFINED(EXCLUDE-getContainerTarget) = 0 &THEN
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getContainerTarget Procedure 
FUNCTION getContainerTarget RETURNS CHARACTER
  (  ) :
/*-------------------------------------------------------------------------
  Purpose:  Returns a list of the handles of the object’s contained objects.
   Params:  <none>
--------------------------------------------------------------------------/
  DEFINE VARIABLE cTarget AS CHARACTER NO-UNDO.
 
  {get ContainerTarget cTarget}.
  RETURN cTarget.
 
END FUNCTION.
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ENDIF
 
[Similar code for the following functions:
    getContainerTargetEvents    pageNTargets
    getCurrentPage              setContainerTarget
    getDataTarget               setDataTarget
    getFilterSource             setFilterSource
    getPageNTarget              setPageNTarget
    getPageSource               setPageSource
    getRunMultiple              setRunMultiple
    getUpdateSource             setUpdateSource
    getUpdateTarget             setUpdateTarget]
The cntnprto.i (1 of 2) prototype file follows:
 
cntnprto.i
/*
 * Prototype include file: C:\adm90\src\adm2\cntnprto.i
 * Created from procedure: C:\adm90\src\adm2\containr.p at 09:47 on 10/27/98
 * by the PROGRESS PRO*Tools Prototype Include File Generator
 */
 
/***** Start excluded prototypes
 
PROCEDURE viewPage IN SUPER:
  DEFINE INPUT PARAMETER piPageNum AS INTEGER.
END PROCEDURE.
 
PROCEDURE selectPage IN SUPER:
  DEFINE INPUT PARAMETER piPageNum AS INTEGER.
END PROCEDURE.
 
PROCEDURE removePageNTarget IN SUPER:
  DEFINE INPUT PARAMETER phTarget AS HANDLE.
  DEFINE INPUT PARAMETER piPage AS INTEGER.
END PROCEDURE.
 
PROCEDURE notifyPage IN SUPER:
  DEFINE INPUT PARAMETER pcProc AS CHARACTER.
END PROCEDURE.
 
PROCEDURE initPages IN SUPER:
  DEFINE INPUT PARAMETER pcPageList AS CHARACTER.
END PROCEDURE.
 
PROCEDURE initializeObject IN SUPER:
END PROCEDURE.
 
PROCEDURE deletePage IN SUPER:
  DEFINE INPUT PARAMETER piPageNum AS INTEGER.
END PROCEDURE.
PROCEDURE createObjects IN SUPER:
END PROCEDURE.
 
PROCEDURE constructObject IN SUPER:
  DEFINE INPUT PARAMETER pcProcName AS CHARACTER.
  DEFINE INPUT PARAMETER phParent AS HANDLE.
  DEFINE INPUT PARAMETER pcPropList AS CHARACTER.
  DEFINE OUTPUT PARAMETER phObject AS HANDLE.
END PROCEDURE.
 
PROCEDURE confirmExit IN SUPER:
  DEFINE INPUT-OUTPUT PARAMETER plCancel AS LOGICAL.
END PROCEDURE.
 
PROCEDURE changePage IN SUPER:
END PROCEDURE.
 
PROCEDURE assignPageProperty IN SUPER:
  DEFINE INPUT PARAMETER pcProp AS CHARACTER.
  DEFINE INPUT PARAMETER pcValue AS CHARACTER.
END PROCEDURE.
 
PROCEDURE start-super-proc IN SUPER:
  DEFINE INPUT PARAMETER pcProcName AS CHARACTER.
END PROCEDURE.
 
FUNCTION getContainerTarget RETURNS CHARACTER IN SUPER.
 
FUNCTION getContainerTargetEvents RETURNS CHARACTER IN SUPER.
 
FUNCTION getDataTarget RETURNS CHARACTER IN SUPER.
 
FUNCTION getPageNTarget RETURNS CHARACTER IN SUPER.
 
FUNCTION getPageSource RETURNS HANDLE IN SUPER.
 
FUNCTION pageNTargets RETURNS CHARACTER
  (INPUT phTarget AS HANDLE,
   INPUT piPageNum AS INTEGER) IN SUPER.
FUNCTION setContainerTarget RETURNS LOGICAL
  (INPUT pcObject AS CHARACTER) IN SUPER.
 
FUNCTION setDataTarget RETURNS LOGICAL
  (INPUT pcTarget AS CHARACTER) IN SUPER.
 
FUNCTION setPageNTarget RETURNS LOGICAL
  (INPUT pcObject AS CHARACTER) IN SUPER.
 
FUNCTION setPageSource RETURNS LOGICAL
  (INPUT phObject AS HANDLE) IN SUPER.
 
END excluded prototypes ********/
 
FUNCTION getCurrentPage RETURNS INTEGER IN SUPER.
Templates
The container class has the following templates, located in the %DLC%\src\adm2\template (Windows) or $DLC/src/adm2/template (UNIX) directory:
*cntnrdlg.w: dialog box template.
*cntnrfrm.w (1 of 6): frame template.
*cntnrwin.w: window template.
The cntnrfrm.w (1 of 6) frame template follows (the other templates are similar to this):
 
cntnrfrm.w
&ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
/* Procedure Description
"ADM2 SmartFrame Object Template
 
Use this template to create a new frame which supports SmartObjects. Draw 
your SmartObjects on this container and establish the appropriate SmartLinks 
to connect them."
*/
&ANALYZE-RESUME
&Scoped-define WINDOW-NAME CURRENT-WINDOW
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS fFrameWin 
/*------------------------------------------------------------------------
 
  File: 
 
  Description: from cntnrfrm.w - ADM2 SmartFrame Template
 
  Input Parameters:
      <none>
 
  Output Parameters:
      <none>
 
------------------------------------------------------------------------*/
/*          This .W file was created with the Progress AppBuilder.      */
/*----------------------------------------------------------------------*/
/* Create an unnamed pool to store all the widgets created 
     by this procedure. This is a good default which assures
     that this procedure’s triggers and internal procedures 
     will execute in this procedure’s storage, and that proper
     cleanup will occur on deletion of the procedure. */
 
CREATE WIDGET-POOL.
 
/* ***************************  Definitions  ************************** */
 
/* Parameters Definitions ---                                           */
 
/* Local Variable Definitions ---                                       */
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
 
/* ********************  Preprocessor Definitions  ******************** */
 
&Scoped-define PROCEDURE-TYPE SmartFrame
&Scoped-define DB-AWARE no
 
&Scoped-define ADM-CONTAINER FRAME
 
&Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
 
/* Name of first Frame and/or Browse and/or first Query                 */
&Scoped-define FRAME-NAME fMain
 
/* Custom List Definitions                                              */
/* List-1,List-2,List-3,List-4,List-5,List-6                            */
 
/* _UIB-PREPROCESSOR-BLOCK-END */
&ANALYZE-RESUME
 
/* ***********************  Control Definitions  ********************** */
/* ************************  Frame Definitions  *********************** */
 
DEFINE FRAME fMain
    WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY 
         SIDE-LABELS NO-UNDERLINE THREE-D 
         AT COL 1 ROW 1
         SIZE 79.86 BY 11.92.
 
/* *********************** Procedure Settings ************************ */
 
&ANALYZE-SUSPEND _PROCEDURE-SETTINGS
/* Settings for THIS-PROCEDURE
   Type: SmartFrame Template
   Allow: Basic,Browse,DB-Fields,Query,Smart
   Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
   Other Settings: PERSISTENT-ONLY
 */
 
/* This procedure should always be RUN PERSISTENT.  Report the error,  */
/* then cleanup and return.                                            */
IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT."
          VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  RETURN.
END.
 
&ANALYZE-RESUME _END-PROCEDURE-SETTINGS
 
/* *************************  Create Window  ************************** */
 
&ANALYZE-SUSPEND _CREATE-WINDOW
/* DESIGN Window definition (used by the UIB) 
  CREATE WINDOW fFrameWin ASSIGN
         HEIGHT             = 11.91
         WIDTH              = 79.8.
/* END WINDOW DEFINITION */
 
*/
&ANALYZE-RESUME
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "SmartFrameCues" fFrameWin _INLINE
/* Actions: adecomm/_so-cue.w ? adecomm/_so-cued.p ? adecomm/_so-cuew.p */
/* SmartFrame,ab,49268
A SmartFrame is a SmartContainer--a procedure object that serves as a 
container for SmartObject instances.
 
A SmartFrame instantiates and initializes the SmartObject instances it 
contains. At initialization, the SmartFrame sets the position of the 
instances and links them together.
 
USING A SMARTFRAME
 
Step 1
Build your desired SmartObject masters, save, and close them.
 
Step 2
Draw instances of the SmartObject masters into the SmartFrame.
 
Step 3
Add all necessary SmartLinks between SmartObject instances.
 
Note: During assembly, the PROGRESS Advisor suggests links and creates 
them for you. However, you can also add and remove SmartLinks with the 
SmartLinks dialog box. To access this dialog, choose the Procedure button 
from the UIB main window. Then choose the SmartLinks button from the 
Procedure Settings dialog box.
*/
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB fFrameWin
 
/* ************************* Included-Libraries *********************** */
 
{src/adm2/containr.i}
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
/* ***********  Runtime Attributes and AppBuilder Settings  *********** */
 
&ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
/* SETTINGS FOR WINDOW fFrameWin
  VISIBLE,,RUN-PERSISTENT                                               */
/* SETTINGS FOR FRAME fMain
   NOT-VISIBLE                                                          */
ASSIGN 
       FRAME fMain:HIDDEN           = TRUE.
 
/* _RUN-TIME-ATTRIBUTES-END */
&ANALYZE-RESUME
 
/* Setting information for Queries and Browse Widgets fields            */
 
&ANALYZE-SUSPEND _QUERY-BLOCK FRAME fMain
/* Query rebuild information for FRAME fMain
     _Options          = ""
     _Query            is NOT OPENED
*/  /* FRAME fMain */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK fFrameWin
 
/* ***************************  Main Block  *************************** */
 
&IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
   /* Now enable the interface  if in test mode - otherwise this happens when
      the object is explicitly initialized from its container. */
   RUN initializeObject.
&ENDIF
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
/* **********************  Internal Procedures  *********************** */
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects fFrameWin 
_ADM-CREATE-OBJECTS
PROCEDURE adm-create-objects :
/*-------------------------------------------------------------------------
  Purpose:     Create handles for all SmartObjects used in this procedure.
               After SmartObjects are initialized, then SmartLinks are added.
  Parameters:  <none>
--------------------------------------------------------------------------/
 
END PROCEDURE.
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI fFrameWin _DEFAULT-DISABLE
PROCEDURE disable_UI :
/*-------------------------------------------------------------------------
  Purpose:     DISABLE the User Interface
  Parameters:  <none>
  Notes:       Here we clean-up the user-interface by deleting
               dynamic widgets we have created and/or hide 
               frames.  This procedure is usually called when
               we are ready to "clean-up" after running.
--------------------------------------------------------------------------/
  /* Hide all frames. */
  HIDE FRAME fMain.
  IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
END PROCEDURE.
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI fFrameWin  _DEFAULT-ENABLE
PROCEDURE enable_UI :
/*-------------------------------------------------------------------------
  Purpose:     ENABLE the User Interface
  Parameters:  <none>
  Notes:       Here we display/view/enable the widgets in the
               user-interface.  In addition, OPEN all queries
               associated with each FRAME and BROWSE.
               These statements here are based on the "Other 
               Settings" section of the widget Property Sheets.
-------------------------------------------------------------------------*/
  {&OPEN-BROWSERS-IN-QUERY-fMain}
END PROCEDURE.
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
Custom class files
The container class has the following custom class files, located in the %DLC%\src\adm2\custom (Windows) or $DLC/src/adm2/custom (UNIX) directory:
*containrcustom.i (1 of 2): custom primary include file
*cntnpropcustom.i (1 of 2): custom property file
*containrcustom.p (1 of 2): custom super procedure file
*cntnprtocustom.i: custom prototype file
*containrexclcustom.i: custom exclude definition file
*containrexclcustom.i: custom instance definition file
The containrcustom.i (1 of 2) custom primary include file follows:
 
containrcustom.i
&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v9r12
&ANALYZE-RESUME
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Include 
/*------------------------------------------------------------------------
    File        : containrcustom.i
    Purpose     : References the start of the custom super procedure.
                  Allows properties initialization.
    
    Syntax      : {src/adm2/custom/containrcustom.i}
    
    Description :
    
    Created     : 06/03/1999
    Notes       : Referenced in {src/adm2/containr.i}
  ----------------------------------------------------------------------*/
/*          This .W file was created with the Progress AppBuilder.      */
/*----------------------------------------------------------------------*/
 
/* ***************************  Definitions  ************************** */
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
/* ********************  Preprocessor Definitions  ******************** */
 
/* _UIB-PREPROCESSOR-BLOCK-END */
&ANALYZE-RESUME
 
/* *********************** Procedure Settings ************************ */
 
&ANALYZE-SUSPEND _PROCEDURE-SETTINGS
/* Settings for THIS-PROCEDURE
   Type: Include
   Allow: 
   Frames: 0
   Add Fields to: Neither
   Other Settings: INCLUDE-ONLY
 */&ANALYZE-RESUME _END-PROCEDURE-SETTINGS
 
/* *************************  Create Window  ************************** */
 
&ANALYZE-SUSPEND _CREATE-WINDOW
/* DESIGN Window definition (used by the UIB) 
  CREATE WINDOW Include ASSIGN
         HEIGHT             = 15
         WIDTH              = 60.
/* END WINDOW DEFINITION */
 
*/
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Include
 
/* ***************************  Main Block  *************************** */
/* Starts here the custom super procedure 
   Uncomment to run it */
 
/*RUN start-super-proc ("adm2/custom/containrcustom.p":U).*/
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
The cntnpropcustom.i (1 of 2) custom property file follows:
 
cntnpropcustom.i
&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12
&ANALYZE-RESUME
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Include 
/*-------------------------------------------------------------------------
    File        : cntnpropcustom.i
    Purpose     : Defines basic properties.
    Syntax      : {src/adm2/custom/cntnpropcustom.i}
    
    Description :
    
    Modified    : 06/03/1999
    Notes       : Referenced in {src/adm2/cntnprop.i}    
  ------------------------------------------------------------------------*/
/*          This .W file was created with the Progress UIB.             */
/*----------------------------------------------------------------------*/
 
/* ***************************  Definitions  ************************** */
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
 
/* ********************  Preprocessor Definitions  ******************** */
 
/* _UIB-PREPROCESSOR-BLOCK-END */
&ANALYZE-RESUME
 
/* *********************** Procedure Settings ************************ */
 
&ANALYZE-SUSPEND _PROCEDURE-SETTINGS
/* Settings for THIS-PROCEDURE
   Type: Include
   Allow: 
   Frames: 0
   Add Fields to: Neither
   Other Settings: INCLUDE-ONLY
 */
&ANALYZE-RESUME _END-PROCEDURE-SETTINGS
/* ********************  Preprocessor Definitions  ******************** */
 
/* _UIB-PREPROCESSOR-BLOCK-END */
&ANALYZE-RESUME
 
/* *********************** Procedure Settings ************************ */
 
&ANALYZE-SUSPEND _PROCEDURE-SETTINGS
/* Settings for THIS-PROCEDURE
   Type: Include
   Allow: 
   Frames: 0
   Add Fields to: Neither
   Other Settings: INCLUDE-ONLY
 */&ANALYZE-RESUME _END-PROCEDURE-SETTINGS
 
/* *************************  Create Window  ************************** */
 
&ANALYZE-SUSPEND _CREATE-WINDOW
/* DESIGN Window definition (used by the UIB) 
  CREATE WINDOW Include ASSIGN
         HEIGHT             = 15
         WIDTH              = 60.
/* END WINDOW DEFINITION */
 
*/
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Include
 
/* ***************************  Main Block  *************************** */
/* Starts here the custom super procedure 
   Uncomment to run it */
 
/*RUN start-super-proc ("adm2/custom/containrcustom.p":U).*/
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
The containrcustom.p (1 of 2) custom super procedure file follows:
 
containrcustom.p
&ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12
&ANALYZE-RESUME
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure 
/*-------------------------------------------------------------------------
    File        : containrcustom.p
    Purpose     : Super procedure to extend containr class.
    
    Syntax      : containrcustom.p
    
    Modified    : 06/03/1999
  ------------------------------------------------------------------------*/
/*          This .W file was created with the Progress UIB.             */
/*----------------------------------------------------------------------*/
 
/* ***************************  Definitions  ************************** */
 
&SCOPED-DEFINE ADMSuper containrcustom.p
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
 
/* ********************  Preprocessor Definitions  ******************** */
 
&Scoped-define PROCEDURE-TYPE Procedure
&Scoped-define DB-AWARE no
 
/* _UIB-PREPROCESSOR-BLOCK-END */
&ANALYZE-RESUME
 
/* *********************** Procedure Settings ************************ */
 
&ANALYZE-SUSPEND _PROCEDURE-SETTINGS
/* Settings for THIS-PROCEDURE
   Type: Procedure
   Allow: 
   Frames: 0
   Add Fields to: Neither
 Other Settings: CODE-ONLY COMPILE
 */
&ANALYZE-RESUME _END-PROCEDURE-SETTINGS
 
/* *************************  Create Window  ************************** */
 
&ANALYZE-SUSPEND _CREATE-WINDOW
/* DESIGN Window definition (used by the UIB) 
  CREATE WINDOW Procedure ASSIGN
         HEIGHT             = 15
         WIDTH              = 60.
/* END WINDOW DEFINITION */
 
*/
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB Procedure
/* ************************* Included-Libraries *********************** */
 
{src/adm2/cntnprop.i}
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
 
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure
 
/* ***************************  Main Block  *************************** */
 
/* _UIB-CODE-BLOCK-END */
&ANALYZE-RESUME
The cntnprtocustom.i custom prototype file follows:
 
cntnprtocustom.i
/*
 * Prototype include file: src/adm2/custom/cntnprtocustom.i
 * Created from procedure: src/adm2/custom/containrcustom.p at 20:11:24 on     06/03/1999
 * by the PROGRESS PRO*Tools Prototype Include File Generator
 */
The containrexclcustom.i custom exclude definition file follows:
 
containrexclcustom.i
/*-----------------------------------------------------------------------
    File        : containrexclcustom.i
    Purpose     : Defines EXCLUDE-xxx preprocessor variables to exclude
                  functions or internal procedures in the super procedure
                  where it is referenced.
    Syntax      : {src/adm2/custom/containrexclcustom.i}
    
    Modified    : 06/03/1999
    
    Notes       : Referenced in src/adm2/containr.p
  ----------------------------------------------------------------------*/
The containrdefscustom.i custom instance definition file follows:
 
containrdefscustom.i
/*-----------------------------------------------------------------------
    File        : containrdefscustom.i
    Purpose     : Entry point to define:
                    New definitions
                    {&xcInstanceProperties}
                    {&ADM-PROPERTY-DLG}
    Syntax      : {src/adm2/custom/containrdefscustom.i}
    
    Modified    : 06/03/1999
    
    Notes       : Referenced in {src/adm2/cntnprop.i}
  ----------------------------------------------------------------------*/