home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / source / bento / headers / focusmod.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-03-02  |  2.5 KB  |  97 lines

  1. /*
  2.     File:        FocusMod.h
  3.  
  4.     Contains:    Interface to XMPFocusModule class.
  5.  
  6.     Written by:    Richard Rodseth
  7.  
  8.     Copyright:    ⌐ 1993-94 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <7>     2/17/94    RR        #1144732 Added forward declaration of
  13.                                     XMPFocusOwnerIterator
  14.          <6>     2/14/94    RR        #1143609. Marked Begin/Commit/Abort methods
  15.                                     private to UI
  16.          <5>      2/9/94    NP        Tiger Team cleanup.
  17.          <4>      2/7/94    NP        Tiger Team doings.
  18.          <3>      2/7/94    NP        Tiger Team doings.
  19.          <2>    12/23/93    RR        Added Init method. Removed arguments from
  20.                                     constructor
  21.          <1>     12/8/93    RR        first checked in
  22.  
  23.     To Do:
  24. */
  25.  
  26. #ifndef _FOCUSMOD_
  27. #define _FOCUSMOD_
  28.  
  29. #ifndef _XMPOBJ_
  30. #include "XMPObj.h"
  31. #endif
  32.  
  33. #ifndef _XMPTYPES_
  34. #include "XMPTypes.h"
  35. #endif
  36.  
  37. //=====================================================================================
  38. // Classes defined in this interface
  39. //=====================================================================================
  40.  
  41. class XMPFocusModule;
  42.  
  43. //=====================================================================================
  44. // Classes used by this interface
  45. //=====================================================================================
  46.  
  47. class XMPSession;
  48. class XMPFrame;
  49. class XMPFocusOwnerIterator;
  50.  
  51. //=====================================================================================
  52. // Class XMPFocusModule
  53. //=====================================================================================
  54.  
  55. class XMPFocusModule
  56. {
  57. public:
  58.  
  59.     XMPFocusModule();
  60.     
  61.     XMPVMethod ~XMPFocusModule();
  62.     
  63.     XMPNVMethod void InitFocusModule(XMPSession* session);
  64.     
  65.     XMPVMethod XMPBoolean IsFocusExclusive(XMPTypeToken focus)
  66.         = 0;
  67.     
  68.     XMPVMethod void SetFocusOwnership(XMPTypeToken focus, XMPFrame* frame)
  69.         = 0;
  70.  
  71.     XMPVMethod void UnsetFocusOwnership(XMPTypeToken focus, XMPFrame* frame)
  72.         = 0;
  73.     
  74.     XMPVMethod XMPFrame* GetFocusOwner(XMPTypeToken focus)
  75.         = 0;
  76.     
  77.     XMPVMethod XMPFocusOwnerIterator* CreateOwnerIterator(XMPTypeToken focus)
  78.         = 0;    
  79.  
  80. public: // Private to UI subsystem
  81.  
  82.     XMPMethod XMPBoolean BeginRelinquishFocus(XMPTypeToken focus, 
  83.                                                 XMPFrame* requestingFrame);
  84.                              
  85.     XMPMethod void CommitRelinquishFocus(XMPTypeToken focus,
  86.                                             XMPFrame* requestingFrame);
  87.                              
  88.     XMPMethod void AbortRelinquishFocus(XMPTypeToken focus,
  89.                                           XMPFrame* requestingFrame);
  90.  
  91. protected:
  92.  
  93.     XMPSession* fSession;    // Access to globals
  94. };
  95.  
  96. #endif // _FOCUSMOD_
  97.