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

// (DO NOT EDIT: machine generated header) 'AdvObj.pas' rev: 5.00

#ifndef AdvObjHPP
#define AdvObjHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <AdvXPVS.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Buttons.hpp>	// Pascal unit
#include <AsgHTMLE.hpp>	// Pascal unit
#include <AdvUtil.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <ExtCtrls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Advobj
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TArrowDirection { arrUp, arrDown, arrLeft, arrRight };
#pragma option pop

#pragma option push -b-
enum TAdvGridButtonStyle { tasButton, tasCheck };
#pragma option pop

typedef void __fastcall (__closure *TImageChangeEvent)(System::TObject* Sender, int Acol, int Arow);
	

class DELPHICLASS TArrowWindow;
class PASCALIMPLEMENTATION TArrowWindow : public Extctrls::TPanel 
{
	typedef Extctrls::TPanel inherited;
	
private:
	TArrowDirection Dir;
	Windows::TPoint Arrow[9];
	
public:
	__fastcall TArrowWindow(Classes::TComponent* AOwner, TArrowDirection direction);
	virtual void __fastcall Loaded(void);
	
protected:
	virtual void __fastcall CreateWnd(void);
	virtual void __fastcall Paint(void);
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
public:
	#pragma option push -w-inl
	/* TCustomPanel.Create */ inline __fastcall virtual TArrowWindow(Classes::TComponent* AOwner) : Extctrls::TPanel(
		AOwner) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TCustomControl.Destroy */ inline __fastcall virtual ~TArrowWindow(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TArrowWindow(HWND ParentWindow) : Extctrls::TPanel(
		ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TPopupButton;
class PASCALIMPLEMENTATION TPopupButton : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	AnsiString FCaption;
	Controls::TImageList* FImages;
	bool FFlat;
	Graphics::TColor FGradTo;
	Graphics::TColor FGradFrom;
	
protected:
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	
public:
	__fastcall virtual TPopupButton(Classes::TComponent* AOwner);
	virtual void __fastcall Paint(void);
	virtual void __fastcall CreateWnd(void);
	__property Controls::TImageList* Images = {read=FImages, write=FImages};
	
__published:
	__property AnsiString Caption = {read=FCaption, write=FCaption};
	__property bool Flat = {read=FFlat, write=FFlat, nodefault};
	__property Graphics::TColor GradFrom = {read=FGradFrom, write=FGradFrom, nodefault};
	__property Graphics::TColor GradTo = {read=FGradTo, write=FGradTo, nodefault};
public:
	#pragma option push -w-inl
	/* TCustomControl.Destroy */ inline __fastcall virtual ~TPopupButton(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TPopupButton(HWND ParentWindow) : Controls::TCustomControl(
		ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TIntList;
class PASCALIMPLEMENTATION TIntList : public Classes::TList 
{
	typedef Classes::TList inherited;
	
private:
	TImageChangeEvent FOnChange;
	int FCol;
	int FRow;
	void __fastcall SetInteger(int Index, int Value);
	int __fastcall GetInteger(int Index);
	AnsiString __fastcall GetStrValue();
	void __fastcall SetStrValue(const AnsiString Value);
	
public:
	__fastcall TIntList(int Col, int Row);
	__property int Items[int index] = {read=GetInteger, write=SetInteger/*, default*/};
	HIDESBASE void __fastcall Add(int Value);
	HIDESBASE void __fastcall Insert(int Index, int Value);
	HIDESBASE void __fastcall Delete(int Index);
	__property AnsiString StrValue = {read=GetStrValue, write=SetStrValue};
	
__published:
	__property TImageChangeEvent OnChange = {read=FOnChange, write=FOnChange};
public:
	#pragma option push -w-inl
	/* TList.Destroy */ inline __fastcall virtual ~TIntList(void) { }
	#pragma option pop
	
};


class DELPHICLASS TSortIndexList;
class PASCALIMPLEMENTATION TSortIndexList : public TIntList 
{
	typedef TIntList inherited;
	
private:
	int __fastcall GetSortColumns(int i);
	bool __fastcall GetSortDirections(int i);
	void __fastcall SetSortColumns(int i, const int Value);
	void __fastcall SetSortDirections(int i, const bool Value);
	
public:
	void __fastcall AddIndex(int ColumnIndex, bool Ascending);
	int __fastcall FindIndex(int ColumnIndex);
	void __fastcall ToggleIndex(int ColumnIndex);
	__property int SortColumns[int i] = {read=GetSortColumns, write=SetSortColumns};
	__property bool SortDirections[int i] = {read=GetSortDirections, write=SetSortDirections};
public:
	#pragma option push -w-inl
	/* TIntList.Create */ inline __fastcall TSortIndexList(int Col, int Row) : TIntList(Col, Row) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TList.Destroy */ inline __fastcall virtual ~TSortIndexList(void) { }
	#pragma option pop
	
};


class DELPHICLASS TControlItem;
class PASCALIMPLEMENTATION TControlItem : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	int FX;
	int FY;
	Controls::TControl* FObject;
	
public:
	__fastcall TControlItem(int AX, int AY, Controls::TControl* AObject);
	
__published:
	__property int X = {read=FX, write=FY, nodefault};
	__property int Y = {read=FY, write=FY, nodefault};
	__property Controls::TControl* Control = {read=FObject, write=FObject};
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TControlItem(void) { }
	#pragma option pop
	
};


class DELPHICLASS TControlList;
class PASCALIMPLEMENTATION TControlList : public Classes::TList 
{
	typedef Classes::TList inherited;
	
private:
	TControlItem* __fastcall GetControl(int i);
	
public:
	void __fastcall AddControl(int X, int Y, Controls::TControl* AObject);
	void __fastcall RemoveControl(int i);
	int __fastcall ControlIndex(int X, int Y);
	__property TControlItem* Control[int i] = {read=GetControl};
	__fastcall virtual ~TControlList(void);
	bool __fastcall HasHandle(unsigned Handle);
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TControlList(void) : Classes::TList() { }
	#pragma option pop
	
};


class DELPHICLASS TFilePicture;
class PASCALIMPLEMENTATION TFilePicture : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	AnsiString FFilename;
	int FWidth;
	int FHeight;
	Graphics::TPicture* FPicture;
	void __fastcall SetFileName(const AnsiString Value);
	
public:
	void __fastcall DrawPicture(Graphics::TCanvas* Canvas, const Windows::TRect &r);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	
__published:
	__property AnsiString Filename = {read=FFilename, write=SetFileName};
	__property int Width = {read=FWidth, nodefault};
	__property int Height = {read=FHeight, nodefault};
public:
	#pragma option push -w-inl
	/* TPersistent.Destroy */ inline __fastcall virtual ~TFilePicture(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TFilePicture(void) : Classes::TPersistent() { }
	#pragma option pop
	
};


class DELPHICLASS TAdvGridButton;
class PASCALIMPLEMENTATION TAdvGridButton : public Controls::TGraphicControl 
{
	typedef Controls::TGraphicControl inherited;
	
private:
	int FGroupIndex;
	Graphics::TBitmap* FGlyph;
	bool FDown;
	bool FDragging;
	bool FAllowAllUp;
	Buttons::TButtonLayout FLayout;
	int FSpacing;
	bool FTransparent;
	int FMargin;
	bool FFlat;
	bool FMouseInControl;
	Graphics::TColor FColorTo;
	Graphics::TColor FColorHot;
	Graphics::TColor FColorHotTo;
	Graphics::TColor FColorDown;
	Graphics::TColor FColorDownTo;
	Graphics::TColor FBorderColor;
	Graphics::TColor FBorderDownColor;
	Graphics::TColor FBorderHotColor;
	Graphics::TBitmap* FGlyphDisabled;
	Graphics::TBitmap* FGlyphHot;
	Graphics::TBitmap* FGlyphDown;
	Graphics::TBitmap* FGlyphShade;
	bool FShaded;
	Classes::TNotifyEvent FOnMouseLeave;
	Classes::TNotifyEvent FOnMouseEnter;
	Graphics::TColor FColorChecked;
	Graphics::TColor FColorCheckedTo;
	TAdvGridButtonStyle FStyle;
	int FLook;
	bool FRounded;
	bool FDropDownButton;
	bool FAutoThemeAdapt;
	bool FAutoXPStyle;
	Classes::TNotifyEvent FOnDropDown;
	Menus::TPopupMenu* FDropDownMenu;
	bool FShowCaption;
	void __fastcall GlyphChanged(System::TObject* Sender);
	void __fastcall UpdateExclusive(void);
	void __fastcall SetGlyph(Graphics::TBitmap* Value);
	void __fastcall SetDown(bool Value);
	void __fastcall SetFlat(bool Value);
	void __fastcall SetAllowAllUp(bool Value);
	void __fastcall SetGroupIndex(int Value);
	void __fastcall SetLayout(Buttons::TButtonLayout Value);
	void __fastcall SetSpacing(int Value);
	void __fastcall SetMargin(int Value);
	void __fastcall UpdateTracking(void);
	HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
	MESSAGE void __fastcall CMButtonPressed(Messages::TMessage &Message);
	MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message);
	HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
	MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
	MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
	void __fastcall SetGlyphDisabled(const Graphics::TBitmap* Value);
	void __fastcall SetGlyphDown(const Graphics::TBitmap* Value);
	void __fastcall SetGlyphHot(const Graphics::TBitmap* Value);
	void __fastcall GenerateShade(void);
	void __fastcall SetShaded(const bool Value);
	void __fastcall SetColorTo(const Graphics::TColor Value);
	void __fastcall SetColorChecked(const Graphics::TColor Value);
	void __fastcall SetColorCheckedTo(const Graphics::TColor Value);
	void __fastcall SetStyle(const TAdvGridButtonStyle Value);
	void __fastcall SetRounded(const bool Value);
	void __fastcall SetDropDownButton(const bool Value);
	void __fastcall SetShowCaption(const bool Value);
	void __fastcall SetBorderColor(const Graphics::TColor Value);
	void __fastcall SetLook(const int Value);
	Graphics::TColor __fastcall GetColor(void);
	HIDESBASE void __fastcall SetColor(const Graphics::TColor Value);
	
protected:
	Buttons::TButtonState FState;
	virtual void __fastcall Loaded(void);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
		int Y);
	DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
		Y);
	void __fastcall DrawButtonGlyph(Graphics::TCanvas* Canvas, const Windows::TPoint &GlyphPos, Buttons::TButtonState 
		State, bool Transparent);
	void __fastcall DrawButtonText(Graphics::TCanvas* Canvas, const AnsiString Caption, const Windows::TRect 
		&TextBounds, Buttons::TButtonState State, int BiDiFlags);
	Windows::TRect __fastcall DrawButton(Graphics::TCanvas* Canvas, const Windows::TRect &Client, const 
		Windows::TPoint &Offset, const AnsiString Caption, Buttons::TButtonLayout Layout, int Margin, int 
		Spacing, Buttons::TButtonState State, bool Transparent, int BiDiFlags);
	void __fastcall CalcButtonLayout(Graphics::TCanvas* Canvas, const Windows::TRect &Client, const Windows::TPoint 
		&Offset, const AnsiString Caption, Buttons::TButtonLayout Layout, int Margin, int Spacing, Windows::TPoint 
		&GlyphPos, Windows::TRect &TextBounds, int BiDiFlags);
	virtual void __fastcall Paint(void);
	__property bool MouseInControl = {read=FMouseInControl, nodefault};
	virtual void __fastcall WndProc(Messages::TMessage &Message);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation AOperation
		);
	void __fastcall ThemeAdapt(void);
	void __fastcall SetAutoThemeAdapt(const bool Value);
	
public:
	__fastcall virtual TAdvGridButton(Classes::TComponent* AOwner);
	__fastcall virtual ~TAdvGridButton(void);
	DYNAMIC void __fastcall Click(void);
	__property int Look = {read=FLook, write=SetLook, nodefault};
	
__published:
	__property Action ;
	__property bool AllowAllUp = {read=FAllowAllUp, write=SetAllowAllUp, default=0};
	__property Anchors ;
	__property bool AutoThemeAdapt = {read=FAutoThemeAdapt, write=SetAutoThemeAdapt, nodefault};
	__property bool AutoXPStyle = {read=FAutoXPStyle, write=FAutoXPStyle, nodefault};
	__property BiDiMode ;
	__property Graphics::TColor BorderColor = {read=FBorderColor, write=SetBorderColor, default=536870911
		};
	__property Graphics::TColor BorderDownColor = {read=FBorderDownColor, write=FBorderDownColor, default=536870911
		};
	__property Graphics::TColor BorderHotColor = {read=FBorderHotColor, write=FBorderHotColor, default=536870911
		};
	__property Graphics::TColor Color = {read=GetColor, write=SetColor, default=-2147483633};
	__property Graphics::TColor ColorTo = {read=FColorTo, write=SetColorTo, default=536870911};
	__property Graphics::TColor ColorDown = {read=FColorDown, write=FColorDown, nodefault};
	__property Graphics::TColor ColorDownTo = {read=FColorDownTo, write=FColorDownTo, default=536870911
		};
	__property Graphics::TColor ColorHot = {read=FColorHot, write=FColorHot, nodefault};
	__property Graphics::TColor ColorHotTo = {read=FColorHotTo, write=FColorHotTo, default=536870911};
	__property Graphics::TColor ColorChecked = {read=FColorChecked, write=SetColorChecked, default=8421504
		};
	__property Graphics::TColor ColorCheckedTo = {read=FColorCheckedTo, write=SetColorCheckedTo, default=536870911
		};
	__property Constraints ;
	__property int GroupIndex = {read=FGroupIndex, write=SetGroupIndex, default=0};
	__property bool Down = {read=FDown, write=SetDown, default=0};
	__property bool DropDownButton = {read=FDropDownButton, write=SetDropDownButton, default=0};
	__property Menus::TPopupMenu* DropDownMenu = {read=FDropDownMenu, write=FDropDownMenu};
	__property Caption ;
	__property Enabled ;
	__property bool Flat = {read=FFlat, write=SetFlat, default=1};
	__property Font ;
	__property Graphics::TBitmap* Glyph = {read=FGlyph, write=SetGlyph};
	__property Graphics::TBitmap* GlyphHot = {read=FGlyphHot, write=SetGlyphHot};
	__property Graphics::TBitmap* GlyphDown = {read=FGlyphDown, write=SetGlyphDown};
	__property Graphics::TBitmap* GlyphDisabled = {read=FGlyphDisabled, write=SetGlyphDisabled};
	__property Buttons::TButtonLayout Layout = {read=FLayout, write=SetLayout, default=0};
	__property int Margin = {read=FMargin, write=SetMargin, default=-1};
	__property ParentFont ;
	__property ParentShowHint ;
	__property ParentBiDiMode ;
	__property PopupMenu ;
	__property bool Rounded = {read=FRounded, write=SetRounded, default=0};
	__property bool Shaded = {read=FShaded, write=SetShaded, default=1};
	__property bool ShowCaption = {read=FShowCaption, write=SetShowCaption, default=1};
	__property ShowHint ;
	__property int Spacing = {read=FSpacing, write=SetSpacing, default=4};
	__property TAdvGridButtonStyle Style = {read=FStyle, write=SetStyle, default=0};
	__property Visible ;
	__property OnClick ;
	__property OnDblClick ;
	__property OnMouseDown ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property Classes::TNotifyEvent OnMouseEnter = {read=FOnMouseEnter, write=FOnMouseEnter};
	__property Classes::TNotifyEvent OnMouseLeave = {read=FOnMouseLeave, write=FOnMouseLeave};
	__property Classes::TNotifyEvent OnDropDown = {read=FOnDropDown, write=FOnDropDown};
};


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

}	/* namespace Advobj */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Advobj;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

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