/****************************************************************************
** Interface definition generated for ActiveQt project
**
**     'C:\Qt\4.7.0\examples\activeqt\comapp\debug\comapp.exe'
**
** Created:  ven. 1. oct. 10:21:52 2010
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/

import "ocidl.idl";
#include <olectl.h>

[
	uuid(EDD3E836-F537-4C6F-BE7D-6014C155CC7A),
	version(1.0),
	helpstring("comapp 1.0 Type Library")
]
library comappLib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	/************************************************************************
	** If this causes a compile error in MIDL you need to upgrade the
	** Platform SDK you are using. Download the SDK from msdn.microsoft.com
	** and make sure that both the system and the Visual Studio environment
	** use the correct files.
	**
	************************************************************************/

	[uuid(34030f30-e359-4fe6-ab82-39766f5d91ee)]
	struct QRect {
		int left;
		int top;
		int right;
		int bottom;
	};

	[uuid(cb5f84b3-29e5-491d-ba18-5472488eefba)]
	struct QSize {
		int width;
		int height;
	};

	[uuid(3be838a3-3fac-bfc4-4c6c-37c44d030252)]
	struct QPoint {
		int x;
		int y;
	};

	/* Forward declaration of classes that might be used as parameters */

	coclass Application;
	coclass Document;
	coclass DocumentList;

	enum MousePointer {
		ArrowCursor             = 0,
		UpArrowCursor           = 1,
		CrossCursor             = 2,
		WaitCursor              = 3,
		IBeamCursor             = 4,
		SizeVerCursor           = 5,
		SizeHorCursor           = 6,
		SizeBDiagCursor         = 7,
		SizeFDiagCursor         = 8,
		SizeAllCursor           = 9,
		BlankCursor             = 10,
		SplitVCursor            = 11,
		SplitHCursor            = 12,
		PointingHandCursor      = 13,
		ForbiddenCursor         = 14,
		WhatsThisCursor         = 15,
		BusyCursor	= 16
	};

	enum FocusPolicy {
		NoFocus             = 0,
		TabFocus            = 1,
		ClickFocus          = 2,
		StrongFocus         = 11,
		WheelFocus          = 15
	};


	[
		uuid(2CE1761E-07A3-415C-BD11-0EAB2C7283DE),
		helpstring("Document Interface")
	]
	dispinterface IDocument
	{
	properties:
		[id(1), readonly] Application* application;
		[id(2)] BSTR title;

	methods:
	};

	[
		aggregatable,
		helpstring("Document Class"),
		uuid(2B5775CD-72C2-43DA-BC3B-B0E8D1E1C4F7), 
		noncreatable
	]
	coclass Document
	{
		[default] dispinterface IDocument;
	};

	[
		uuid(6C9E30E8-3FF6-4E6A-9EDC-D219D074A148),
		helpstring("DocumentList Interface")
	]
	dispinterface IDocumentList
	{
	properties:
		[id(1), readonly] Application* application;
		[id(2), readonly] int count;

	methods:
		[id(3)] Document* addDocument();
		[id(4)] Document* item([in] int p_index);
	};

	[
		aggregatable,
		helpstring("DocumentList Class"),
		uuid(496B761D-924B-4554-A18A-8F3704D2A9A6), 
		noncreatable
	]
	coclass DocumentList
	{
		[default] dispinterface IDocumentList;
	};


	[
		uuid(4A427759-16EF-4ED8-BE79-59FFE5789042),
		helpstring("Application Interface")
	]
	dispinterface IApplication
	{
	properties:
		[id(1), readonly] DocumentList* documents;
		[id(2), readonly] BSTR id;
		[id(3)] VARIANT_BOOL visible;

	methods:
		[id(4)] void quit();
	};

	[
		aggregatable,
		appobject,
		helpstring("Application Class"),
		uuid(B50A71DB-C4A7-4551-8D14-49983566AFEE)
	]
	coclass Application
	{
		[default] dispinterface IApplication;
	};
};
