home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / idmtgth.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  4.1 KB  |  113 lines

  1. #ifndef _IDMTGTH_
  2. #define _IDMTGTH_
  3. /*******************************************************************************
  4. * FILE NAME: idmtgth.hpp                                                       *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     IDMTargetHandler                                                         *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   IBM Open Class Library                                                     *
  12. *   (C) Copyright International Business Machines Corporation 1992, 1996       *
  13. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  14. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  15. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  16. *                                                                              *
  17. *******************************************************************************/
  18. #include <idmhndlr.hpp>
  19. #include <idmtgtop.hpp>
  20. #include <idmtgtrn.hpp>
  21.  
  22. class IDMTargetRenderer;
  23. class IWindow;
  24. class IEntryField;
  25. class IMultiLineEdit;
  26. class IContainerControl;
  27. class IDMTargetEnterEvent;
  28. class IDMTargetLeaveEvent;
  29. class IDMTargetDropEvent;
  30. class IDMTargetHelpEvent;
  31. class IDMTargetEndEvent;
  32. class IDMTargetHandlerData;
  33.  
  34. #pragma pack(4)
  35.  
  36. class IDMTargetHandler : public IDMHandler {
  37. typedef IDMHandler
  38.   Inherited;
  39. public:
  40.  
  41. /*------------------------------- Constructors -------------------------------*/
  42.   IDMTargetHandler  ( IWindow*           window );
  43.  
  44.   IDMTargetHandler  ( IEntryField*       entryField );
  45.  
  46.   IDMTargetHandler  ( IMultiLineEdit*    multiLineEdit );
  47.  
  48.   IDMTargetHandler  ( IContainerControl* containerControl );
  49.  
  50.   IDMTargetHandler  ( );
  51.  
  52. virtual
  53.   ~IDMTargetHandler ( );
  54.  
  55. /*-------------------------- Renderer Processing -----------------------------*/
  56. virtual unsigned
  57.   numberOfRenderers ( );
  58.  
  59. virtual IDMTargetRenderer
  60.  *renderer          ( unsigned                 position );
  61.  
  62. virtual IDMTargetHandler
  63.  &replaceRenderer   ( unsigned                 position,
  64.                       const IDMTargetRenderer& replacement ),
  65.  &addRenderer       ( const IDMTargetRenderer& newRenderer ),
  66.  &removeRenderer    ( const IDMTargetRenderer& rendererToRemove ),
  67.  &setRenderer       ( const IDMTargetRenderer& newRenderer );
  68.  
  69.  
  70. protected:
  71. /*---------------------------- Event Dispatching -----------------------------*/
  72. virtual Boolean
  73.   dispatchHandlerEvent ( IEvent&              event );
  74.  
  75. /*---------------------------- Event Processing ------------------------------*/
  76. virtual Boolean
  77.   targetEnter          ( IDMTargetEnterEvent& event ),
  78.   targetLeave          ( IDMTargetLeaveEvent& event ),
  79.   targetDrop           ( IDMTargetDropEvent&  event,
  80.                          Boolean              container = true ),
  81.   targetHelp           ( IDMTargetHelpEvent&  event );
  82. virtual Boolean
  83.   targetEnd            ( IDMTargetEndEvent&   event );
  84.  
  85. /*------------------------------ Implementation ------------------------------*/
  86. virtual IDMTargetOperation::Handle
  87.   allocateOperation ( IDMTargetEnterEvent&              event ) const;
  88.  
  89. virtual Boolean
  90.   findRenderersFor  ( const IDMTargetOperation::Handle& targetOperation );
  91.  
  92. virtual unsigned
  93.   findRendererFor   ( const IDMItem::Handle&            item );
  94.  
  95. private:
  96. /*------------------------------ Hidden Members ------------------------------*/
  97. virtual IDMHandler
  98.  &replaceRenderer ( unsigned           position,
  99.                     const IDMRenderer& replacement ),
  100.  &addRenderer     ( const IDMRenderer& newRenderer ),
  101.  &removeRenderer  ( unsigned           position ),
  102.  &removeRenderer  ( const IDMRenderer& rendererToRemove ),
  103.  &setRenderer     ( const IDMRenderer& newRenderer );
  104.  
  105. IDMTargetHandlerData
  106.  *fDMTargetHandlerData;
  107.  
  108. }; // IDMTargetHandler
  109.  
  110. #pragma pack()
  111.  
  112. #endif // _IDMTGTH_
  113.