home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / Button / Sources / Part.h < prev    next >
Encoding:
Text File  |  1996-04-25  |  4.6 KB  |  174 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                Part.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Author:                Henri Lamiraux
  7. //    Modified by:        M.Boetcher to accept Dropped and Pasted sounds
  8. //
  9. //    Copyright:            (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  10. //
  11. //========================================================================================
  12.  
  13. #ifndef PART_H
  14. #define PART_H
  15.  
  16. // ----- Framework Layer -----
  17.  
  18. #ifndef FWPART_H
  19. #include "FWPart.h"
  20. #endif
  21.  
  22. #ifndef FWFRAME_H
  23. #include "FWFrame.h"
  24. #endif
  25.  
  26. #ifndef FWDRGDRP_H
  27. #include "FWDrgDrp.h"
  28. #endif
  29.  
  30. // ----- Foundation Layer -----
  31.  
  32. #ifndef FWRECEVR_H
  33. #include "FWRecevr.h"
  34. #endif
  35.  
  36. //========================================================================================
  37. // Forward Declarations
  38. //========================================================================================
  39.  
  40. class FW_CNotification;
  41. class FW_CButton;
  42.  
  43. class CAction;
  44. class CButtonContent;
  45.  
  46. //========================================================================================
  47. //    class CButtonPart
  48. //========================================================================================
  49.  
  50. class CButtonPart : public FW_CPart
  51. {
  52. public:
  53.  
  54.     FW_DECLARE_AUTO(CButtonPart)
  55.  
  56. //----------------------------------------------------------------------------------------
  57. //    Initialization/Destruction
  58. //
  59. public:
  60.     CButtonPart(ODPart* odPart);
  61.     virtual ~CButtonPart();
  62.     
  63.     virtual void    Initialize(Environment* ev);
  64.     
  65. //----------------------------------------------------------------------------------------
  66. //    Inherited API
  67. //
  68.   public:
  69.     virtual FW_CFrame*    NewFrame(Environment* ev,
  70.                             ODFrame* odFrame,
  71.                             FW_CPresentation* presentation,
  72.                             FW_Boolean fromStorage);
  73.     
  74.     virtual void         ClearPartStorage(Environment* ev, ODStorageUnit* storageUnit);
  75.     virtual FW_Boolean    IsValidContentValue(Environment* ev, ODType type);
  76.                             
  77.     virtual FW_CContent* NewPartContent(Environment* ev);
  78.  
  79. //----------------------------------------------------------------------------------------
  80. //    New API
  81. //
  82.   public:
  83.     void                DoAction();
  84.  
  85. //----------------------------------------------------------------------------------------
  86. //    Data Members
  87. //
  88.   private:
  89.     CButtonContent*        fButtonContent;
  90. };
  91.  
  92. //========================================================================================
  93. //    class CButtonFrame
  94. //========================================================================================
  95.  
  96. class CButtonFrame : public FW_CFrame, public FW_MReceiver, FW_MDroppableFrame
  97. {
  98. //----------------------------------------------------------------------------------------
  99. //    Initialization/Destruction
  100. //
  101. public:
  102.      FW_DECLARE_CLASS
  103.     FW_DECLARE_AUTO(CButtonFrame)
  104.  
  105.     CButtonFrame(Environment* ev, 
  106.                     ODFrame* frame, 
  107.                     FW_CPresentation* presentation, 
  108.                     CButtonPart* part,
  109.                     FW_ResourceId id);    
  110.     virtual ~CButtonFrame();
  111.  
  112. //----------------------------------------------------------------------------------------
  113. //    FW_CFrame overrides
  114. //
  115. public:
  116.     FW_CDropCommand*        NewDropCommand(Environment *ev, 
  117.                                     FW_CFrame* frame,
  118.                                     ODDragItemIterator* dropInfo, 
  119.                                     ODFacet* facet, 
  120.                                     const FW_CPoint& dropPoint);
  121.  
  122.     virtual ODDragResult     CanAcceptDrop(Environment* ev, 
  123.                                     ODDragItemIterator* dragInfo);
  124.  
  125.     virtual void             Draw(Environment* ev, 
  126.                                     ODFacet* facet, 
  127.                                     ODShape* invalidShape);
  128.  
  129.     virtual ODFocusSet*        GetFocusSet(Environment* ev) const;    
  130.     virtual void             PostCreateViewFromStream(Environment* ev);
  131.  
  132. //----------------------------------------------------------------------------------------
  133. //    FW_MReceiver overrides
  134. //
  135. public:
  136.     virtual void             HandleNotification(Environment* ev, const FW_CNotification& notification);
  137.  
  138. //----------------------------------------------------------------------------------------
  139. //    new API
  140. //
  141. public:
  142.     void                     SetFocusSet(Environment* ev, FW_Boolean optionPressed);    
  143.  
  144. //----------------------------------------------------------------------------------------
  145. //    Data Members
  146. //
  147. private:
  148.     CButtonPart*            fButtonPart;
  149.     ODFocusSet*                fFullFocusSet;
  150.     ODFocusSet*                fEmptyFocusSet;
  151.     ODFocusSet*                fFocusSet;
  152. };
  153.  
  154. //========================================================================================
  155. //    class COptionBehavior
  156. //========================================================================================
  157.  
  158. class COptionBehavior : public FW_MEventHandler
  159. {
  160. public:
  161.     FW_DECLARE_AUTO(COptionBehavior)
  162.  
  163.     COptionBehavior(Environment* ev, CButtonFrame* frame);
  164.     virtual ~COptionBehavior();
  165.  
  166. public:
  167.     virtual FW_Boolean    DoMouseDown(Environment* ev, const FW_CMouseEvent& theMouseEvent);
  168.     
  169. private:
  170.     CButtonFrame*        fFrame;
  171. };
  172.  
  173. #endif
  174.