// CodeGear C++Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Srvtoolbar.pas' rev: 11.00

#ifndef SrvtoolbarHPP
#define SrvtoolbarHPP

#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 <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Imglist.hpp>	// Pascal unit

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

namespace Srvtoolbar
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TSRVAlignText { srvatTop, srvatBottom };
#pragma option pop

class DELPHICLASS TSRVToolButton;
typedef void __fastcall (__closure *TSRVClickButtonEvent)(System::TObject* Sender, TSRVToolButton* ToolButton);

class PASCALIMPLEMENTATION TSRVToolButton : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
private:
	Classes::TCollection* FOwner;
	int FTag;
	
protected:
	int FImageIndexNormal;
	int FImageIndexMove;
	int FImageIndexDown;
	int FImageIndexDisable;
	AnsiString FCaption;
	AnsiString FHint;
	bool FEnabled;
	bool FVisible;
	bool FAllowAllUp;
	bool FShowHint;
	int FGroupIndex;
	bool FDown;
	void __fastcall SetImageIndexNormal(const int Value);
	void __fastcall SetImageIndexMove(const int Value);
	void __fastcall SetImageIndexDown(const int Value);
	void __fastcall SetImageIndexDisable(const int Value);
	void __fastcall SetCaption(const AnsiString Value);
	void __fastcall SetHint(const AnsiString Value);
	void __fastcall SetEnabled(const bool Value);
	void __fastcall SetVisible(const bool Value);
	void __fastcall SetAllowAllUp(const bool Value);
	void __fastcall SetShowHint(const bool Value);
	void __fastcall SetDown(bool Value);
	void __fastcall SetGroupIndex(const int Value);
	
public:
	__fastcall virtual TSRVToolButton(Classes::TCollection* Collection);
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	virtual AnsiString __fastcall GetDisplayName();
	
__published:
	__property int ImageIndexNormal = {read=FImageIndexNormal, write=SetImageIndexNormal, default=-1};
	__property int ImageIndexMove = {read=FImageIndexMove, write=SetImageIndexMove, default=-1};
	__property int ImageIndexDown = {read=FImageIndexDown, write=SetImageIndexDown, default=-1};
	__property int ImageIndexDisable = {read=FImageIndexDisable, write=SetImageIndexDisable, default=-1};
	__property AnsiString Caption = {read=FCaption, write=SetCaption};
	__property AnsiString Hint = {read=FHint, write=SetHint};
	__property bool Enabled = {read=FEnabled, write=SetEnabled, default=1};
	__property bool Visible = {read=FVisible, write=SetVisible, default=1};
	__property int Tag = {read=FTag, write=FTag, default=0};
	__property bool AllowAllUp = {read=FAllowAllUp, write=SetAllowAllUp, default=0};
	__property bool ShowHint = {read=FShowHint, write=SetShowHint, default=0};
	__property bool Down = {read=FDown, write=SetDown, default=0};
	__property int GroupIndex = {read=FGroupIndex, write=SetGroupIndex, default=0};
public:
	#pragma option push -w-inl
	/* TCollectionItem.Destroy */ inline __fastcall virtual ~TSRVToolButton(void) { }
	#pragma option pop
	
};


class DELPHICLASS TSRVButtonCollection;
class PASCALIMPLEMENTATION TSRVButtonCollection : public Classes::TCollection 
{
	typedef Classes::TCollection inherited;
	
private:
	Classes::TPersistent* FOwner;
	
public:
	Classes::TNotifyEvent OnAppend;
	Classes::TNotifyEvent OnModify;
	Classes::TNotifyEvent OnRemove;
	__fastcall TSRVButtonCollection(TMetaClass* ItemClass, Classes::TPersistent* Owner);
	DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
public:
	#pragma option push -w-inl
	/* TCollection.Destroy */ inline __fastcall virtual ~TSRVButtonCollection(void) { }
	#pragma option pop
	
};


class DELPHICLASS TSRVToolBar;
class PASCALIMPLEMENTATION TSRVToolBar : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
protected:
	AnsiString OldHint;
	int MouseIndexDown;
	bool isMouseDown;
	Graphics::TPen* FPenFrame;
	int FBorderWidth;
	TSRVAlignText FAlignText;
	int FHintHeight;
	Graphics::TFont* FHintFont;
	AnsiString FHintCancel;
	bool FAutoSize;
	int FSpacer;
	Graphics::TColor FColor;
	Graphics::TColor FColorSelect;
	Graphics::TColor FColorDown;
	Graphics::TColor FColorDisable;
	int FButtonWidth;
	int FButtonHeight;
	int FButtonCol;
	TSRVButtonCollection* FButtons;
	Imglist::TCustomImageList* FImageList;
	TSRVClickButtonEvent FOnClickButton;
	TSRVClickButtonEvent FOnEnterButton;
	Classes::TNotifyEvent FOnEnter;
	Classes::TNotifyEvent FOnLeave;
	void __fastcall DrawButton(int IndexButton);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	void __fastcall SetPenFrame(Graphics::TPen* Value);
	HIDESBASE void __fastcall SetBorderWidth(int Value);
	void __fastcall SetButtons(const TSRVButtonCollection* Value);
	virtual void __fastcall SetAutoSize(bool Value);
	void __fastcall SetSpacer(int Value);
	void __fastcall SetButtonWidth(int Value);
	void __fastcall SetButtonHeight(int Value);
	void __fastcall SetButtonCol(int Value);
	void __fastcall SetHintHeight(int Value);
	void __fastcall SetHintFont(Graphics::TFont* Value);
	void __fastcall SetHintCancel(AnsiString Value);
	HIDESBASE void __fastcall SetColor(Graphics::TColor Value);
	void __fastcall SetColorSelect(Graphics::TColor Value);
	void __fastcall SetColorDown(Graphics::TColor Value);
	void __fastcall SetColorDisable(Graphics::TColor Value);
	void __fastcall SetAlignText(TSRVAlignText Value);
	HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &Message);
	virtual void __fastcall Loaded(void);
	void __fastcall HookAppendItem(System::TObject* Sender);
	
public:
	__fastcall virtual TSRVToolBar(Classes::TComponent* AOwner);
	__fastcall virtual ~TSRVToolBar(void);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
	virtual void __fastcall Paint(void);
	
__published:
	__property Align  = {default=0};
	__property Anchors  = {default=3};
	__property TSRVButtonCollection* Buttons = {read=FButtons, write=SetButtons};
	__property Graphics::TPen* PenFrame = {read=FPenFrame, write=SetPenFrame};
	__property bool AutoSize = {read=FAutoSize, write=SetAutoSize, default=0};
	__property int BorderWidth = {read=FBorderWidth, write=SetBorderWidth, default=1};
	__property TSRVAlignText AlignText = {read=FAlignText, write=SetAlignText, default=1};
	__property Graphics::TColor Color = {read=FColor, write=SetColor, default=16777215};
	__property Graphics::TColor ColorSelect = {read=FColorSelect, write=SetColorSelect, default=14857624};
	__property Graphics::TColor ColorDown = {read=FColorDown, write=SetColorDown, default=15651521};
	__property Graphics::TColor ColorDisable = {read=FColorDisable, write=SetColorDisable, default=12632256};
	__property AnsiString HintCancel = {read=FHintCancel, write=SetHintCancel};
	__property int HintHeight = {read=FHintHeight, write=SetHintHeight, default=20};
	__property Graphics::TFont* HintFont = {read=FHintFont, write=SetHintFont};
	__property int Spacer = {read=FSpacer, write=SetSpacer, default=0};
	__property int ButtonWidth = {read=FButtonWidth, write=SetButtonWidth, default=26};
	__property int ButtonHeight = {read=FButtonHeight, write=SetButtonHeight, default=26};
	__property int ButtonCol = {read=FButtonCol, write=SetButtonCol, default=-1};
	__property Imglist::TCustomImageList* ImageList = {read=FImageList, write=FImageList, default=0};
	__property TSRVClickButtonEvent OnClickButton = {read=FOnClickButton, write=FOnClickButton};
	__property TSRVClickButtonEvent OnEnterButton = {read=FOnEnterButton, write=FOnEnterButton};
	__property Classes::TNotifyEvent OnEnter = {read=FOnEnter, write=FOnEnter};
	__property Classes::TNotifyEvent OnLeave = {read=FOnLeave, write=FOnLeave};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TSRVToolBar(HWND ParentWindow) : Controls::TCustomControl(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TSRVCustomPropertyTB;
class PASCALIMPLEMENTATION TSRVCustomPropertyTB : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
protected:
	Graphics::TPen* FPenFrame;
	int FBorderWidth;
	TSRVAlignText FAlignText;
	int FHintHeight;
	Graphics::TFont* FHintFont;
	AnsiString FHintCancel;
	bool FAutoSize;
	int FSpacer;
	Graphics::TColor FColor;
	Graphics::TColor FColorSelect;
	Graphics::TColor FColorDown;
	Graphics::TColor FColorDisable;
	int FButtonWidth;
	int FButtonHeight;
	int FButtonCol;
	TSRVButtonCollection* FButtons;
	Imglist::TCustomImageList* FImageList;
	Classes::TNotifyEvent StoredAppendItem;
	Classes::TNotifyEvent StoredMofifyItem;
	void __fastcall HookAppendItem(System::TObject* Sender);
	void __fastcall HookRemoveItem(System::TObject* Sender);
	void __fastcall SetPenFrame(Graphics::TPen* Value);
	void __fastcall SetBorderWidth(int Value);
	void __fastcall SetAutoSize(bool Value);
	void __fastcall SetSpacer(int Value);
	void __fastcall SetButtonWidth(int Value);
	void __fastcall SetButtonHeight(int Value);
	void __fastcall SetButtonCol(int Value);
	void __fastcall SetHintHeight(int Value);
	void __fastcall SetHintFont(Graphics::TFont* Value);
	void __fastcall SetHintCancel(AnsiString Value);
	void __fastcall SetButtons(const TSRVButtonCollection* Value);
	void __fastcall SetImageList(Imglist::TCustomImageList* Value);
	void __fastcall SetColor(Graphics::TColor Value);
	void __fastcall SetColorSelect(Graphics::TColor Value);
	void __fastcall SetColorDown(Graphics::TColor Value);
	void __fastcall SetColorDisable(Graphics::TColor Value);
	void __fastcall SetAlignText(TSRVAlignText Value);
	__property TSRVButtonCollection* Buttons = {read=FButtons, write=SetButtons};
	__property Graphics::TPen* PenFrame = {read=FPenFrame, write=SetPenFrame};
	__property bool AutoSize = {read=FAutoSize, write=SetAutoSize, default=0};
	__property int BorderWidth = {read=FBorderWidth, write=SetBorderWidth, default=1};
	__property TSRVAlignText AlignText = {read=FAlignText, write=SetAlignText, default=1};
	__property Graphics::TColor Color = {read=FColor, write=SetColor, default=16777215};
	__property Graphics::TColor ColorSelect = {read=FColorSelect, write=SetColorSelect, default=14857624};
	__property Graphics::TColor ColorDown = {read=FColorDown, write=SetColorDown, default=15651521};
	__property Graphics::TColor ColorDisable = {read=FColorDisable, write=SetColorDisable, default=12632256};
	__property AnsiString HintCancel = {read=FHintCancel, write=SetHintCancel};
	__property int HintHeight = {read=FHintHeight, write=SetHintHeight, default=20};
	__property Graphics::TFont* HintFont = {read=FHintFont, write=SetHintFont};
	__property int Spacer = {read=FSpacer, write=SetSpacer, default=0};
	__property int ButtonWidth = {read=FButtonWidth, write=SetButtonWidth, default=26};
	__property int ButtonHeight = {read=FButtonHeight, write=SetButtonHeight, default=26};
	__property int ButtonCol = {read=FButtonCol, write=SetButtonCol, default=-1};
	__property Imglist::TCustomImageList* ImageList = {read=FImageList, write=SetImageList, default=0};
	
public:
	TSRVToolBar* SRVToolBar;
	__fastcall TSRVCustomPropertyTB(TSRVToolBar* SRVToolBar);
	__fastcall virtual ~TSRVCustomPropertyTB(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
};


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

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

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