home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
uicldd.zip
/
READ.ME
< prev
next >
Wrap
Text File
|
1993-09-07
|
5KB
|
186 lines
------------------------------------------------------------------------
| September 7, 1993 |
|BETA2 for C Set++ Class Library direct manipulation (drag/drop) |
-----------------------------------------------------------------------
PREREQ's
--------
1) You MUST install the CSD level of C Set++ prior to using this beta.
HEADER REPLACEMENT:
-------------------
1) You MUST install IWINDOW.HPP in a subdirectory that is listed in the
INCLUDE path before \IBMCPP\IBMCLASS.
CONTROLS SUPPORTED
------------------
1) We have included built-in support for the Entry Field and MLE. Please
see the DMSAMP1 sample for additional information. You can substitute
IMultiLineEdit for IEntryField in the sample to demonstrate the MLE
support.
2) This drop provides support for the container control. The support
provided is limited to containers within a specific process. The
generic IString renderers are used as the default renderers for the
container.
Issues you must face and questions you must ask yourself concern
moving/copying/linking objects in containers which are in different
processes. The container control does not provide shared memory
support, due largely in part to the Workplace Shell (WPS). Since the
WPS runs in 1 process, and the WPS was the container's most important
customer, shared memory support did not receive a high priority.
Design your derived IContainerObject class to facilitate drag drop:
build a function into it such as asIString() which will "dump" the
contents of your object upon request in an IString format. Also,
consider icons, as you will need to consider passing the DLL name.
along with a resource id (we may be able to help out here as we
further study the issue). The key to intra-process support are the
renderers. Keep them as simple (and stupid) as possible, because their
only function should be the transportation of bytes.
We will be adding intra-process support in the next drop to the
container, which will aid those of you who are not deriving from
IContainerObject, but are using it as is.
RENDERING MECHANISMS AND FORMATS (RMFs)
---------------------------------------
1) IDMISRND.HPP contains a generic IString renderer that implements an RMF
that supports source rendering of item(s). It contains support for both
inter and intra process source renderering of item(s). We use it to
support renderering of text items in our MLE and Entry Field support,
but it can also be used for renderering such things as icon and bitmap
images, with no modifications.
IMAGE SUPPORT
-------------
1) Drag images are now supported. They may be constructed from an icon
of bitmap resource, or from a pointer or bitmap handle. Three styles
are supported. stack3AndFade is not fully supported at this time.
The "fade" icon has not been added and currently defaults to the
system question mark pointer. The "fade" icon, when used, is the same
icon used by the Workplace Shell. See IDMCOMM.HPP for a complete list
of drag image styles. If no IDMIMAGE objects are created, default
system drag images will be provided.
DISCARD OBJECT SUPPORT
----------------------
1) Discard object support has been added to this beta. The default
processing for this event gives the responsibilty for discarding
the object to the target.
PRINT OBJECT SUPPORT
--------------------
1) Print object support has been added to this beta. The default
processing for this event gives the responsibilty for printing
the object to the target.
ISSUES
------
1) IDMTargetRenderer::canRender always returns IDM::ok as the default
case, when you use the default target renderer, which is implemented
in such a manner to allow for target rendering. Therefore, you must
verify the type and RMF of item(s) in your code. Please see the
DMSAMP2 sample for additional information.
SAMPLES
-------
1) DMSAMP2 (i.e. a bug in idrag.dll) has been fixed.
2) DMSAMP3 shows our first cut at container direct manipulation support.
HEADERS AND INLINES
-------------------
iwindow.hpp
idmcnrev.hpp
idmcnrhd.hpp
idmcnrit.hpp
idmcnrpv.hpp
idmcomm.hpp
idmefit.hpp
idmefpv.hpp
idmevent.hpp
idmhndlr.hpp
idmimage.hpp
idmisrnd.hpp
idmitem.hpp
idmmleit.hpp
idmmlepv.hpp
idmoper.hpp
idmprov.hpp
idmprovc.hpp
idmrendr.hpp
idmsrch.hpp
idmsrcop.hpp
idmtgth.hpp
idmtgtop.hpp
idmcnrev.inl
idmcnrhd.inl
idmcnrit.inl
idmefit.inl
idmevent.inl
idmimage.inl
idmitem.inl
idmmleit.inl
idmoper.inl
idmrendr.inl
idmsrch.inl
idmtgth.inl
DLL
---
idrag.dll
IMPORT LIB
----------
idragi.lib
STATIC LIB
----------
idrag.lib
PUBS
----
dragdrop.lst list3820
dragdrop.doc ascii
dragdrop.ps postscript
dragdrop.boo BookManager/Read
1) These are preliminary versions of the users guide.
SAMPLES
-------
DMSAMP1.CPP
DMSAMP1.EXE
DMSAMP2.CPP
DMSAMP2.HPP
DMSAMP2.EXE
DMSAMP3.CPP
DMSAMP3.HPP
DMSAMP3.H
DMSAMP3.RC
APPLE.ICO
BOLT.ICO
CAR.ICO
SPACE.ICO
STARFLEE.ICO
WIN100.ICO
DMSAMP3.EXE