home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cluidm.zip / idiprov.hpp next >
Text File  |  1993-04-30  |  4KB  |  76 lines

  1. #ifndef _IDIPROV_
  2. #define _IDIPROV_
  3. /*******************************************************************************
  4. * FILE NAME: idiprov.hpp                                                       *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   This file contains the declaration(s) of the class(es):                    *
  8. *     IDragItemProvider - Class used to provide drag items to a source handler *
  9. *                         at commencement of a direct manipulation operation.  *
  10. *                                                                              *
  11. * COPYRIGHT:                                                                   *
  12. *   Licensed Materials - Property of IBM                                       *
  13. *   (C) Copyright IBM Corporation 1992, 1993                                   *
  14. *   All Rights Reserved                                                        *
  15. *   US Government Users Restricted Rights - Use, duplication, or               *
  16. *   disclosure                                                                 *
  17. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  18. *                                                                              *
  19. * $Log:   S:/ibmclass/idrag/vcs/idiprov.hpv  $
  20. //
  21. //   Rev 1.1   30 Apr 1993 11:45:14   HAGGAR
  22. //No change.
  23. //
  24. //   Rev 1.0   22 Apr 1993 10:40:58   HAGGAR
  25. //Initial revision.
  26. *******************************************************************************/
  27. #ifndef _IVBASE_
  28.   #include <ivbase.hpp>
  29. #endif
  30.  
  31. /* Forward declarations */
  32. class IDMSrcOperationHandle;
  33.  
  34. class IDragItemProvider : public IVBase {
  35. typedef IVBase
  36.   Inherited;
  37. /*******************************************************************************
  38.   Objects of this class have one purpose: they provide an IDMSourceHandler
  39.   object with the items to be dragged when a direct manipulation operation
  40.   begins.  A pointer to an object of this class must be provided when an
  41.   IDMSourceHandler is constructed.
  42.  
  43.   When the source handler detects that a direct manipulation operation is
  44.   being initiated from one of its windows, it will call the provideDragItems
  45.   function of this class, passing the IDMSourceOperation object (via a handle
  46.   to it).  The IDragItemProvider simply creates IDMSourceItem objects to
  47.   represent the items to be dragged from the source window and adds these to
  48.   the IDMSourceOperation object.
  49.  
  50.   This class is an abstract base class.  Derived classes must implement the
  51.   provideDragItems function in an application (or control) specific manner.
  52. *******************************************************************************/
  53. public:
  54. /*------------------------- Constructors/Destructor ----------------------------
  55. | Objects of this class are constructed in the following manner:               |
  56. ------------------------------------------------------------------------------*/
  57.   IDragItemProvider ( );
  58.  
  59. virtual
  60.   ~IDragItemProvider ( );
  61.  
  62. /*--------------------------- Drag Item Provision ------------------------------
  63.   provideDragItems - Called to give provider opportunity to attach new
  64.                      IDMSourceItems to the argument IDMSourceOperation object.
  65.                      Returns true if items were provided, false otherwise.
  66. ------------------------------------------------------------------------------*/
  67. virtual Boolean
  68.   provideDragItems ( const IDMSrcOperationHandle &dragOpHandle ) = 0;
  69.  
  70. protected:
  71.  
  72. private: /*------------------------ PRIVATE ----------------------------------*/
  73. }; // class IDragItemProvider
  74.  
  75. #endif //_IDIPROV_
  76.