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

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

#ifndef Fmx_TmsgridrtfHPP
#define Fmx_TmsgridrtfHPP

#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.Classes.hpp>	// Pascal unit
#include <FMX.TMSRTFEngine.hpp>	// Pascal unit
#include <FMX.TMSGrid.hpp>	// Pascal unit
#include <FMX.TMSGridData.hpp>	// Pascal unit
#include <FMX.TMSGridCell.hpp>	// Pascal unit
#include <System.UITypes.hpp>	// Pascal unit
#include <System.Types.hpp>	// Pascal unit
#include <FMX.Types.hpp>	// Pascal unit
#include <FMX.Dialogs.hpp>	// Pascal unit
#include <FMX.TMSXUtil.hpp>	// Pascal unit
#include <FMX.TMSBaseControl.hpp>	// Pascal unit
#include <System.UIConsts.hpp>	// Pascal unit
#include <FMX.Styles.hpp>	// Pascal unit
#include <FMX.Graphics.hpp>	// Pascal unit
#include <FMX.TMSCustomGrid.hpp>	// Pascal unit
#include <FMX.Controls.hpp>	// Pascal unit

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

namespace Fmx
{
namespace Tmsgridrtf
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TFMXGridRTFIOProgressEvent)(System::TObject* Sender, int RowNum, int RowTot);

typedef void __fastcall (__closure *TFMXGridRTFIOPageBreak)(System::TObject* Sender, int ARow, bool &DoPageBreak);

enum DECLSPEC_DENUM TOverwriteMode : unsigned char { omNever, omAlways, omWarn };

enum DECLSPEC_DENUM TExportMode : unsigned char { emFile, emStream, emString, emBuffer };

class DELPHICLASS TTMSFMXGridRTFIOOptions;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TTMSFMXGridRTFIOOptions : public System::Classes::TPersistent
{
	typedef System::Classes::TPersistent inherited;
	
private:
	bool FExportCellProperties;
	bool FExportHiddenColumns;
	System::UnicodeString FExportOverwriteMessage;
	TOverwriteMode FExportOverwrite;
	bool FConvertHTML;
	bool FExportShowInWord;
	bool FExportBackGround;
	bool FExportMsWordFeatures;
	bool FExportImages;
	bool FExportRTFCell;
	bool FExportSelectedCells;
	System::UnicodeString FTitle;
	System::UnicodeString FFooter;
	bool FExportBorders;
	
public:
	__fastcall TTMSFMXGridRTFIOOptions(void);
	virtual void __fastcall Assign(System::Classes::TPersistent* Source);
	
__published:
	__property bool ExportBackGround = {read=FExportBackGround, write=FExportBackGround, default=0};
	__property TOverwriteMode ExportOverwrite = {read=FExportOverwrite, write=FExportOverwrite, default=0};
	__property System::UnicodeString ExportOverwriteMessage = {read=FExportOverwriteMessage, write=FExportOverwriteMessage};
	__property bool ExportCellProperties = {read=FExportCellProperties, write=FExportCellProperties, default=1};
	__property bool ExportHiddenColumns = {read=FExportHiddenColumns, write=FExportHiddenColumns, default=0};
	__property bool ExportShowInWord = {read=FExportShowInWord, write=FExportShowInWord, nodefault};
	__property bool ExportMsWordFeatures = {read=FExportMsWordFeatures, write=FExportMsWordFeatures, nodefault};
	__property bool ExportImages = {read=FExportImages, write=FExportImages, nodefault};
	__property bool ConvertHTML = {read=FConvertHTML, write=FConvertHTML, nodefault};
	__property bool ExportSelectedCells = {read=FExportSelectedCells, write=FExportSelectedCells, default=0};
	__property bool ExportBorders = {read=FExportBorders, write=FExportBorders, default=1};
	__property System::UnicodeString Title = {read=FTitle, write=FTitle};
	__property System::UnicodeString Footer = {read=FFooter, write=FFooter};
public:
	/* TPersistent.Destroy */ inline __fastcall virtual ~TTMSFMXGridRTFIOOptions(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TProGrid;
class PASCALIMPLEMENTATION TProGrid : public Fmx::Tmsgrid::TTMSFMXGrid
{
	typedef Fmx::Tmsgrid::TTMSFMXGrid inherited;
	
public:
	/* TTMSFMXGrid.Create */ inline __fastcall virtual TProGrid(System::Classes::TComponent* AOwner) : Fmx::Tmsgrid::TTMSFMXGrid(AOwner) { }
	/* TTMSFMXGrid.Destroy */ inline __fastcall virtual ~TProGrid(void) { }
	
};


class DELPHICLASS TTMSFMXGridRTFIO;
class PASCALIMPLEMENTATION TTMSFMXGridRTFIO : public System::Classes::TComponent
{
	typedef System::Classes::TComponent inherited;
	
private:
	Fmx::Tmsgrid::TTMSFMXGrid* FGrid;
	TTMSFMXGridRTFIOOptions* FOptions;
	TFMXGridRTFIOProgressEvent FOnProgress;
	int FGridStartRow;
	int FGridStartCol;
	TFMXGridRTFIOPageBreak FOnPageBreak;
	System::UnicodeString FBuffer;
	System::UnicodeString FFontBuffer;
	System::UnicodeString FColorBuffer;
	void __fastcall SetGrid(Fmx::Tmsgrid::TTMSFMXGrid* const Value);
	TProGrid* __fastcall CurrentGrid(void);
	void __fastcall SetOptions(TTMSFMXGridRTFIOOptions* const Value);
	void __fastcall SetGridStartCol(const int Value);
	void __fastcall SetGridStartRow(const int Value);
	void __fastcall ExportInternal(System::UnicodeString FileName, System::Classes::TStream* st, System::UnicodeString &S, TExportMode ExportMode);
	
protected:
	virtual void __fastcall Notification(System::Classes::TComponent* AComponent, System::Classes::TOperation Operation);
	
public:
	__fastcall virtual TTMSFMXGridRTFIO(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TTMSFMXGridRTFIO(void);
	void __fastcall ExportRTF(const System::Sysutils::TFileName FileName);
	System::UnicodeString __fastcall ExportToString(void);
	void __fastcall ExportToStream(System::Classes::TStream* st);
	void __fastcall ExportToBuffer(void);
	void __fastcall AppendToBuffer(void);
	void __fastcall ExportBufferToRTF(const System::Sysutils::TFileName FileName);
	
__published:
	__property Fmx::Tmsgrid::TTMSFMXGrid* Grid = {read=FGrid, write=SetGrid};
	__property int GridStartRow = {read=FGridStartRow, write=SetGridStartRow, default=1};
	__property int GridStartCol = {read=FGridStartCol, write=SetGridStartCol, default=1};
	__property TTMSFMXGridRTFIOOptions* Options = {read=FOptions, write=SetOptions};
	__property TFMXGridRTFIOProgressEvent OnProgress = {read=FOnProgress, write=FOnProgress};
	__property TFMXGridRTFIOPageBreak OnPageBreak = {read=FOnPageBreak, write=FOnPageBreak};
};


//-- var, const, procedure ---------------------------------------------------
static const System::Int8 MAJ_VER = System::Int8(0x1);
static const System::Int8 MIN_VER = System::Int8(0x5);
static const System::Int8 REL_VER = System::Int8(0x0);
static const System::Int8 BLD_VER = System::Int8(0x0);
}	/* namespace Tmsgridrtf */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_TMSGRIDRTF)
using namespace Fmx::Tmsgridrtf;
#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_TmsgridrtfHPP
