// CodeGear C++Builder
// Copyright (c) 1995, 2014 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'FMX.TMSPrintPreview.pas' rev: 27.00 (Windows)

#ifndef Fmx_TmsprintpreviewHPP
#define Fmx_TmsprintpreviewHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.SysUtils.hpp>	// Pascal unit
#include <System.Types.hpp>	// Pascal unit
#include <System.UITypes.hpp>	// Pascal unit
#include <System.Classes.hpp>	// Pascal unit
#include <System.Variants.hpp>	// Pascal unit
#include <System.StrUtils.hpp>	// Pascal unit
#include <FMX.Types.hpp>	// Pascal unit
#include <FMX.Controls.hpp>	// Pascal unit
#include <FMX.Forms.hpp>	// Pascal unit
#include <FMX.Dialogs.hpp>	// Pascal unit
#include <FMX.TMSGrid.hpp>	// Pascal unit
#include <FMX.Objects.hpp>	// Pascal unit
#include <FMX.TMSBitmap.hpp>	// Pascal unit
#include <FMX.Edit.hpp>	// Pascal unit
#include <FMX.TMSProgressBar.hpp>	// Pascal unit
#include <FMX.Printer.hpp>	// Pascal unit
#include <FMX.TMSBaseControl.hpp>	// Pascal unit
#include <FMX.StdCtrls.hpp>	// Pascal unit
#include <FMX.Graphics.hpp>	// Pascal unit

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

namespace Fmx
{
namespace Tmsprintpreview
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TTMSFMXPrintPreviewDialogForm;
class DELPHICLASS TTMSFMXGridPrintPreviewDialog;
class PASCALIMPLEMENTATION TTMSFMXPrintPreviewDialogForm : public Fmx::Forms::TForm
{
	typedef Fmx::Forms::TForm inherited;
	
__published:
	Fmx::Stdctrls::TButton* btnNext;
	Fmx::Stdctrls::TButton* btnPrevious;
	Fmx::Tmsbitmap::TTMSFMXBitmap* TMSFMXBitmap1;
	Fmx::Stdctrls::TPanel* Panel1;
	Fmx::Stdctrls::TGroupBox* GroupBox1;
	Fmx::Stdctrls::TRadioButton* rdbAll;
	Fmx::Stdctrls::TRadioButton* rdbPages;
	Fmx::Stdctrls::TRadioButton* rdbCurrent;
	Fmx::Edit::TEdit* Edit1;
	Fmx::Tmsprogressbar::TTMSFMXProgressBar* TMSFMXProgressBar1;
	Fmx::Stdctrls::TButton* btnPrint;
	Fmx::Stdctrls::TButton* Button1;
	Fmx::Controls::TStyleBook* StyleBook1;
	void __fastcall Button1Click(System::TObject* Sender);
	void __fastcall btnPrintClick(System::TObject* Sender);
	void __fastcall FormDestroy(System::TObject* Sender);
	void __fastcall btnNextClick(System::TObject* Sender);
	void __fastcall btnPreviousClick(System::TObject* Sender);
	void __fastcall FormResize(System::TObject* Sender);
	
private:
	TTMSFMXGridPrintPreviewDialog* FDialog;
	System::Classes::TNotifyEvent FOnPrint;
	System::Classes::TNotifyEvent FOnClose;
	
public:
	void __fastcall Init(void);
	void __fastcall PrintProgress(System::TObject* Sender, int APageIndex, Fmx::Printer::TPrinter* APrinter, float APrintProgress);
	__property TTMSFMXGridPrintPreviewDialog* Dialog = {read=FDialog, write=FDialog};
	__property System::Classes::TNotifyEvent OnClose = {read=FOnClose, write=FOnClose};
	__property System::Classes::TNotifyEvent OnPrint = {read=FOnPrint, write=FOnPrint};
public:
	/* TCustomForm.Create */ inline __fastcall virtual TTMSFMXPrintPreviewDialogForm(System::Classes::TComponent* AOwner) : Fmx::Forms::TForm(AOwner) { }
	/* TCustomForm.CreateNew */ inline __fastcall virtual TTMSFMXPrintPreviewDialogForm(System::Classes::TComponent* AOwner, NativeInt Dummy) : Fmx::Forms::TForm(AOwner, Dummy) { }
	/* TCustomForm.Destroy */ inline __fastcall virtual ~TTMSFMXPrintPreviewDialogForm(void) { }
	
};


class DELPHICLASS TPrintPreviewUILanguage;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TPrintPreviewUILanguage : public System::Classes::TPersistent
{
	typedef System::Classes::TPersistent inherited;
	
public:
	__fastcall TPrintPreviewUILanguage(System::Classes::TComponent* AOwner);
	virtual void __fastcall Assign(System::Classes::TPersistent* Source);
public:
	/* TPersistent.Destroy */ inline __fastcall virtual ~TPrintPreviewUILanguage(void) { }
	
};

#pragma pack(pop)

enum DECLSPEC_DENUM TTMSFMXPrintPreviewDialogOption : unsigned char { pdoTitle, pdoPageNavigation, pdoPrintButton, pdoPageSelection };

typedef System::Set<TTMSFMXPrintPreviewDialogOption, TTMSFMXPrintPreviewDialogOption::pdoTitle, TTMSFMXPrintPreviewDialogOption::pdoPageSelection> TTMSFMXPrintPreviewDialogOptions;

class PASCALIMPLEMENTATION TTMSFMXGridPrintPreviewDialog : public System::Classes::TComponent
{
	typedef System::Classes::TComponent inherited;
	
private:
	TPrintPreviewUILanguage* FUILanguage;
	TTMSFMXPrintPreviewDialogOptions FOptions;
	Fmx::Tmsgrid::TTMSFMXGrid* FGrid;
	bool FCloseOnPrint;
	System::Classes::TNotifyEvent FOnPrint;
	System::Classes::TNotifyEvent FOnClose;
	void __fastcall SetUILanguage(TPrintPreviewUILanguage* const Value);
	void __fastcall SetOptions(const TTMSFMXPrintPreviewDialogOptions Value);
	
protected:
	virtual TTMSFMXPrintPreviewDialogForm* __fastcall CreateDialogForm(System::Classes::TComponent* AOwner);
	virtual Fmx::Forms::TCustomForm* __fastcall InitDialog(void);
	void __fastcall DoClose(System::TObject* Sender);
	void __fastcall DoPrint(System::TObject* Sender);
	
public:
	virtual void __fastcall Execute(void);
	__fastcall virtual TTMSFMXGridPrintPreviewDialog(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TTMSFMXGridPrintPreviewDialog(void);
	
__published:
	__property TTMSFMXPrintPreviewDialogOptions Options = {read=FOptions, write=SetOptions, default=15};
	__property TPrintPreviewUILanguage* UILanguage = {read=FUILanguage, write=SetUILanguage};
	__property Fmx::Tmsgrid::TTMSFMXGrid* Grid = {read=FGrid, write=FGrid};
	__property bool CloseOnPrint = {read=FCloseOnPrint, write=FCloseOnPrint, default=1};
	__property System::Classes::TNotifyEvent OnClose = {read=FOnClose, write=FOnClose};
	__property System::Classes::TNotifyEvent OnPrint = {read=FOnPrint, write=FOnPrint};
};


//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE TTMSFMXPrintPreviewDialogForm* TMSFMXPrintPreviewDialogForm;
extern DELPHI_PACKAGE int MaxPages;
extern DELPHI_PACKAGE int PageIndex;
extern DELPHI_PACKAGE Fmx::Graphics::TBitmap* bmp;
}	/* namespace Tmsprintpreview */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_TMSPRINTPREVIEW)
using namespace Fmx::Tmsprintpreview;
#endif
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX)
using namespace Fmx;
#endif
#pragma pack(pop)
#pragma option pop

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