// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'AHMTAppStarter.pas' rev: 3.00

#ifndef AHMTAppStarterHPP
#define AHMTAppStarterHPP
#include <ShellAPI.hpp>
#include <AHMSystemClass.hpp>
#include <AHMSystemConst.hpp>
#include <Dialogs.hpp>
#include <Forms.hpp>
#include <Controls.hpp>
#include <Graphics.hpp>
#include <Classes.hpp>
#include <SysUtils.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysInit.hpp>
#include <System.hpp>

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

namespace Ahmtappstarter
{
//-- type declarations -------------------------------------------------------
enum TAHMExeStyle { osDefault, osOpen, osPrint, osExplore, osNew, osInstall, osEdit, osFind, osTest, 
	osConfigure, osPlay };

class DELPHICLASS TAHMStartableItem;
class DELPHICLASS TAHMAppStarter;
class DELPHICLASS TAHMStartItems;
class PASCALIMPLEMENTATION TAHMStartItems : public Classes::TCollection 
{
	typedef Classes::TCollection inherited;
	
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);
	bool __fastcall Delete(int Index);
	__property TAHMAppStarter* Owner = {read=FAHMAppStarter};
	__property TAHMStartableItem* Items[int Index] = {read=GetAHMStartableItem, write=SetAHMStartableItem
		/*, default*/};
public:
	/* TCollection.Destroy */ __fastcall virtual ~TAHMStartItems(void) { }
	
};

class PASCALIMPLEMENTATION TAHMAppStarter : public Ahmsystemclass::TAHMSystemsComponent 
{
	typedef Ahmsystemclass::TAHMSystemsComponent 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;
	System::AnsiString FFilename;
	System::AnsiString FExePath;
	System::AnsiString FExeParameters;
	TWindowState FWindowstate;
	TAHMExeStyle FExeStyle;
	System::AnsiString FExeStyleString;
	Word FMode;
	bool FWait;
	void __fastcall SetWindowstate(Forms::TWindowState Value);
	void __fastcall SetExeStyle(TAHMExeStyle Value);
	
protected:
	virtual System::AnsiString __fastcall GetDisplayName(void);
	
public:
	__fastcall virtual TAHMStartableItem(Classes::TCollection* Collection);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	__property TAHMAppStarter* Owner = {read=FAHMAppStarter};
	__property System::AnsiString DisplayName = {read=GetDisplayName};
	bool __fastcall Execute(void);
	
__published:
	__property System::AnsiString ExeFile = {read=FFilename, write=FFilename};
	__property System::AnsiString Parameters = {read=FExeParameters, write=FExeParameters};
	__property TAHMExeStyle Style = {read=FExeStyle, write=SetExeStyle, default=0};
	__property System::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:
		
	/* TCollectionItem.Destroy */ __fastcall virtual ~TAHMStartableItem(void) { }
	
};

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

}	/* namespace Ahmtappstarter */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Ahmtappstarter;
#endif
//-- end unit ----------------------------------------------------------------
#endif	// AHMTAppStarter
