home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
sompar.zip
/
README.TXT
< prev
next >
Wrap
Text File
|
1994-01-10
|
7KB
|
130 lines
README for SOMPARTS.ZIP - Parts Like Toolbar and SOMObject Demo v1.00
----------------------------------------------------------------------------
This is C++ IBM User Interface Class Library demo of a simple application
that demostrates using SOMObject's Distribute Objects inside a application
written in IBM User Interface Class Library. The main purpose of this
sample code is demostrated how a simple SOMObjects DSOM object can be
intergrated into a GUI C++ application using the class libraries.
This demo includes source code for both the application SOMPARTS.EXE and
the DSOM PART object... To execute this program you must have both the
CSet++ 2.1 runtimes and the SOM 2.0 runtines loaded on your system
The following is a brief layout of the files included in this demo
SOMPARTS.EXE - Sample C++ DSOM Client Application
---------------------------------------------------------------------------
SOMPARTS.HPP - Header file for main application and main window
SOMPARTS.CPP - main source module for main application and its window
SOMPARTS.H - #defines for main applications
SOMPARTS.RC - resource file for main application
SOMPARTS.DEF - DEF file for main application
PARTS.HPP - Header file for Parts Like Notebook Toolbar
PARTS.CPP - Source file for Parts like Notebook Toolbar, uses the new
Graphical Bitmap buttons in CSet++ 2.1. This note book is
use to create new PART DSOM objects. This notebook is use
in combination with bitmaps to created a toolbar similar
to what is included with Digitalks Parts product.
SETPAGES.HPP - Header for the pages in Notebook
SETPAGES.CPP - Source file for pages in Notebook, including base class
for all four pages, each page inherited this class.
LISTBOX.HPP - Header for the listbox dialog window
LISTBOX.CPP - Source file for the listbox dialog window, this window
setups a timer and updates the dialog's list box with
new actions that the user selects from Notebook toolbar
SOMACT.HPP - Header for SomAction wrapper around the Part DSOM Object
SOMACT.CPP - Source file for SomAction wrapper around the Part DSOM
Object... all SOMObject's code is place in this module
for client. Also contains a collection class library
stack to hold modified items
INFODLG.HPP - Header file for Information Dialog class
INFODLG.CPP - Source file for Information dialog class, this is generic
wrapper around resource file dialogs that only need to
handle OK and CANCEL buttons
Also required for compiling SOMPARTS.EXE
ATIMEHDR.HPP - Header file from IUCL sample #6 provided with CSet++ 2.1
ATIMEHDR.CPP - Source file from IUCL sample #6 provided with CSet++ 2.1
This file basic handle a timer event that use by listbox.cpp
PARTS.DLL - SOMObjects 2.0 DSOM DLL
---------------------------------------------------------------------------
CLIENT.CPP - Non GUI Test program for PART DSOM Object
INITTERM.C - DLL Initialization and termination logic
PART.C - Main DSOM Dll source code for Part object
PART.DEF - DEF file for Part.dll
PART.H - Header file for Part.dll
PART.IDL - IDL for Part.dll
PART.IH - Implemention header file for Part.dll
PART.LNK - Link file for Part.dll
PART.XH - C++ client header for Part.dll DSOM object
SomAction class designed:
The SomAction class is designed as a wrapper arround the DSOM object methods
that I created. I designed the class in such a way that when the class is
allocated during the contructor that SOM and DSOM environments are created
and the Part object is created. When the destructor is freed, so are Part
object and the SOM and DSOM enviroments
SomAction class is allocated in the main window class (PartsWindow) and is
past onto to the Part likes Notebook class (PartsNoteTool) and the listbox
class (PartListBox)
----------------------------------------------------------------------------
Creation of this sample program.
1. 1st you need to designed the IDL file and let the SOM compiler generated
the basic code for the DSOM server DLL and its associated header
2. Fill in specifics for DSOM dll and created a simple non GUI client
application to test the DSOM dll
3. Using KASE:Set prototyper provided with CSet++ 2.1, Prototype and
Generate a basic outline for main window, Notebook and the listbox
dialogs.
4. The Generated code was then modified, documented and enhanced. Notebook
was change into a single source file which interits a base class for
each page since each page is similar in designed and appearence.
5. Modified Notebook to use new graphical buttens provided with CSet++ 2.1
6. Create the SomAction wrapper class arround the DSOM Object.. this is done
so that it communication to the DSOM object can be done by a simple
C++ class library. This removes the necessary that any other module
needs to know about the details of DSOM Som object.
7. Modied main window, note book and pages, and the listbox functions so
that they can communicate with SomAction class.. a single Object is
created at beginning and destroy when program is finish.
8. Added logic to Notebook to update edit fields butten is pressed
9. Added logic to notebook to process SomAction - if this is a new object
it will be flag as new, otherwise count is incremented
10. Added logic to listbox, so on ever tick (by inherited ATimeHandler class
provide with Sample #6 provide with CSet++) will check to see if object
has been process. If object it was process, information is filed in
dialogs fields
11. I created a generic InfoDialog class that can be use to create simple
dialogs that resource are in the resource file instead of being in
canvas.
----------------------------------------------------------------------------
Future plans...
I planned to create more sample programs which combines the IBM User
Interface Class Libraries and SOMObjects. Including a Persistent DSOM
server use in connection with Containers with new Drag and Drop features
included with CSet++ 2.1. Also I planned to investigated Workplace Shell
intergrating with IBM User Interface Class Libraries and also multithreading.
----------------------------------------------------------------------------
Stewart Hyde
CIS: 71034,3712
GEnie: S.HYDE Asst Sysop OS/2 RT