home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / uicldd.zip / READ.ME < prev    next >
Text File  |  1993-09-07  |  5KB  |  186 lines

  1. ------------------------------------------------------------------------
  2. |                             September 7, 1993 |
  3. |BETA2 for C Set++ Class Library direct manipulation (drag/drop)       |
  4.  -----------------------------------------------------------------------
  5.  
  6. PREREQ's
  7. --------
  8. 1) You MUST install the CSD level of C Set++ prior to using this beta.
  9.  
  10.  
  11. HEADER REPLACEMENT:
  12. -------------------
  13. 1) You MUST install IWINDOW.HPP in a subdirectory that is listed in the
  14.    INCLUDE path before \IBMCPP\IBMCLASS.
  15.  
  16.  
  17. CONTROLS SUPPORTED
  18. ------------------
  19. 1) We have included built-in support for the Entry Field and MLE.  Please
  20.    see the DMSAMP1 sample for additional information.  You can substitute
  21.    IMultiLineEdit for IEntryField in the sample to demonstrate the MLE
  22.    support.
  23.  
  24. 2) This drop provides support for the container control.  The support
  25.    provided is limited to containers within a specific process.  The
  26.    generic IString renderers are used as the default renderers for the
  27.    container.
  28.  
  29.    Issues you must face and questions you must ask yourself concern
  30.    moving/copying/linking objects in containers which are in different
  31.    processes.  The container control does not provide shared memory
  32.    support, due largely in part to the Workplace Shell (WPS).  Since the
  33.    WPS runs in 1 process, and the WPS was the container's most important
  34.    customer, shared memory support did not receive a high priority.
  35.  
  36.    Design your derived IContainerObject class to facilitate drag drop:
  37.    build a function into it such as asIString() which will "dump" the
  38.    contents of your object upon request in an IString format.  Also,
  39.    consider icons, as you will need to consider passing the DLL name.
  40.    along with a resource id (we may be able to help out here as we
  41.    further study the issue).  The key to intra-process support are the
  42.    renderers.  Keep them as simple (and stupid) as possible, because their
  43.    only function should be the transportation of bytes.
  44.  
  45.    We will be adding intra-process support in the next drop to the
  46.    container, which will aid those of you who are not deriving from
  47.    IContainerObject, but are using it as is.
  48.  
  49. RENDERING MECHANISMS AND FORMATS (RMFs)
  50. ---------------------------------------
  51. 1) IDMISRND.HPP contains a generic IString renderer that implements an RMF
  52.    that supports source rendering of item(s).  It contains support for both
  53.    inter and intra process source renderering of item(s).  We use it to
  54.    support renderering of text items in our MLE and Entry Field support,
  55.    but it can also be used for renderering such things as icon and bitmap
  56.    images, with no modifications.
  57.  
  58.  
  59. IMAGE SUPPORT
  60. -------------
  61. 1) Drag images are now supported.  They may be constructed from an icon
  62.    of bitmap resource, or from a pointer or bitmap handle.  Three styles
  63.    are supported.  stack3AndFade is not fully supported at this time.
  64.    The "fade" icon has not been added and currently defaults to the
  65.    system question mark pointer.  The "fade" icon, when used, is the same
  66.    icon used by the Workplace Shell.  See IDMCOMM.HPP for a complete list
  67.    of drag image styles.  If no IDMIMAGE objects are created, default
  68.    system drag images will be provided.
  69.  
  70.  
  71. DISCARD OBJECT SUPPORT
  72. ----------------------
  73. 1) Discard object support has been added to this beta.    The default
  74.    processing for this event gives the responsibilty for discarding
  75.    the object to the target.
  76.  
  77.  
  78. PRINT OBJECT SUPPORT
  79. --------------------
  80. 1) Print object support has been added to this beta.  The default
  81.    processing for this event gives the responsibilty for printing
  82.    the object to the target.
  83.  
  84.  
  85. ISSUES
  86. ------
  87. 1) IDMTargetRenderer::canRender always returns IDM::ok as the default
  88.    case, when you use the default target renderer, which is implemented
  89.    in such a manner to allow for target rendering.  Therefore, you must
  90.    verify the type and RMF of item(s) in your code.  Please see the
  91.    DMSAMP2 sample for additional information.
  92.  
  93.  
  94. SAMPLES
  95. -------
  96. 1) DMSAMP2 (i.e. a bug in idrag.dll) has been fixed.
  97.  
  98. 2) DMSAMP3 shows our first cut at container direct manipulation support.
  99.  
  100.  
  101. HEADERS AND INLINES
  102. -------------------
  103. iwindow.hpp
  104. idmcnrev.hpp
  105. idmcnrhd.hpp
  106. idmcnrit.hpp
  107. idmcnrpv.hpp
  108. idmcomm.hpp
  109. idmefit.hpp
  110. idmefpv.hpp
  111. idmevent.hpp
  112. idmhndlr.hpp
  113. idmimage.hpp
  114. idmisrnd.hpp
  115. idmitem.hpp
  116. idmmleit.hpp
  117. idmmlepv.hpp
  118. idmoper.hpp
  119. idmprov.hpp
  120. idmprovc.hpp
  121. idmrendr.hpp
  122. idmsrch.hpp
  123. idmsrcop.hpp
  124. idmtgth.hpp
  125. idmtgtop.hpp
  126.  
  127. idmcnrev.inl
  128. idmcnrhd.inl
  129. idmcnrit.inl
  130. idmefit.inl
  131. idmevent.inl
  132. idmimage.inl
  133. idmitem.inl
  134. idmmleit.inl
  135. idmoper.inl
  136. idmrendr.inl
  137. idmsrch.inl
  138. idmtgth.inl
  139.  
  140.  
  141. DLL
  142. ---
  143. idrag.dll
  144.  
  145.  
  146. IMPORT LIB
  147. ----------
  148. idragi.lib
  149.  
  150.  
  151. STATIC LIB
  152. ----------
  153. idrag.lib
  154.  
  155.  
  156. PUBS
  157. ----
  158. dragdrop.lst    list3820
  159. dragdrop.doc    ascii
  160. dragdrop.ps    postscript
  161. dragdrop.boo    BookManager/Read
  162.  
  163. 1) These are  preliminary versions of the users guide.
  164.  
  165.  
  166. SAMPLES
  167. -------
  168. DMSAMP1.CPP
  169. DMSAMP1.EXE
  170.  
  171. DMSAMP2.CPP
  172. DMSAMP2.HPP
  173. DMSAMP2.EXE
  174.  
  175. DMSAMP3.CPP
  176. DMSAMP3.HPP
  177. DMSAMP3.H
  178. DMSAMP3.RC
  179. APPLE.ICO
  180. BOLT.ICO
  181. CAR.ICO
  182. SPACE.ICO
  183. STARFLEE.ICO
  184. WIN100.ICO
  185. DMSAMP3.EXE
  186.