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

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

#ifndef RVPopupHPP
#define RVPopupHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <CRVData.hpp>	// Pascal unit
#include <RVItem.hpp>	// Pascal unit
#include <RVScroll.hpp>	// Pascal unit
#include <ImgList.hpp>	// Pascal unit
#include <Menus.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.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 Rvpopup
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TRVSmartPopupProperties;
class DELPHICLASS TRVSmartPopupButton;
class PASCALIMPLEMENTATION TRVSmartPopupButton : public Controls::TCustomControl 
{
	typedef Controls::TCustomControl inherited;
	
private:
	bool FHot;
	bool FAlwaysHot;
	TRVSmartPopupProperties* FSmartPopupProperties;
	void __fastcall SetSmartPopupProperties(const TRVSmartPopupProperties* Value);
	HIDESBASE MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &Msg);
	HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Msg);
	HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
	
protected:
	virtual void __fastcall Paint(void);
	
public:
	Rvitem::TCustomRVItemInfo* Item;
	Crvdata::TCustomRVData* RVData;
	int ItemNo;
	__fastcall virtual ~TRVSmartPopupButton(void);
	DYNAMIC void __fastcall Click(void);
	__property TRVSmartPopupProperties* SmartPopupProperties = {read=FSmartPopupProperties, write=SetSmartPopupProperties
		};
public:
	#pragma option push -w-inl
	/* TCustomControl.Create */ inline __fastcall virtual TRVSmartPopupButton(Classes::TComponent* AOwner
		) : Controls::TCustomControl(AOwner) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TRVSmartPopupButton(HWND ParentWindow) : Controls::TCustomControl(
		ParentWindow) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TRVSmartPopupProperties : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	int FImageIndex;
	Imglist::TCustomImageList* FImageList;
	Graphics::TColor FColor;
	Graphics::TColor FHoverLineColor;
	Graphics::TColor FLineColor;
	Graphics::TColor FHoverColor;
	Menus::TPopupMenu* FMenu;
	AnsiString FHint;
	Classes::TShortCut FShortCut;
	Rvscroll::TRVSmartPopupType FButtonType;
	TRVSmartPopupButton* FButton;
	Rvscroll::TRVSmartPopupPosition FPosition;
	void __fastcall SetImageIndex(const int Value);
	void __fastcall SetImageList(const Imglist::TCustomImageList* Value);
	void __fastcall SetColor(const Graphics::TColor Value);
	void __fastcall SetHoverColor(const Graphics::TColor Value);
	void __fastcall SetHoverLineColor(const Graphics::TColor Value);
	void __fastcall SetLineColor(const Graphics::TColor Value);
	void __fastcall SetHint(const AnsiString Value);
	bool __fastcall StoreHint(void);
	
public:
	Rvscroll::TRVScroller* RichView;
	__fastcall TRVSmartPopupProperties(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	void __fastcall SetButtonState(bool Hot);
	
__published:
	__property int ImageIndex = {read=FImageIndex, write=SetImageIndex, default=0};
	__property Imglist::TCustomImageList* ImageList = {read=FImageList, write=SetImageList};
	__property Graphics::TColor Color = {read=FColor, write=SetColor, default=-2147483643};
	__property Graphics::TColor HoverColor = {read=FHoverColor, write=SetHoverColor, default=-2147483624
		};
	__property Graphics::TColor LineColor = {read=FLineColor, write=SetLineColor, default=-2147483635};
		
	__property Graphics::TColor HoverLineColor = {read=FHoverLineColor, write=SetHoverLineColor, default=-2147483625
		};
	__property Menus::TPopupMenu* Menu = {read=FMenu, write=FMenu};
	__property AnsiString Hint = {read=FHint, write=SetHint, stored=StoreHint};
	__property Classes::TShortCut ShortCut = {read=FShortCut, write=FShortCut, default=24616};
	__property Rvscroll::TRVSmartPopupType ButtonType = {read=FButtonType, write=FButtonType, default=0
		};
	__property Rvscroll::TRVSmartPopupPosition Position = {read=FPosition, write=FPosition, default=2};
		
public:
	#pragma option push -w-inl
	/* TPersistent.Destroy */ inline __fastcall virtual ~TRVSmartPopupProperties(void) { }
	#pragma option pop
	
};


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

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

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