#ifdef __PRIVATE__
//#
//#	File:		MenuBar.idl
//#
//#	Contains:	Class definition for ODBaseWindow
//#
//#	Written by:	Richard Rodseth
//#
//#	Copyright:	c 1994 by Apple Computer, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#		 <4>	 8/15/94	JBS		1181138: add frameType to CreateFrame();
//#									1181156: UI API Cleanup
//#		 <3>	 6/28/94	RR		Added override of Release
//#		 <2>	 6/16/94	RR		Added function prefix
//#		 <1>	  6/8/94	RR		first checked in
//#		 <1>	  6/8/94	RR		first checked in
//#		 <5>	  6/7/94	RR		Privatise change log
//#		 <1>	  5/9/94	VL		first checked in
//#
//#	To Do:
//#
#else
//#	Copyright:	c 1993-1994 by Apple Computer, Inc., all rights reserved.
#endif

#ifndef _WINDOWB_
#define _WINDOWB_

#ifndef _REFCTOBJ_
#include "RefCtObj.idl"
#endif

//=====================================================================================
// Constants
//=====================================================================================

#define kODNoWindowID 0L

//=====================================================================================
// Classes defined in this interface
//=====================================================================================

interface  ODBaseWindow;

//=====================================================================================
// Classes used by this interface
//=====================================================================================

interface  ODFacet;
interface  ODFrame;
interface  ODPart;
interface  ODStorageUnit;
interface  ODSession;
interface  ODArbitrator;
interface  ODDraft;

//=====================================================================================
// ODBaseWindow
//=====================================================================================

interface ODBaseWindow :  ODRefCntObject
{
	ODPlatformWindow GetPlatformWindow();
  
	ODFrame   GetSourceFrame();
  
 	ODFrame   GetRootFrame();
  
   	ODFacet  GetFacetUnderPoint(in ODPoint aPoint);
  
   	ODBoolean IsActive();
  
   	void Open();
  
   	void Close();
  
   	void CloseAndRemove();
  
   	void Show();
  
   	void Hide();
  
   	ODBoolean IsShown();
    
   	ODBoolean IsResizable();
  
   	ODBoolean IsRootWindow();

   	ODBoolean ShouldSave();
    
   	void SetShouldSave(in ODBoolean shouldSave);
    
   	ODBoolean ShouldShowLinks();
    
   	void SetShouldShowLinks(in ODBoolean shouldShowLinks);

	void AdjustWindowShape();
	
	ODID  GetID();
	
	ODBoolean  IsFloating();
	
	ODFacet  GetRootFacet();

#ifdef __PRIVATE__
	void InitBaseWindow();
#endif

#ifdef __SOMIDL__
	implementation
	{
  		functionprefix = ODBaseWindow;

		override:
			somInit,
			somUninit,
			Release,
			Purge;
			
		releaseorder:
			GetPlatformWindow,
			GetSourceFrame,
			GetRootFrame,
			GetFacetUnderPoint,
			IsActive,
			Open,
			Close,
			CloseAndRemove,
			Show,
			Hide,
			IsShown,
			IsResizable,
			IsRootWindow,
			ShouldSave,
			SetShouldSave,
			ShouldShowLinks,
			SetShouldShowLinks,
			AdjustWindowShape,
			GetID,
			IsFloating,
			GetRootFacet,
		#ifdef __PRIVATE__
			InitBaseWindow;
		#else
			reserved1;
		#endif

		majorversion = 1; minorversion = 0;
		
  };
#endif
};

#endif //# _WINDOWB_
