home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / powergui / dm / menudrag / cmditem.hpp < prev    next >
Text File  |  1996-10-29  |  1KB  |  60 lines

  1. #ifndef _CMDITEM_
  2. #define _CMDITEM_
  3. //************************************************************
  4. // Direct Manipulation - Menu Drag Example
  5. //
  6. // Copyright (C) 1994, Law, Leong, Love, Olson, Tsuji.
  7. // Copyright (c) 1997 John Wiley & Sons, Inc. 
  8. // All Rights Reserved.
  9. //************************************************************
  10.  
  11. #include <icmdhdr.hpp>
  12. #include <idmitem.hpp>
  13. #include <idmevent.hpp>
  14. #include <istattxt.hpp>
  15. #include <idmsrch.hpp>
  16.  
  17. class IString;
  18.  
  19. class CommandItem : public IDMItem {
  20. public:
  21.   CommandItem ( const IDMItem::Handle& item )
  22.     : IDMItem( item ),
  23.       noDismiss(false)
  24.     {
  25.     }
  26.   // Construct IDMItem with type=any, operations=linkable...
  27.   CommandItem ( IDMSourceOperation* srcOp );
  28.  
  29. static Boolean
  30.   generateSourceItems ( IDMSourceOperation* srcOp );
  31.  
  32. virtual Boolean
  33.   targetDrop ( IDMTargetDropEvent&       event ),
  34.   sourceEnd        ( IDMSourceEndEvent&  );
  35.  
  36. virtual unsigned long
  37.   supportedOperationsFor( const IString &selectedRMF ) const;
  38. private:
  39. Boolean
  40.  noDismiss;
  41. };
  42.  
  43. class CmdHandler : public ICommandHandler {
  44. public:
  45.   CmdHandler ( IStaticText& txt )
  46.     : text( txt ) { }
  47.  
  48. virtual Boolean
  49.   command ( ICommandEvent& event );
  50.  
  51. private:
  52. IStaticText
  53.  &text;
  54. Boolean
  55.  noDismiss;
  56. CmdHandler ( const CmdHandler& );
  57. CmdHandler operator= ( const CmdHandler& );
  58. };
  59. #endif // _CMDITEM_
  60.