// DecalControls.idl : IDL source for DecalControls.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (DecalControls.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";

import "..\Inject\Inject.idl";

interface IListColumn;

enum eBorderEdge
{
	eEdgeLeft,
	eEdgeTop,
	eEdgeRight,
	eEdgeBottom
};

	[
		object,
		uuid(24CFCE12-88A0-437A-89E6-31982EA92899),
		helpstring("IScroller Interface"),
		pointer_default(unique)
	]
	interface IScroller : IControl
	{
		[propget, helpstring("property Viewport")] HRESULT Viewport([out, retval] LPSIZE pVal);
		[propget, helpstring("property Area")] HRESULT Area([out, retval] LPSIZE pVal);
		[propput, helpstring("property Area")] HRESULT Area([in] LPSIZE newVal);
		[propget, helpstring("property HorizontalEnabled")] HRESULT HorizontalEnabled([out, retval] VARIANT_BOOL *pVal);
		[propput, helpstring("property HorizontalEnabled")] HRESULT HorizontalEnabled([in] VARIANT_BOOL newVal);
		[propget, helpstring("property VerticalEnabled")] HRESULT VerticalEnabled([out, retval] VARIANT_BOOL *pVal);
		[propput, helpstring("property VerticalEnabled")] HRESULT VerticalEnabled([in] VARIANT_BOOL newVal);
		[helpstring("method CreateClient")] HRESULT CreateClient(ILayer *pChild);
		[propget, helpstring("property Offset")] HRESULT Offset([out, retval] LPPOINT pVal);
		[propput, helpstring("property Offset")] HRESULT Offset([in] LPPOINT newVal);
		[helpstring("method ScrollTo")] HRESULT ScrollTo(LPPOINT ptOffset);
		[propget, helpstring("property Increments")] HRESULT Increments([out, retval] LPSIZE pVal);
		[propput, helpstring("property Increments")] HRESULT Increments([in] LPSIZE newVal);
		[helpstring("method ResetScroller")] HRESULT ResetScroller();
	};

	[
		uuid(DEE67370-16C9-4f81-80CC-1F1B61112299),
		helpstring("IScrollerEvents Interface")
	]
	dispinterface IScrollerEvents
	{
	properties:
	methods:
		[id(1), helpstring("This control is about to be destroyed, release any references to this object.")] void Destroy(long nID);
		[id(6), helpstring("method ScrollChange")] HRESULT Change(long nID, long nX, long nY);
	};

	[
		object,
		uuid(A54D70F6-8CFE-4259-9F16-AF0111541278),
		dual,
		helpstring("IList Interface"),
		pointer_default(unique)
	]
	interface IListDisp : IControl
	{
		[id(101), helpstring("method AddRow")] HRESULT AddRow([out, retval] long *pnNewIndex);
		[id(102), helpstring("method DeleteRow")] HRESULT DeleteRow(long nIndex);
		[id(103), propget, helpstring("property Data")] HRESULT Data(long nX, long nY, [defaultvalue(0)] long nSubValue, [out, retval] VARIANT* pVal);
		[id(103), propput, helpstring("property Data")] HRESULT Data(long nX, long nY, [defaultvalue(0)] long nSubValue, [in] VARIANT* newVal);
		[id(104), propput, helpstring("property RowEstimate")] HRESULT RowEstimate([in] long newVal);
		[propget, id(105), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);		
		[id(106), helpstring("method Clear")] HRESULT Clear();
		[id(107), helpstring("method InsertRow")] HRESULT InsertRow(long lIndex);
		[id(108), propget, helpstring("method GetColumnWidth")] HRESULT ColumnWidth(long nColumn, [out, retval] long *nWidth);
		[id(108), propput, helpstring("method SetColumnWidth")] HRESULT ColumnWidth(long nColumn, long nWidth);
		[propget, id(109), helpstring("property Color")] HRESULT Color(long nX, long nY, [out, retval] long *pVal);
		[propput, id(109), helpstring("property Color")] HRESULT Color(long nX, long nY, [in] long newVal);
		[propget, id(110), helpstring("property AutoScroll")] HRESULT AutoScroll([out, retval] VARIANT_BOOL *pVal);
		[propput, id(110), helpstring("property AutoScroll")] HRESULT AutoScroll([in] VARIANT_BOOL newVal);
		[propget, id(111), helpstring("property ScrollPosition")] HRESULT ScrollPosition([out, retval] long *pVal);
		[propput, id(111), helpstring("property ScrollPosition")] HRESULT ScrollPosition([in] long newVal);
		[id(112), helpstring("method JumpToPosition")] HRESULT JumpToPosition(long newVal);
		[propget, id(113), helpstring("property CountCols")] HRESULT CountCols([out, retval] long *pVal);
	};

	[
		object,
		uuid(D648F00A-FE27-4E88-895B-72F58AF50C0C),
		helpstring("IList Interface"),
		pointer_default(unique)
	]
	interface IList : IListDisp
	{
		[helpstring("method AddColumn")] HRESULT AddColumn(IListColumn *pNewColumn, [out, retval] long *nIndex);
		[propget, helpstring("property CellRect")] HRESULT CellRect(LPPOINT pt, [out, retval] LPRECT pVal);
	};

	[
		uuid(88456660-8132-433b-A4CD-E252BDF147C5),
		helpstring("IListEvents Interface")
	]
	dispinterface IListEvents
	{
	properties:
	methods:
		[id(1), helpstring("This control is about to be destroyed, release any references to this object.")] void Destroy(long nID);
		[id(6), helpstring("method ListDataChange")] void Change(long nID, long nX, long nY);
	};

	[
		object,
		uuid(E28573F0-36FC-4D64-B8E1-60A2D475A2A8),
		helpstring("IListColumn Interface"),
		pointer_default(unique)
	]
	interface IListColumn : IUnknown
	{
		[propget, helpstring("property FixedWidth")] HRESULT FixedWidth([out, retval] VARIANT_BOOL *pVal);
		[propget, helpstring("property Width")] HRESULT Width([out, retval] long *pVal);
		[helpstring("method Render")] HRESULT Render(ICanvas *, LPPOINT ptCell, long nColor);
		[propget, helpstring("property DataColumns")] HRESULT DataColumns([out, retval] long *pVal);
		[helpstring("property List")] HRESULT Initialize([in] IList * newVal, [in] IPluginSite *pSite);
		[helpstring("method SchemaLoad")] HRESULT SchemaLoad(IUnknown *pSchema);
		[propget, helpstring("property Height")] HRESULT Height([out, retval] long *pVal);
		[helpstring("method Activate")] HRESULT Activate(LPPOINT ptCell);
		[propput, helpstring("property Width")] HRESULT Width(long newVal);
	};

	[
		object,
		uuid(1A11BEA0-A0ED-41C1-9057-46084DE9AEDC),
		helpstring("IListView Interface"),
		pointer_default(unique)
	]
	interface IListView : IUnknown
	{
		[propput, helpstring("property Area")] HRESULT Area([in] LPSIZE newVal);
		[helpstring("method SetCacheInfo")] HRESULT SetCacheInfo(long nRowHeight, long nRowsToCache);
		[helpstring("method InvalidateFrom")] HRESULT InvalidateFrom(long nRow);
		[propget, helpstring("property Color")] HRESULT Color(long nCol, long nRow, [out, retval] long *pVal);
		[propput, helpstring("property Color")] HRESULT Color(long nCol, long nRow, [in] long newVal);
	};

	[
		object,
		uuid(78B62B0F-B3A4-47FF-A9A4-C68CA3FA80B6),
		dual,
		helpstring("INotebook Interface"),
		pointer_default(unique)
	]
	interface INotebook : IControl
	{
		[id(101), helpstring("method AddPage")] HRESULT AddPage(BSTR strText, IControl *pClient);
		[id(102), propget, helpstring("property ActiveTab")] HRESULT ActiveTab([out, retval] long *pVal);
		[id(102), propput, helpstring("property ActiveTab")] HRESULT ActiveTab([in] long newVal);
		[id(103), propget, helpstring("property PageText")] HRESULT PageText(long nIndex, [out, retval] BSTR *pVal);
		[id(103), propput, helpstring("property PageText")] HRESULT PageText(long nIndex, [in] BSTR newVal);
	};

	[
		uuid(C964E99A-7C1C-46e9-AEA6-09FF5D1BFDD0),
		helpstring("INotebookEvents Interface")
	]
	dispinterface INotebookEvents
	{
	properties:
	methods:
		[id(1), helpstring("This control is about to be destroyed, release any references to this object.")] void Destroy(long nID);
		[id(6), helpstring("method NotebookPageChange")] HRESULT Change(long nID, long nNewPage);
	};

	[
		object,
		uuid(D7EA9129-E36A-4317-BF24-76DA5967DA75),
		dual,
		helpstring("IEdit Interface"),
		pointer_default(unique)
	]
	interface IEdit : IControl
	{
		[id(101), propget, helpstring("property Text")] HRESULT Text([out, retval] BSTR *pVal);
		[id(101), propput, helpstring("property Text")] HRESULT Text([in] BSTR newVal);
		[id(102), propget, helpstring("property Caret")] HRESULT Caret([out, retval] long *pVal);
		[id(102), propput, helpstring("property Caret")] HRESULT Caret([in] long newVal);
		[id(103), helpstring("method Select")] HRESULT Select(long nStart, long nEnd);
		[id(104), propget, helpstring("property SelectedText")] HRESULT SelectedText([out, retval] BSTR *pVal);
		[id(104), propput, helpstring("property SelectedText")] HRESULT SelectedText([in] BSTR newVal);
		[id(105), propget, helpstring("property Background")] HRESULT Background([out, retval] IImageCacheDisp * *pVal);
		[id(105), propputref, helpstring("property Background")] HRESULT Background([in] IImageCacheDisp * newVal);
		[id(106), propget, helpstring("property Font")] HRESULT Font([out, retval] IFontCacheDisp * *pVal);
		[id(106), propputref, helpstring("property Font")] HRESULT Font([in] IFontCacheDisp * newVal);
		[id(107), propget, helpstring("property TextColor")] HRESULT TextColor([out, retval] long *pVal);
		[id(107), propput, helpstring("property TextColor")] HRESULT TextColor([in] long newVal);
		[id(108), helpstring("property Margins")] HRESULT SetMargins(long nX, long nY);
		[id(109), helpstring("method Capture")] HRESULT Capture();
	};

	[
		uuid(4A3E384D-39A5-4bc2-A548-66634C8FACCE),
		helpstring("IEditEvents Interface")
	]
	dispinterface IEditEvents
	{
	properties:
	methods:
		[id(1), helpstring("This control is about to be destroyed, release any references to this object")] void Destroy(long nID);
		[id(10), helpstring("method EditBegin")] void Begin(long nID);
		[id(6), helpstring("method EditChange")] void Change(long nID, BSTR strText);
		[id(11), helpstring("method EditEnd")] void End(long nID, VARIANT_BOOL bSuccess);
	};

	[
		object,
		uuid(6450E486-03E6-493c-9D3B-9B36A5F50E65),
		dual,
		helpstring("Base interface for layout classes"),
		pointer_default(unique)
	]
	interface ILayout : IControl
	{
		[id(101), propget, helpstring("property Background")] HRESULT Background([out, retval] IImageCacheDisp * *pVal);
		[id(101), propputref, helpstring("property Background")] HRESULT Background([in] IImageCacheDisp * newVal);
	};

	[
		object,
		uuid(58CBF550-DFBE-433C-88EC-3FED4A5E09F1),
		helpstring("IClient Interface"),
		pointer_default(unique)
	]
	interface IFixedLayout : ILayout
	{
		[helpstring("method CreateChild")] HRESULT CreateChild(struct LayerParams *params, ILayer *pSink);
		[helpstring("method PositionChild")] HRESULT PositionChild(long nID, LPRECT prcNew);
	};

	[
		object,
		uuid(BD2B37B8-80DE-4F50-ACF8-ED2525B27336),
		dual,
		helpstring("IChoice Interface"),
		pointer_default(unique)
	]
	interface IChoice : IControl
	{
		[id(101), helpstring("method AddChoice")] HRESULT AddChoice(BSTR strDisplay, [optional] VARIANT vData);
		[id(102), propget, helpstring("property ChoiceCount")] HRESULT ChoiceCount([out, retval] long *pVal);
		[id(103), propget, helpstring("property Data")] HRESULT Data(long nIndex, [out, retval] VARIANT *pVal);
		[id(103), propput, helpstring("property Data")] HRESULT Data(long nIndex, [in] VARIANT newVal);
		[id(104), propget, helpstring("property Text")] HRESULT Text(long nIndex, [out, retval] BSTR *pVal);
		[id(104), propput, helpstring("property Text")] HRESULT Text(long nIndex, [in] BSTR newVal);
		[id(105), helpstring("method RemoveChoice")] HRESULT RemoveChoice(long nIndex);
		[id(106), propget, helpstring("property Dropped")] HRESULT Dropped([out, retval] VARIANT_BOOL *pVal);
		[id(106), propput, helpstring("property Dropped")] HRESULT Dropped([in] VARIANT_BOOL newVal);
		[id(107), propget, helpstring("property Selected")] HRESULT Selected([out, retval] long *pVal);
		[id(107), propput, helpstring("property Selected")] HRESULT Selected([in] long newVal);
		[id(108), propget, helpstring("property DropLines")] HRESULT DropLines([out, retval] long *pVal);
		[id(108), propput, helpstring("property DropLines")] HRESULT DropLines([in] long newVal);
		[id(109), helpstring("method Clear")] HRESULT Clear();
	};

	[
		uuid(763E36A3-389C-42eb-A5F3-C208D028F9AB),
		helpstring("IChoiceEvents Interface")
	]
	dispinterface IChoiceEvents
	{
	properties:
	methods:
		[id(1), helpstring("This control is about to be destroyed, release any references to this object")] void Destroy(long nID);
		[id(6), helpstring("Sent when the user changes the selection")] void Change(long nID, long nIndex);
		[id(12), helpstring("Sent before drop down - you can add items at this point")] void DropDown(long nID);
	};

	[
		object,
		uuid(B40F3CEA-5DAD-413A-B779-D6FCB0663B7D),
		helpstring("IChoicePopup Interface"),
		pointer_default(unique)
	]
	interface IChoicePopup : IUnknown
	{
	};

	[
		object,
		uuid(CF0438EB-8299-48E8-B766-9E9BDDA50203),
		helpstring("IBorderLayout Interface"),
		pointer_default(unique)
	]
	interface IBorderLayout : ILayout
	{
		[helpstring("method CreateEdge")] HRESULT CreateEdge(enum eBorderEdge eEdge, long nSize, ILayer *pSink);
		[helpstring("method CreateCenter")] HRESULT CreateCenter(ILayer *pSink);
	};

	[
		object,
		uuid(1E39FB9E-2C07-4287-B2D7-58EE0BFC9BBB),
		dual,
		helpstring("IPageLayout Interface"),
		pointer_default(unique)
	]
	interface IPageLayoutDisp : ILayout
	{
		[id(201), propget, helpstring("property Active")] HRESULT Active([out, retval] long *pVal);
		[id(201), propput, helpstring("property Active")] HRESULT Active([in] long newVal);
		[id(202), propget, helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
	};

	[
		object,
		uuid(2DF39739-2EFC-4F67-B3AC-712D774B57A9),
		helpstring("IPageLayout Interface"),
		pointer_default(unique)
	]
	interface IPageLayout : IPageLayoutDisp
	{
		[helpstring("method CreatePage")] HRESULT CreatePage(ILayer *pChild);
	};

	[
		object,
		uuid(AAAB9EEA-06E8-4F0A-A926-3A9AB45939FF),
		dual,
		helpstring("IPushButton Interface"),
		pointer_default(unique)
	]
	interface IPushButton : IControl
	{
		[id(101), propget, helpstring("property Image")] HRESULT Image([out, retval] IImageCacheDisp * *pVal);
		[id(101), propputref, helpstring("property Image")] HRESULT Image([in] IImageCacheDisp * newVal);
		[id(102), propget, helpstring("property Font")] HRESULT Font([out, retval] IFontCacheDisp * *pVal);
		[id(102), propputref, helpstring("property Font")] HRESULT Font([in] IFontCacheDisp * newVal);
		[id(103), propget, helpstring("property Text")] HRESULT Text([out, retval] BSTR *pVal);
		[id(103), propput, helpstring("property Text")] HRESULT Text([in] BSTR newVal);
		[id(104), propget, helpstring("property FaceColor")] HRESULT FaceColor([out, retval] long *pVal);
		[id(104), propput, helpstring("property FaceColor")] HRESULT FaceColor([in] long newVal);
		[id(105), propget, helpstring("property TextColor")] HRESULT TextColor([out, retval] long *pVal);
		[id(105), propput, helpstring("property TextColor")] HRESULT TextColor([in] long newVal);
	};

	[
		object,
		uuid(93C28CFF-DCF4-4B63-AB00-A89453940CFE),
		dual,
		helpstring("IStatic Interface"),
		pointer_default(unique)
	]
	interface IStatic : IControl
	{
		[id(101), propget, helpstring("property Font")] HRESULT Font([out, retval] IFontCacheDisp * *pVal);
		[id(101), propputref, helpstring("property Font")] HRESULT Font([in] IFontCacheDisp * newVal);
		[id(102), propget, helpstring("property Text")] HRESULT Text([out, retval] BSTR *pVal);
		[id(102), propput, helpstring("property Text")] HRESULT Text([in] BSTR newVal);
		[id(103), propget, helpstring("property TextColor")] HRESULT TextColor([out, retval] long *pVal);
		[id(103), propput, helpstring("property TextColor")] HRESULT TextColor([in] long newVal);
	};

	[
		object,
		uuid(63D0BB56-1552-4F8C-99CC-52006DD47E9E),	
		dual,
		helpstring("ICheckbox Interface"),
		pointer_default(unique)
	]
	interface ICheckbox : IControl
	{
		[id(101), propget, helpstring("property Font")] HRESULT Font([out, retval] IFontCacheDisp * *pVal);
		[id(101), propputref, helpstring("property Font")] HRESULT Font([in] IFontCacheDisp * newVal);
		[id(102), propget, helpstring("property Text")] HRESULT Text([out, retval] BSTR *pVal);
		[id(102), propput, helpstring("property Text")] HRESULT Text([in] BSTR newVal);
		[id(103), propget, helpstring("property TextColor")] HRESULT TextColor([out, retval] long *pVal);
		[id(103), propput, helpstring("property TextColor")] HRESULT TextColor([in] long newVal);
		[id(104), propget, helpstring("property Checked")] HRESULT Checked([out, retval] VARIANT_BOOL *pVal);
		[id(104), propput, helpstring("property Checked")] HRESULT Checked([in] VARIANT_BOOL newVal);
		[id(105), propget, helpstring("property RightToLeft")] HRESULT RightToLeft([out, retval] VARIANT_BOOL *pVal);
		[id(105), propput, helpstring("property RightToLeft")] HRESULT RightToLeft([in] VARIANT_BOOL newVal);
	};

	[
		uuid(D56CB28A-9BAD-40b1-A011-70F466DC8F05),	
		helpstring("ICheckboxEvents Interface")
	]
	dispinterface ICheckboxEvents
	{
	properties:
	methods:
		[id(1), helpstring("This control is about to be destroyed, release any references to this object")] void Destroy(long nID);
		[id(6), helpstring("method CheckboxToggle")] void Change(long nID, VARIANT_BOOL bChecked);
	};

	[
		object,
		uuid(10D12549-8F59-4f06-83FB-D08FB76337F3),	
		dual,
		helpstring("ISlider Interface"),
		pointer_default(unique)
	]
	interface ISlider : IControl
	{
		[id(101), propget, helpstring("property Font")] HRESULT Font([out, retval] IFontCacheDisp * *pVal);
		[id(101), propputref, helpstring("property Font")] HRESULT Font([in] IFontCacheDisp * newVal);
		[id(103), propget, helpstring("property TextColor")] HRESULT TextColor([out, retval] long *pVal);
		[id(103), propput, helpstring("property TextColor")] HRESULT TextColor([in] long newVal);
		[id(104), propget, helpstring("property SliderPosition")] HRESULT SliderPosition([out, retval] long *pVal);
		[id(104), propput, helpstring("property SliderPosition")] HRESULT SliderPosition([in] long newVal);
		[id(105), propget, helpstring("property Minimum")] HRESULT Minimum([out, retval] long *pVal);
		[id(105), propput, helpstring("property Minimum")] HRESULT Minimum([in] long newVal);
		[id(106), propget, helpstring("property Maximum")] HRESULT Maximum([out, retval] long *pVal);
		[id(106), propput, helpstring("property Maximum")] HRESULT Maximum([in] long newVal);
	};

	[
		uuid(F881B44D-67FA-4770-B10A-05DA14409E8F),	
		helpstring("ISliderEvents Interface")
	]
	dispinterface ISliderEvents
	{
	properties:
	methods:
		[id(1), helpstring("This control is about to be destroyed, release any references to this object")] void Destroy(long nID);
		[id(6), helpstring("method Change")] void Change(long nID, long lValue);
	};

	[
		object,
		uuid(5BAD2CC0-6F03-4EA9-8D7E-1DFD9D134648),
	
		helpstring("IChoiceDropDown Interface"),
		pointer_default(unique)
	]
	interface IChoiceDropDown : IUnknown
	{
	};
	
	[
		object,
		uuid(D4FBCA22-45B4-4775-A181-1D4EEC3BFEA1),
		helpstring("IDerethMap Interface"),
		pointer_default(unique)
	]
	interface IDerethMap : IControl
	{
	};

	[
		object,
		uuid(2EC89916-3E65-422B-977C-9277BA693E82),
		dual,
		helpstring("IProgress Interface"),
		pointer_default(unique)
	]
	interface IProgress : IControl
	{
		[propget, id(101), helpstring("property Value")] HRESULT Value([out, retval] long *pVal);
		[propput, id(101), helpstring("property Value")] HRESULT Value([in] long newVal);
		[propput, id(102), helpstring("property FaceColor")] HRESULT FaceColor([in] long newVal);
		[propput, id(103), helpstring("property FillColor")] HRESULT FillColor([in] long newVal);
		[propput, id(104), helpstring("property TextColor")] HRESULT TextColor([in] long newVal);
		[propput, id(105), helpstring("property MaxValue")] HRESULT MaxValue([in] long newVal);
		[propput, id(106), helpstring("property PostText")] HRESULT PostText([in] BSTR newVal);
		[propput, id(107), helpstring("property Alignment")] HRESULT Alignment([in] BSTR newVal);
		[propput, id(108), helpstring("property DrawText")] HRESULT DrawText([in] VARIANT_BOOL newVal);
		[propput, id(109), helpstring("property PreText")] HRESULT PreText([in] BSTR newVal);
		[propput, id(110), helpstring("property BorderWidth")] HRESULT BorderWidth([in] long newVal);
		[propput, id(111), helpstring("property BorderColor")] HRESULT BorderColor([in] long newVal);
	};
			
[
	uuid(1C4B007A-04DD-4DF8-BA29-2CFBD0220B89),
	version(1.0),
	helpstring("Decal Controls Type Library")
]
library DecalControls
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	interface ILayout;
	interface IListView;
	interface IChoicePopup;

	dispinterface IListEvents;
	dispinterface IChoiceEvents;
	dispinterface IScrollerEvents;
	dispinterface INotebookEvents;
	dispinterface IEditEvents;
	dispinterface IChoiceEvents;
	dispinterface ICheckboxEvents;
	dispinterface ISliderEvents;

	interface IListDisp;
	interface IPageLayoutDisp;

	[
		uuid(8FC80D21-1731-4816-9AD3-B0364D5F2C27),
		helpstring("Scroller Class")
	]
	coclass Scroller
	{
		[default] interface IControl;
		[default, source] interface IScrollerEvents;
	};

	[
		uuid(3839008F-AF5B-43FC-9F6A-3376B99E3DAF),
		helpstring("List Class")
	]
	coclass List
	{
		[default] interface IListDisp;
		[default, source] interface IListEvents;
	};

	[
		uuid(864DEABF-D079-4B61-A8CF-081418179239),
		helpstring("TextColumn Class")
	]
	coclass TextColumn
	{
		[default] interface IListColumn;
	};

	[
		uuid(F12A2C4C-3B78-46EB-8722-68B27A75AE55),
		helpstring("IconColumn Class")
	]
	coclass IconColumn
	{
		[default] interface IListColumn;
	};

	[
		uuid(48E444F1-8E30-4E4C-B203-4C87FC901586),
		helpstring("CheckColumn Class")
	]
	coclass CheckColumn
	{
		[default] interface IListColumn;
	};

	[
		uuid(ED14E7C5-11BE-4DFD-9829-873AB6BE3CFC),
		helpstring("Notebook Class")
	]
	coclass Notebook
	{
		[default] interface INotebook;
		[default, source] interface INotebookEvents;
	};

	[
		uuid(8E8F88D2-AA47-474E-9DB7-912D49C8BE9D),
		helpstring("Edit Class")
	]
	coclass Edit
	{
		[default] interface IEdit;
		[default, source] interface IEditEvents;
	};

	[
		uuid(E099DC60-0F19-4690-AB7C-8B5834DA286E),
		helpstring("Choice Class")
	]
	coclass Choice
	{
		[default] interface IChoice;
		[default, source] interface IChoiceEvents;
	};

	[
		uuid(CD6556CD-F8D9-4CB0-AB7C-7C33058294E4),
		helpstring("FixedLayout Class")
	]
	coclass FixedLayout
	{
		[default] interface ILayout;
		[default, source] interface IControlEvents;
	};

	[
		uuid(CA121762-31BB-4073-8597-33BAB4BDCAA3),
		helpstring("BorderLayout Class")
	]
	coclass BorderLayout
	{
		[default] interface ILayout;
		[default, source] interface IControlEvents;
	};

	[
		uuid(5AD04D45-D4BF-4729-8A2E-5D37CF726CAA),
		helpstring("PageLayout Class")
	]
	coclass PageLayout
	{
		[default] interface IPageLayoutDisp;
		[default, source] interface IControlEvents;
	};

	[
		uuid(AE4525BE-81D1-40FB-9170-77172077EB49),
		helpstring("PushButton Class")
	]
	coclass PushButton
	{
		[default] interface IPushButton;
		[default, source] interface ICommandEvents;
	};

	[
		uuid(4887101C-A9F9-495B-921B-EF22822CFB97),
		helpstring("Static Class")
	]
	coclass StaticText
	{
		[default] interface IStatic;
		[default, source] interface IControlEvents;
	};

	[
		uuid(5AE37451-F79C-478A-834E-EDCF95F01B0E),
		helpstring("Checkbox Class")
	]
	coclass Checkbox
	{
		[default] interface ICheckbox;
		[default, source] interface ICheckboxEvents;
	};

	[
		uuid(5D14557A-1268-43c6-A283-3B5B271359AA),
		helpstring("Slider Class")
	]
	coclass Slider
	{
		[default] interface ISlider;
		[default, source] interface ISliderEvents;
	};
	
	[
		uuid(3035299A-C5FB-4CC7-A63C-66400B80DCA4),
		helpstring("DerethMap Class")
	]
	coclass DerethMap
	{
		[default] interface IDerethMap;
		[default, source] interface ICommandEvents;
	};

	[
		uuid(FE361225-6BB7-4AE0-A10C-8A6420621680),
		helpstring("Progress Class")
	]
	coclass Progress
	{
		[default] interface IProgress;
		[default, source] interface IControlEvents;
	};
};
