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

// (DO NOT EDIT: machine generated header) 'Iwcomplistbox.pas' rev: 10.00

#ifndef IwcomplistboxHPP
#define IwcomplistboxHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Iwvclcomponent.hpp>	// Pascal unit
#include <Iwvclclasses.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Iwhtmltag.hpp>	// Pascal unit
#include <Iwcontrol.hpp>	// Pascal unit
#include <Iwscriptevents.hpp>	// Pascal unit
#include <Iwrendercontext.hpp>	// Pascal unit
#include <Iwbaseinterfaces.hpp>	// Pascal unit
#include <Iwcolor.hpp>	// Pascal unit
#include <Iwfilereference.hpp>	// Pascal unit
#include <Iwglobal.hpp>	// Pascal unit
#include <Iwvclbasecontrol.hpp>	// Pascal unit
#include <Iwbasehtmlcontrol.hpp>	// Pascal unit
#include <Iwbasecontrol.hpp>	// Pascal unit
#include <Iwfont.hpp>	// Pascal unit

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

namespace Iwcomplistbox
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TIWCustomListCombo;
class PASCALIMPLEMENTATION TIWCustomListCombo : public Iwcontrol::TIWCustomControl 
{
	typedef Iwcontrol::TIWCustomControl inherited;
	
private:
	bool FAutoHide;
	Classes::TStringList* FItems;
	
protected:
	Iwcolor::TIWColor FBGColor;
	int FItemIndex;
	bool FItemsHaveValues;
	bool FRequireSelection;
	AnsiString FNoSelectionText;
	Classes::TNotifyEvent FOnChange;
	bool FUseSize;
	bool FRequired;
	Iwcolor::TIWColor FFocusColor;
	virtual void __fastcall InitItems(void);
	void __fastcall SetBGColor(const Iwcolor::TIWColor Value);
	void __fastcall OnItemsChange(System::TObject* ASender);
	void __fastcall DoChange(void);
	bool __fastcall GetSorted(void);
	virtual AnsiString __fastcall getText();
	virtual void __fastcall HookEvents(Iwrendercontext::TIWPageContext40* AContext, Iwscriptevents::TIWScriptEvents* AScriptEvents);
	void __fastcall SetItems(Classes::TStringList* AValue);
	Classes::TStringList* __fastcall GetItems(void);
	virtual void __fastcall SetItemIndex(int AIndex);
	virtual void __fastcall SetRequireSelection(const bool AValue);
	void __fastcall SetSorted(bool AValue);
	void __fastcall SetUseSize(const bool AValue);
	void __fastcall SetItemsHaveValues(const bool Value);
	virtual void __fastcall RenderScripts(Iwrendercontext::TIWBaseHTMLComponentContext* AComponentContext);
	virtual void __fastcall InitControl(void);
	virtual bool __fastcall RenderOnChangeIntoTag(AnsiString AUserAgent);
	__property Classes::TStringList* Items = {read=GetItems, write=SetItems};
	__property int ItemIndex = {read=FItemIndex, write=SetItemIndex, nodefault};
	__property bool Sorted = {read=GetSorted, write=SetSorted, nodefault};
	virtual void __fastcall Dispose(bool ADispose);
	
public:
	virtual bool __fastcall get_ShouldRenderTabOrder(void);
	virtual void __fastcall Clear(void);
	virtual AnsiString __fastcall RenderStyle(Iwrendercontext::TIWBaseHTMLComponentContext* AContext);
	__property AnsiString Text = {read=getText, write=SetText};
	
__published:
	__property Enabled  = {default=1};
	__property Iwcolor::TIWColor BGColor = {read=FBGColor, write=SetBGColor, nodefault};
	__property ExtraTagParams ;
	__property Font ;
	__property Iwcolor::TIWColor FocusColor = {read=FFocusColor, write=FFocusColor, nodefault};
	__property bool AutoHideOnMenuActivation = {read=FAutoHide, write=FAutoHide, nodefault};
	__property bool ItemsHaveValues = {read=FItemsHaveValues, write=SetItemsHaveValues, nodefault};
	__property AnsiString NoSelectionText = {read=FNoSelectionText, write=FNoSelectionText};
	__property bool Required = {read=FRequired, write=FRequired, nodefault};
	__property bool RequireSelection = {read=FRequireSelection, write=SetRequireSelection, nodefault};
	__property ScriptEvents ;
	__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
	__property bool UseSize = {read=FUseSize, write=SetUseSize, nodefault};
public:
	#pragma option push -w-inl
	/* TIWVCLBaseControl.Create */ inline __fastcall virtual TIWCustomListCombo(Classes::TComponent* AOwner) : Iwcontrol::TIWCustomControl(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TIWVCLBaseControl.Destroy */ inline __fastcall virtual ~TIWCustomListCombo(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TIWCustomComboBoxStyle { stNormal, stEnhanced };
#pragma option pop

class DELPHICLASS TIWCustomComboBox;
class PASCALIMPLEMENTATION TIWCustomComboBox : public TIWCustomListCombo 
{
	typedef TIWCustomListCombo inherited;
	
protected:
	AnsiString FSubmitParam;
	TIWCustomComboBoxStyle FStyle;
	Iwcolor::TIWColor FButtonColor;
	Iwfilereference::TIWFileReference* FButtonImage;
	virtual void __fastcall InitControl(void);
	virtual void __fastcall SetValue(const AnsiString AValue);
	virtual void __fastcall Submit(const AnsiString AValue);
	virtual bool __fastcall RenderOnChangeIntoTag(AnsiString AUserAgent);
	
public:
	virtual Iwhtmltag::TIWHTMLTag* __fastcall RenderHTML(Iwrendercontext::TIWBaseHTMLComponentContext* AContext);
	AnsiString __fastcall GetSubmitParam();
	__property Items ;
	__property ItemIndex ;
	__fastcall virtual TIWCustomComboBox(Classes::TComponent* AOwner);
	__fastcall virtual ~TIWCustomComboBox(void);
	
__published:
	__property TIWCustomComboBoxStyle Style = {read=FStyle, write=FStyle, nodefault};
	__property Iwcolor::TIWColor ButtonColor = {read=FButtonColor, write=FButtonColor, nodefault};
	__property Iwfilereference::TIWFileReference* ButtonImage = {read=FButtonImage, write=FButtonImage};
	__property DoSubmitValidation ;
	__property Editable ;
	__property NonEditableAsLabel ;
	__property TabOrder ;
private:
	void *__IIWInputControl;	/* Iwbaseinterfaces::IIWInputControl */
	void *__IIWSubmitControl;	/* Iwbaseinterfaces::IIWSubmitControl */
	
public:
	operator IIWSubmitControl*(void) { return (IIWSubmitControl*)&__IIWSubmitControl; }
	operator IIWInputControl*(void) { return (IIWInputControl*)&__IIWInputControl; }
	
};


class DELPHICLASS TIWComboBox;
class PASCALIMPLEMENTATION TIWComboBox : public TIWCustomComboBox 
{
	typedef TIWCustomComboBox inherited;
	
__published:
	__property ItemIndex ;
	__property Items ;
	__property Sorted ;
	__property FriendlyName ;
public:
	#pragma option push -w-inl
	/* TIWCustomComboBox.Create */ inline __fastcall virtual TIWComboBox(Classes::TComponent* AOwner) : TIWCustomComboBox(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TIWCustomComboBox.Destroy */ inline __fastcall virtual ~TIWComboBox(void) { }
	#pragma option pop
	
};


class DELPHICLASS TIWCustomListbox;
class PASCALIMPLEMENTATION TIWCustomListbox : public TIWCustomListCombo 
{
	typedef TIWCustomListCombo inherited;
	
protected:
	AnsiString FSubmitParam;
	bool FMultiSelect;
	Classes::TList* FSelectedList;
	Classes::TStringList* FTempList;
	Classes::TNotifyEvent FOnDblClick;
	Classes::TNotifyEvent __fastcall GetOnClick();
	void __fastcall SetOnClick(const Classes::TNotifyEvent AValue);
	void __fastcall DoItemsChange(System::TObject* Sender);
	void __fastcall DoItemsChanging(System::TObject* Sender);
	bool __fastcall GetSelected(int AIndex);
	void __fastcall SetSelected(int AIndex, const bool AValue);
	void __fastcall SetMultiSelect(const bool AValue);
	virtual void __fastcall HookEvents(Iwrendercontext::TIWPageContext40* AContext, Iwscriptevents::TIWScriptEvents* AScriptEvents);
	virtual void __fastcall SetValue(const AnsiString AValue);
	virtual void __fastcall Submit(const AnsiString AValue);
	virtual void __fastcall InitItems(void);
	virtual void __fastcall InitControl(void);
	virtual void __fastcall Dispose(bool ADispose);
	
public:
	virtual Iwhtmltag::TIWHTMLTag* __fastcall RenderHTML(Iwrendercontext::TIWBaseHTMLComponentContext* AContext);
	AnsiString __fastcall GetSubmitParam();
	__property Items ;
	__property ItemIndex ;
	__property bool MultiSelect = {read=FMultiSelect, write=SetMultiSelect, nodefault};
	void __fastcall ResetSelection(void);
	__property bool Selected[int AIndex] = {read=GetSelected, write=SetSelected};
	
__published:
	__property Classes::TNotifyEvent OnClick = {read=GetOnClick, write=SetOnClick};
	__property Classes::TNotifyEvent OnDblClick = {read=FOnDblClick, write=FOnDblClick};
	__property Confirmation ;
	__property DoSubmitValidation ;
	__property Editable ;
	__property TabOrder ;
public:
	#pragma option push -w-inl
	/* TIWVCLBaseControl.Create */ inline __fastcall virtual TIWCustomListbox(Classes::TComponent* AOwner) : TIWCustomListCombo(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TIWVCLBaseControl.Destroy */ inline __fastcall virtual ~TIWCustomListbox(void) { }
	#pragma option pop
	
private:
	void *__IIWInputControl;	/* Iwbaseinterfaces::IIWInputControl */
	void *__IIWSubmitControl;	/* Iwbaseinterfaces::IIWSubmitControl */
	
public:
	operator IIWSubmitControl*(void) { return (IIWSubmitControl*)&__IIWSubmitControl; }
	operator IIWInputControl*(void) { return (IIWInputControl*)&__IIWInputControl; }
	
};


class DELPHICLASS TIWListbox;
class PASCALIMPLEMENTATION TIWListbox : public TIWCustomListbox 
{
	typedef TIWCustomListbox inherited;
	
protected:
	virtual void __fastcall SetRequireSelection(const bool AValue);
	
__published:
	__property FriendlyName ;
	__property ItemIndex ;
	__property Items ;
	__property bool MultiSelect = {read=FMultiSelect, write=SetMultiSelect, nodefault};
	__property Sorted ;
public:
	#pragma option push -w-inl
	/* TIWVCLBaseControl.Create */ inline __fastcall virtual TIWListbox(Classes::TComponent* AOwner) : TIWCustomListbox(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TIWVCLBaseControl.Destroy */ inline __fastcall virtual ~TIWListbox(void) { }
	#pragma option pop
	
};


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

}	/* namespace Iwcomplistbox */
using namespace Iwcomplistbox;
#pragma pack(pop)
#pragma option pop

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