home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
opendc12.zip
/
od124os2.exe
/
od12osp1.exe
/
src
/
dynamicp
/
ioddynam.txt
< prev
next >
Wrap
Text File
|
1997-04-02
|
3KB
|
83 lines
Dynamic Part Demonstration:
This part handler is being provided by IBM for several purposes:
1) For use in demos of OpenDoc and its capabilities
2) As sample source code demonstrating various programming techniques involved
in developing OpenDoc part handlers
3) As an example of the cross-platform programming capabilities of OpenDoc.
This part handler demonstrates various combinations of shear and rotation controlled by
menu selections. It may be used either as a stand-alone application (as
its own root part), or as a component of a larger document (when embedded
within another part handler).
How to Build:
To build this part you will need the OpenDoc Release 1.1 toolkit.
From the dynamicp source directory run
nmake
To register the part with OpenDoc, run
nmake ForceRegistry
Prerequisites:
1) SimplePart's runtime, iodsimpl.dll.
2) This code uses IBM OpenClass, and so must be compiled with
IBM's VisualAge C++ compiler.
Usage:
To run the DynamicPart as a root part, issue the command:
docshell -k DynamicPart
Once the part is loaded, select the menu item
"Dynamic Part->Rotation->Start" to make the part turn within its frame.
Selecting the menu item "Dynamic Part->Rotation->Direction->Counter clockwise"
will make the part turn in the opposite direction. You can similarly
affect "Horizontal Shear" and "Vertical Shear". The menu item
"Dynamic Part->Reset" will return the part to its initial state and orientation.
To change the text that is scrolled, copy the new text to the clipboard and
select Edit->Paste for the DynamicPart.
Design Notes:
This part subclasses from SimplePart. On Windows, this part also uses a
modified version of the Focuslib utilities. The modified source is
called "myfocus.cpp".
From a programming standpoint, this part handler demonstrates the following
features:
- Platform independence using IBMs OpenClass libraries
- OpenDoc transformation matrices,
- Timers,
- Window Clipping,
- Frame Negotiation,
- Menus,
- Event Handling, and
- Persistence.
Known Restrictions:
Some combinations of angles for Rotation, Horizontal shear and Vertical
Shear will raise an exception within the part handler. On Windows, the
DOCSHELL will simply exit without saving changes. OS/2 will first
display a message box with a warning message. On Windows NT and 95,
the Horizontal Shear and Vertical Shear menus are not installed. To
install them, remove the #ifdef _PLATFORM_OS2_ statements and the
corresponding #endifs from INSTLMNU.C and MADJMENU.C in DYNAMICP\BMENU,
and recompile the part.
On Windows95 rotating and shearing are not supported. Selecting the
rotation menu item will cause the contents to be scaled and translated
instead.
The bitmap does not print on Windows NT and 95.