// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'ahmtappstarter.pas' rev: 6.00

#ifndef ahmtappstarterHPP
#define ahmtappstarterHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <ShellAPI.hpp>	// Pascal unit
#include <ahmsystemclass.hpp>	// Pascal unit
#include <ahmsystemconst.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Ahmtappstarter
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TAHMExeStyle { osDefault, osOpen, osPrint, osExplore, osNew, osInstall, osEdit, osFind, osTest, osConfigure, osPlay };
#pragma option pop

class DELPHICLASS TAHMStartableItem;
class DELPHICLASS TAHMAppStarter;
class DELPHICLASS TAHMStartItems;
class PASCALIMPLEMENTATION TAHMStartItems : public Ahmsystemclass::TAHMCollection 
{
	typedef Ahmsystemclass::TAHMCollection inherited;
	
public:
	TAHMStartableItem* operator[](int Index) { return Items[Index]; }
	
private:
	TAHMAppStarter* FAHMAppStarter;
	TAHMStartableItem* __fastcall GetAHMStartableItem(int Index);
	void __fastcall SetAHMStartableItem(int Index, TAHMStartableItem* Value);
	
protected:
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	
public:
	__fastcall TAHMStartItems(TAHMAppStarter* AOwner);
	HIDESBASE TAHMStartableItem* __fastcall Add(void);
	HIDESBASE bool __fastcall Delete(int Index);
	__property TAHMStartableItem* Items[int Index] = {read=GetAHMStartableItem, write=SetAHMStartableItem/*, default*/};
public:
	#pragma option push -w-inl
	/* TCollection.Destroy */ inline __fastcall virtual ~TAHMStartItems(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TAHMAppStarter : public Ahmsystemclass::TAHMSystemComponent 
{
	typedef Ahmsystemclass::TAHMSystemComponent inherited;
	
private:
	TAHMStartItems* FAHMStartItems;
	void __fastcall SetAHMStartItems(TAHMStartItems* Value);
	
public:
	__fastcall virtual TAHMAppStarter(Classes::TComponent* AOwner);
	__fastcall virtual ~TAHMAppStarter(void);
	bool __fastcall Execute(int Index);
	
__published:
	__property TAHMStartItems* Programs = {read=FAHMStartItems, write=SetAHMStartItems};
};


class PASCALIMPLEMENTATION TAHMStartableItem : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
private:
	TAHMAppStarter* FAHMAppStarter;
	AnsiString FFilename;
	AnsiString FExePath;
	AnsiString FExeParameters;
	Forms::TWindowState FWindowstate;
	TAHMExeStyle FExeStyle;
	AnsiString FExeStyleString;
	Word FMode;
	bool FWait;
	void __fastcall SetWindowstate(Forms::TWindowState Value);
	void __fastcall SetExeStyle(TAHMExeStyle Value);
	
protected:
	virtual AnsiString __fastcall GetDisplayName();
	
public:
	__fastcall virtual TAHMStartableItem(Classes::TCollection* Collection);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	__property TAHMAppStarter* Owner = {read=FAHMAppStarter};
	__property AnsiString DisplayName = {read=GetDisplayName};
	bool __fastcall Execute(void);
	
__published:
	__property AnsiString ExeFile = {read=FFilename, write=FFilename};
	__property AnsiString Parameters = {read=FExeParameters, write=FExeParameters};
	__property TAHMExeStyle Style = {read=FExeStyle, write=SetExeStyle, default=0};
	__property AnsiString DefaultPath = {read=FExePath, write=FExePath};
	__property bool Wait = {read=FWait, write=FWait, default=0};
	__property Forms::TWindowState Windowstate = {read=FWindowstate, write=SetWindowstate, default=0};
public:
	#pragma option push -w-inl
	/* TCollectionItem.Destroy */ inline __fastcall virtual ~TAHMStartableItem(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Ahmtappstarter */
using namespace Ahmtappstarter;
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// ahmtappstarter
