README for                                                          [Image]
OpenDoc Scriptable BaseContainer Part Sample Part

---------------------------------------------------------------------------

Contents

   * 1. Files and their Uses in this Part
        o Files shipped as Source in the Package
        o Files shipped as Binary, or Built
   * 2. Functional Description of the ScriptableBaseContainerPart Sample
        o Inherited Behaviour
        o Intrinsic Behaviour
   * 3. How to Install the ScriptableBaseContainerPart Sample
   * 4. How to Build the ScriptableBaseContainerPart Sample
   * 5. How to Execute the ScriptableBaseContainerPart Sample
        o Using the editor
        o Using the OpenDoc® Documents
   * 6. How to Modify the ScriptableBaseContainerPart Sample
        o Extending the Source
        o Subclassing the Binaries
   * 7. ScriptableBaseContainerPart Design Notes
   * 8. Platform Dependance Issues
   * 9. GrafPart Known Bugs and Limitations

---------------------------------------------------------------------------

1. Files in this part

Files shipped as Source in the Package

The following files are shipped in the &OD. distribution as source, and are
required to rebuild the Scriptable BaseContainer Part sample (without modification).
All of the following files are platform-independant, except as noted.
These files are located in the src/scrbase directory.

iodscrbc.txt
    This README file.  Describes the content of the ScriptableBaseContainer
    distribution package.

iodscrbc cpp
iodscrbc idl
iodscrbc xih
    These files provide the source, and SOM interface description for the
    Scriptable BaseContainer Part.   Since this part inherits from the BaseContainerPart
    only overriding logic is present in this code.

iodbcext cpp
iodbcext idl
iodbcext xih
    These files provide the implementation of the ScriptExtension for the
    ScriptableBaseContainerPart.  The class is based on the ODScriptExtension class
    and provides the interface between the part and the Lotus Scripting
    environment.

scrbcif  cpp
scrbcif  idl
scrbcif  xih
    The ScriptableBaseContainer uses a separate class to proivde the scripting
    interface.  These files provide the definition and implementation of that
    class which will use the associated ScriptableBaseContainer to provide
    the OpenDoc function support.

scrbcevt idl
    This virtual class provides the SOM defintions for the events that are
    raised by the ScriptableBaseContainerPart.


makefile
iodscrbc.cin
iodscrbc.def
iodscrbc.mdf
    These files support the building of the ScriptableBaseContainerPart class.  The
    makefile is designed to function in the sample build environment supplied
    with OpenDoc.  The .def, .mdf and .rc files provide declarations and
    definitions needed by the compiler and linkers. The .cin file is used
    as input to the OpenDoc utility, ctypelib.

iodscrbc.ico
    This platform specific icon defintion are used to present an icon for
    the desktop.

iodscrbc.odt
iodscrbc.tlb
These files are built during the make process from other files in the
package.  The binary forms are distributed for use during installation.


Back to the Table of Contents.
---------------------------------------------------------------------------

2. Function Description

Inherited Behaviours

ScriptableBaseContainerPart inherits the bulk of its function from the
BaseContainerPart and thus provides an example of the basic functions
available in a container part.  This part has been extended to provide an
example of the coding requirements for adding event support (PartAdded,
PartDropped) and exposing methods (EmbedPart, SelectAll) and exposing
attributes (backgroundcolor).  It also illustrates the type of changes
needed for a part which is to be scriptable using the Lotus Script
Component (menu items, extension support, externalize and initialize
support, tracking contained parts, etc).

Back to the Table of Contents.
---------------------------------------------------------------------------
3. How to Install the ScriptableBaseContainerPart Sample

The ScriptableBaseContainer part has been built and packaged using the package
structure defined for this release.  It will normally be installed during
OpenDoc installation along with other parts.

Back to the Table of Contents.
---------------------------------------------------------------------------

4. How to Build the ScriptableBaseContainerPart Sample

The makefile and support files supplied with this part work with the
sample make environment that is supplied with OpenDoc.  Please see the
documentation for that build environment for details.

Back to the Table of Contents.
---------------------------------------------------------------------------

5. How to Execute the ScriptableBaseContainerPart Sample

Using the editor

    The ScriptableBaseContainerPart functions in the same way as the
    BaseContainerPart.  The Menu contains two additional entries - Edit
    Scripts to initiate scripting associated with the part and Remove
    Scripts to remove the scripts that have been created.

Using the &OD. Documents
    Scripts that are developed for a part will remain with that part as
    it is saved/restored/moved/copied in the OpenDoc environment.  Thus
    scripted part becomes a customized version of the BaseContainerPart.

Back to the Table of Contents.
---------------------------------------------------------------------------

6. How to Modify the ScriptableBaseContainerPart Sample

Extending the Source
    The source may be modified as needed, perhaps to introduce additional
    methods, properties or events to be suported.

Subclassing the Binaries

Back to the Table of Contents.
---------------------------------------------------------------------------

7. ScriptableBaseContainerPart Design Notes

Back to the Table of Contents.
---------------------------------------------------------------------------

8. Platform Dependance Issues

    This part has only been tested in the Windows NT/95 envrionment though
    there is no reason to expect different behavior if it is compiled on
    other platforms.

Back to the Table of Contents.
---------------------------------------------------------------------------

9. ScriptableBaseContainerPart Known Bugs and Limitations

Back to the Table of Contents.
---------------------------------------------------------------------------
©. 1996 IBM Corporation. All rights reserved.

Last updated: 96/11/01 
