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

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

#ifndef Fmx_UescherotherrecordsHPP
#define Fmx_UescherotherrecordsHPP

#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.UBreakList.hpp>	// Pascal unit
#include <FMX.UEscherRecords.hpp>	// Pascal unit
#include <FMX.XlsMessages.hpp>	// Pascal unit
#include <FMX.UXlsBaseClientData.hpp>	// Pascal unit
#include <FMX.UFlxMessages.hpp>	// Pascal unit

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

namespace Fmx
{
namespace Uescherotherrecords
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TEscherRegroupRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TEscherRegroupRecord : public Fmx::Uescherrecords::TEscherDataRecord
{
	typedef Fmx::Uescherrecords::TEscherDataRecord inherited;
	
public:
	/* TEscherDataRecord.Create */ inline __fastcall virtual TEscherRegroupRecord(const Fmx::Uescherrecords::TEscherRecordHeader &aEscherHeader, const Fmx::Uescherrecords::PEscherDwgGroupCache aDwgGroupCache, const Fmx::Uescherrecords::PEscherDwgCache aDwgCache, Fmx::Uescherrecords::TEscherContainerRecord* const aParent) : Fmx::Uescherrecords::TEscherDataRecord(aEscherHeader, aDwgGroupCache, aDwgCache, aParent) { }
	/* TEscherDataRecord.Destroy */ inline __fastcall virtual ~TEscherRegroupRecord(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TRuleRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TRuleRecord : public Fmx::Uescherrecords::TEscherDataRecord
{
	typedef Fmx::Uescherrecords::TEscherDataRecord inherited;
	
public:
	virtual bool __fastcall DeleteRef(Fmx::Uescherrecords::TEscherSPRecord* const aShape) = 0 ;
	virtual void __fastcall FixPointers(void) = 0 ;
	virtual void __fastcall ArrangeCopyRowsAndCols(System::TObject* const dSheet) = 0 ;
public:
	/* TEscherDataRecord.Create */ inline __fastcall virtual TRuleRecord(const Fmx::Uescherrecords::TEscherRecordHeader &aEscherHeader, const Fmx::Uescherrecords::PEscherDwgGroupCache aDwgGroupCache, const Fmx::Uescherrecords::PEscherDwgCache aDwgCache, Fmx::Uescherrecords::TEscherContainerRecord* const aParent) : Fmx::Uescherrecords::TEscherDataRecord(aEscherHeader, aDwgGroupCache, aDwgCache, aParent) { }
	/* TEscherDataRecord.Destroy */ inline __fastcall virtual ~TRuleRecord(void) { }
	
};

#pragma pack(pop)

#pragma pack(push,1)
struct DECLSPEC_DRECORD TConnectorRule
{
public:
	unsigned RuleId;
	System::StaticArray<unsigned, 3> SpIds;
	unsigned CpA;
	unsigned CpB;
};
#pragma pack(pop)


typedef TConnectorRule *PConnectorRule;

class DELPHICLASS TEscherConnectorRuleRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TEscherConnectorRuleRecord : public TRuleRecord
{
	typedef TRuleRecord inherited;
	
private:
	TConnectorRule *FConnectorRule;
	System::StaticArray<Fmx::Uescherrecords::TEscherSPRecord*, 3> Shapes;
	
protected:
	virtual Fmx::Uescherrecords::TEscherRecord* __fastcall DoCopyTo(const Fmx::Uescherrecords::PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, System::TObject* const dSheet);
	
public:
	__fastcall virtual TEscherConnectorRuleRecord(const Fmx::Uescherrecords::TEscherRecordHeader &aEscherHeader, const Fmx::Uescherrecords::PEscherDwgGroupCache aDwgGroupCache, const Fmx::Uescherrecords::PEscherDwgCache aDwgCache, Fmx::Uescherrecords::TEscherContainerRecord* const aParent);
	virtual bool __fastcall DeleteRef(Fmx::Uescherrecords::TEscherSPRecord* const aShape);
	virtual void __fastcall FixPointers(void);
	virtual void __fastcall ArrangeCopyRowsAndCols(System::TObject* const dSheet);
public:
	/* TEscherDataRecord.Destroy */ inline __fastcall virtual ~TEscherConnectorRuleRecord(void) { }
	
};

#pragma pack(pop)

#pragma pack(push,1)
struct DECLSPEC_DRECORD TAlignRule
{
public:
	unsigned RuleId;
	unsigned Align;
	unsigned nProxies;
};
#pragma pack(pop)


typedef TAlignRule *PAlignRule;

class DELPHICLASS TEscherAlignRuleRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TEscherAlignRuleRecord : public TRuleRecord
{
	typedef TRuleRecord inherited;
	
private:
	TAlignRule *FAlignRule;
	
protected:
	virtual Fmx::Uescherrecords::TEscherRecord* __fastcall DoCopyTo(const Fmx::Uescherrecords::PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, System::TObject* const dSheet);
	
public:
	__fastcall virtual TEscherAlignRuleRecord(const Fmx::Uescherrecords::TEscherRecordHeader &aEscherHeader, const Fmx::Uescherrecords::PEscherDwgGroupCache aDwgGroupCache, const Fmx::Uescherrecords::PEscherDwgCache aDwgCache, Fmx::Uescherrecords::TEscherContainerRecord* const aParent);
	virtual bool __fastcall DeleteRef(Fmx::Uescherrecords::TEscherSPRecord* const aShape);
	virtual void __fastcall FixPointers(void);
	virtual void __fastcall ArrangeCopyRowsAndCols(System::TObject* const dSheet);
public:
	/* TEscherDataRecord.Destroy */ inline __fastcall virtual ~TEscherAlignRuleRecord(void) { }
	
};

#pragma pack(pop)

#pragma pack(push,1)
struct DECLSPEC_DRECORD TArcRule
{
public:
	unsigned RuleId;
	unsigned SpId;
};
#pragma pack(pop)


typedef TArcRule *PArcRule;

class DELPHICLASS TEscherArcRuleRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TEscherArcRuleRecord : public TRuleRecord
{
	typedef TRuleRecord inherited;
	
private:
	TArcRule *FArcRule;
	Fmx::Uescherrecords::TEscherSPRecord* Shape;
	
protected:
	virtual Fmx::Uescherrecords::TEscherRecord* __fastcall DoCopyTo(const Fmx::Uescherrecords::PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, System::TObject* const dSheet);
	
public:
	__fastcall virtual TEscherArcRuleRecord(const Fmx::Uescherrecords::TEscherRecordHeader &aEscherHeader, const Fmx::Uescherrecords::PEscherDwgGroupCache aDwgGroupCache, const Fmx::Uescherrecords::PEscherDwgCache aDwgCache, Fmx::Uescherrecords::TEscherContainerRecord* const aParent);
	virtual bool __fastcall DeleteRef(Fmx::Uescherrecords::TEscherSPRecord* const aShape);
	virtual void __fastcall FixPointers(void);
	virtual void __fastcall ArrangeCopyRowsAndCols(System::TObject* const dSheet);
public:
	/* TEscherDataRecord.Destroy */ inline __fastcall virtual ~TEscherArcRuleRecord(void) { }
	
};

#pragma pack(pop)

#pragma pack(push,1)
struct DECLSPEC_DRECORD TCalloutRule
{
public:
	unsigned RuleId;
	unsigned SpId;
};
#pragma pack(pop)


typedef TCalloutRule *PCalloutRule;

class DELPHICLASS TEscherCalloutRuleRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TEscherCalloutRuleRecord : public TRuleRecord
{
	typedef TRuleRecord inherited;
	
private:
	TCalloutRule *FCalloutRule;
	Fmx::Uescherrecords::TEscherSPRecord* Shape;
	
protected:
	virtual Fmx::Uescherrecords::TEscherRecord* __fastcall DoCopyTo(const Fmx::Uescherrecords::PEscherDwgCache NewDwgCache, const int RowOfs, const int ColOfs, System::TObject* const dSheet);
	
public:
	__fastcall virtual TEscherCalloutRuleRecord(const Fmx::Uescherrecords::TEscherRecordHeader &aEscherHeader, const Fmx::Uescherrecords::PEscherDwgGroupCache aDwgGroupCache, const Fmx::Uescherrecords::PEscherDwgCache aDwgCache, Fmx::Uescherrecords::TEscherContainerRecord* const aParent);
	virtual bool __fastcall DeleteRef(Fmx::Uescherrecords::TEscherSPRecord* const aShape);
	virtual void __fastcall FixPointers(void);
	virtual void __fastcall ArrangeCopyRowsAndCols(System::TObject* const dSheet);
public:
	/* TEscherDataRecord.Destroy */ inline __fastcall virtual ~TEscherCalloutRuleRecord(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TEscherClientTextBoxRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TEscherClientTextBoxRecord : public Fmx::Uescherrecords::TEscherClientDataRecord
{
	typedef Fmx::Uescherrecords::TEscherClientDataRecord inherited;
	
private:
	System::UnicodeString __fastcall GetValue(void);
	void __fastcall SetValue(const System::UnicodeString aValue);
	
public:
	__property System::UnicodeString Value = {read=GetValue, write=SetValue};
	virtual bool __fastcall WaitingClientData(/* out */ Fmx::Uxlsbaseclientdata::ClassOfTBaseClientData &ClientType);
	__fastcall TEscherClientTextBoxRecord(const Fmx::Uescherrecords::PEscherDwgGroupCache aDwgGroupCache, const Fmx::Uescherrecords::PEscherDwgCache aDwgCache, Fmx::Uescherrecords::TEscherContainerRecord* const aParent);
public:
	/* TEscherClientDataRecord.Create */ inline __fastcall virtual TEscherClientTextBoxRecord(const Fmx::Uescherrecords::TEscherRecordHeader &aEscherHeader, const Fmx::Uescherrecords::PEscherDwgGroupCache aDwgGroupCache, const Fmx::Uescherrecords::PEscherDwgCache aDwgCache, Fmx::Uescherrecords::TEscherContainerRecord* const aParent) : Fmx::Uescherrecords::TEscherClientDataRecord(aEscherHeader, aDwgGroupCache, aDwgCache, aParent) { }
	/* TEscherClientDataRecord.Destroy */ inline __fastcall virtual ~TEscherClientTextBoxRecord(void) { }
	
};

#pragma pack(pop)

//-- var, const, procedure ---------------------------------------------------
}	/* namespace Uescherotherrecords */
}	/* namespace Fmx */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FMX_UESCHEROTHERRECORDS)
using namespace Fmx::Uescherotherrecords;
#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_UescherotherrecordsHPP
