/******************************************************************************
*
*  README
*
*  OS/2 Work Place Shell Sample Program
*
*  Copyright (C) 1994, 1995 IBM Corporation
*
*      DISCLAIMER OF WARRANTIES.  The following [enclosed] code is
*      sample code created by IBM Corporation. This sample code is not
*      part of any standard or IBM product and is provided to you solely
*      for  the purpose of assisting you in the development of your
*      applications.  The code is provided "AS IS", without
*      warranty of any kind.  IBM shall not be liable for any damages
*      arising out of your use of the sample code, even if they have been
*      advised of the possibility of such damages.
*
******************************************************************************/

This directory contains source and related files for two WPSH
subclasses:  MYFILE and MYFOLDER.

INSTALL.cmd
   will install the classes and create an object of each class
   in a folder called Example on your desktop
   If your boot drive is something other than C: you will need
   to type that as a parameter, e.g.  install D:

DINSTALL.cmd
   will delete the two objects and the Example folder created
   by the INSTALL.cmd program.
   You will have to delete other instances of these two classes
   manually if the dinstall program has trouble deleting the
   DLLs (e.g. if they are reported to still be in use).
   If your boot drive is something other than C: you will need
   to type that as a parameter, e.g.  dinstall D:


MAKEFILE
        You will need to redefine the paths for your Warp Toolkit
        and C Set ++ directories.  To build this sample, you will
        need the Warp version of the OS/2 Toolkit (or later), as
        this sample uses methods introduced with Warp, and uses
        SOM 2.1 idl files.

        Invoking nmake with the target of clobber (e.g.
        nmake clobber)  will delete generated files
        (*.obj, *.dll, *.hlp, *.ih, *.h, *.res, *.map, *.sym
        and files from the public directory).

        Note:  the .idl files that are in this sample were
               converted from existing .csc files using the
               CTOI tool that comes with the SOM toolkit.
               The changes that I had to make to the .idl and
               existing .c files are tagged with CSC2IDL.
               There were only a couple of changes that I had
               to make to those files.

               The changes to the makefile were a bit more
               extensive and were related to changing from
               .csc/.psc/.sc/.ph file extensions to .idl,
               and adding a few new sc switches (-S because
               I exceeded the default string buffer size,
               -r so that it would check release orders,
               -p to indicate that I wanted sc to process
               private information (e.g. stuff inside
               #ifdef __PRIVATE__'s.

               Also, I added the capability to emit public
               versions of the .h and .idl files in a
               subdirectory called public.


MYFOLDER.idl    - SOM 2.1 idl file
MYFOLDER.c      - source with comments
MYFOLDER.ipf    - help file source
MYFOLDER.def    - def file
MYFOLDER.ico    - closed folder icon
MYFOLD2.ico     - open folder icon
MYFOLDER.rc     - resource file
MYFOLDER.dll    - runtime
MYFOLDER.hlp    - help file

MYFILE.idl      - SOM 2.1 idl file
MYFILE.c        - source w/ comments
MYFILE.ipf      - help file source
MYFILE.def      - def file
MYFILE.ico      - file icon
MYFILE.rc       - resource file
MYFILE.dll      - runtime
MYFILE.hlp      - help file

-------------------------------------------------
The individual source files have been documented to
indicate which methods are overridden to do what.

--------------------------------------------------
The following behaviors describe what is unique
about an instance of MYFOLDER:

   - displays its own unique open and closed icons
   - displays a unique title
   - untemplatable
   - opens in details view
   - displays the details column of the MYFILE class
     (Last Worker)
   - has an added item on popup menu "Close all
     but 1st view" which does just what it says
   - has its own help
   - sorts on details column of the MYFILE class
     (Last Worker)
   - pops up a message box reporting when an object
     has been added to or removed from it
   - add "Print" back to menu (and changes style to
     be able to print) and pops up a message box to
     say that its contents are printing.
   - only accepts drops of objects of class MYFILE
   - redefines default drop action to be COPY
   - sets default concurrent view behavior to allow
     multiple views of itself to be open at one time

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

The following behaviors describe what is unique
about an instance of MYFILE:

   - displays a unique icon
   - displays a unique title
   - displays its own unique help
   - non tempatable
   - adds an item to Open-> submenu to open its own
     view
   - sets default open behavior to its own view
   - adds an item to popup menu that beeps when
     pressed
   - removes "Create Shadow" from popup menu
   - inserts default text into data file contents
     when created
   - can only be dropped into folders of class
     MYFOLDER
   - adds page to settings notebook to allow entry
     of name of last person to work on file (Last
     Worker)
   - updates all views of class details when Last
     Worker field is modified
   - defines its own setup string to Sound Alarm
     when passed through the wpSetup, WinSetObjectData
     and SysSetObjectData APIs
