home *** CD-ROM | disk | FTP | other *** search
- /*
- File: XMPWindow.h
-
- Contains: Interface to XMPAbsWindow class
-
- Written by: Richard Rodseth
-
- Copyright: ⌐ 1993-94 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <20> 2/9/94 NP Tiger Team cleanup.
- <19> 2/7/94 NP Tiger Team doings.
- <18> 2/1/94 CC Added ShouldShowLinks() and
- SetShouldShowLinks().
- <17> 1/12/94 RR Added CloseAndRemove
- <16> 12/20/93 VL XMPWindow is a RefCntObject now.
- <15> 12/14/93 Té InitWindow changes. Internalize,
- Initialize went away.
- <14> 12/8/93 RR Cleanup XMPMethod, includes and forward
- declarations.
- <13> 11/17/93 RR Added ShouldSave accessors
- <12> 11/12/93 JBS use Facets
- <11> 10/21/93 RR Added IsRootWindow()
- <10> 10/6/93 JA Fwd-ref XMPPoint struct since it's not in
- PlfmType.h anymore.
- <9> 9/29/93 VL Added InitializePersistent.
- <8> 9/22/93 RR Added Open() method
- <7> 9/3/93 JBS updated to use new Layout class
- <4> 6/29/93 RCR Separate Abstract/Concrete class
- <3> 5/18/93 RCR Deregister->Unregister
- <2> 4/26/93 RCR Added missing Initialize/Purge
- <1> 4/9/93 RCR First Checked In
-
- To Do:
- */
-
- #ifndef _WINDOW_
- #define _WINDOW_
-
- #ifndef _REFCTOBJ_
- #include "RefCtObj.h"
- #endif
-
- #ifndef _XMPTYPES_
- #include "XMPTypes.h"
- #endif
-
- //=====================================================================================
- // Classes defined in this interface
- //=====================================================================================
-
- class XMPWindow;
-
- //=====================================================================================
- // Classes used by this interface
- //=====================================================================================
-
- class XMPFacet;
- class XMPFrame;
- class XMPStorageUnit;
-
- struct XMPPoint;
-
- //=====================================================================================
- // XMPWindow
- //=====================================================================================
-
- class XMPAbsWindow : public XMPRefCntObject
- {
- public:
-
- XMPAbsWindow(){}
-
- XMPVMethod ~XMPAbsWindow() {}
-
- XMPVMethod XMPSize Purge(XMPSize size)
- = 0;
-
- XMPVMethod XMPPlatformWindow GetPlatformWindow()
- = 0;
-
- XMPVMethod XMPFrame* GetSourceFrame()
- = 0;
-
- XMPVMethod XMPFrame* GetRootFrame()
- = 0;
-
- XMPVMethod XMPFacet* GetFacetUnderPoint(XMPPoint aPoint)
- = 0;
-
- XMPVMethod XMPBoolean IsActive()
- = 0;
-
- XMPVMethod void Open()
- = 0;
-
- XMPVMethod void Close()
- = 0;
-
- XMPVMethod void CloseAndRemove()
- = 0;
-
- XMPVMethod void Show()
- = 0;
-
- XMPVMethod void Hide()
- = 0;
-
- XMPVMethod XMPBoolean IsShown()
- = 0;
-
- XMPVMethod XMPBoolean IsResizable()
- = 0;
-
- XMPVMethod XMPBoolean IsRootWindow()
- = 0;
-
- XMPVMethod XMPBoolean ShouldSave()
- = 0;
-
- XMPVMethod void SetShouldSave(XMPBoolean shouldSave)
- = 0;
-
- XMPVMethod XMPBoolean ShouldShowLinks()
- = 0;
-
- XMPVMethod void SetShouldShowLinks(XMPBoolean shouldShowLinks)
- = 0;
-
- public: // Private by convention
-
- XMPVMethod void HandleActivateEvent(XMPEventData theEvent)
- = 0;
-
- XMPVMethod void HandleUpdateEvent(XMPEventData theEvent)
- = 0;
-
- XMPVMethod void Resized()
- = 0;
- };
-
- #ifdef PLATFORM_MACINTOSH
- #ifndef _WindowM_
- #include "WindowM.h"
- #endif
- #endif
-
- #endif // _WINDOW_
-