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

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

#ifndef Fmx_UxlsnotesHPP
#define Fmx_UxlsnotesHPP

#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 <FMX.UXlsBaseRecords.hpp>	// Pascal unit
#include <FMX.UXlsRowColEntries.hpp>	// Pascal unit
#include <FMX.UXlsBaseRecordLists.hpp>	// Pascal unit
#include <FMX.UXlsEscher.hpp>	// Pascal unit
#include <FMX.UEscherRecords.hpp>	// Pascal unit
#include <FMX.XlsMessages.hpp>	// Pascal unit
#include <FMX.UFlxMessages.hpp>	// Pascal unit
#include <System.Classes.hpp>	// Pascal unit
#include <System.Contnrs.hpp>	// Pascal unit

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

namespace Fmx
{
namespace Uxlsnotes
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TNoteRecord;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TNoteRecord : public Fmx::Uxlsbaserecords::TBaseRowColRecord
{
	typedef Fmx::Uxlsbaserecords::TBaseRowColRecord inherited;
	
private:
	Fmx::Uescherrecords::TEscherClientDataRecord* Dwg;
	System::UnicodeString __fastcall GetText(void);
	void __fastcall SetText(const System::UnicodeString Value);
	
protected:
	virtual Fmx::Uxlsbaserecords::TBaseRecord* __fastcall DoCopyTo(void);
	
public:
	__fastcall TNoteRecord(const int aRow, const int aCol, const System::UnicodeString aTxt, Fmx::Uxlsescher::TDrawing* const Drawing, const Fmx::Uflxmessages::TImageProperties &Properties, System::TObject* const sSheet);
	__fastcall virtual ~TNoteRecord(void);
	virtual void __fastcall ArrangeCopyRowsAndCols(const int RowOffset, const int ColOffset);
	virtual void __fastcall ArrangeInsertRowsAndCols(const int aRowPos, const int aRowCount, const int aColPos, const int aColCount, const Fmx::Xlsmessages::TSheetInfo &SheetInfo);
	void __fastcall FixDwgIds(Fmx::Uxlsescher::TDrawing* const Drawing);
	__property System::UnicodeString Text = {read=GetText, write=SetText};
public:
	/* TBaseRowColRecord.Create */ inline __fastcall virtual TNoteRecord(const System::Word aId, const Fmx::Xlsmessages::PArrayOfByte aData, const int aDataSize) : Fmx::Uxlsbaserecords::TBaseRowColRecord(aId, aData, aDataSize) { }
	
};

#pragma pack(pop)

class DELPHICLASS TNoteRecordList;
class PASCALIMPLEMENTATION TNoteRecordList : public Fmx::Uxlsbaserecordlists::TBaseRowColRecordList
{
	typedef Fmx::Uxlsbaserecordlists::TBaseRowColRecordList inherited;
	
public:
	TNoteRecord* operator[](int index) { return Items[index]; }
	
private:
	HIDESBASE TNoteRecord* __fastcall GetItems(int index);
	HIDESBASE void __fastcall SetItems(int index, TNoteRecord* const Value);
	
public:
	__property TNoteRecord* Items[int index] = {read=GetItems, write=SetItems/*, default*/};
	HIDESBASE int __fastcall Add(TNoteRecord* aRecord);
	HIDESBASE void __fastcall Insert(int Index, TNoteRecord* aRecord);
	void __fastcall FixDwgIds(Fmx::Uxlsescher::TDrawing* const Drawing);
public:
	/* TObjectList.Create */ inline __fastcall TNoteRecordList(void)/* overload */ : Fmx::Uxlsbaserecordlists::TBaseRowColRecordList() { }
	/* TObjectList.Create */ inline __fastcall TNoteRecordList(bool AOwnsObjects)/* overload */ : Fmx::Uxlsbaserecordlists::TBaseRowColRecordList(AOwnsObjects) { }
	
public:
	/* TList.Destroy */ inline __fastcall virtual ~TNoteRecordList(void) { }
	
};


class DELPHICLASS TNoteList;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TNoteList : public Fmx::Uxlsrowcolentries::TBaseRowColList
{
	typedef Fmx::Uxlsrowcolentries::TBaseRowColList inherited;
	
public:
	TNoteRecordList* operator[](int index) { return Items[index]; }
	
private:
	HIDESBASE TNoteRecordList* __fastcall GetItems(int index);
	HIDESBASE void __fastcall SetItems(int index, TNoteRecordList* const Value);
	
public:
	__property TNoteRecordList* Items[int index] = {read=GetItems, write=SetItems/*, default*/};
	HIDESBASE int __fastcall Add(TNoteRecordList* aRecord);
	HIDESBASE void __fastcall Insert(int Index, TNoteRecordList* aRecord);
	__fastcall TNoteList(void);
	void __fastcall FixDwgIds(Fmx::Uxlsescher::TDrawing* const Drawing);
	void __fastcall AddNewComment(const int Row, const int Col, const System::UnicodeString Txt, Fmx::Uxlsescher::TDrawing* const Drawing, const Fmx::Uflxmessages::TImageProperties &Properties, System::TObject* const sSheet);
public:
	/* TList.Destroy */ inline __fastcall virtual ~TNoteList(void) { }
	
};

#pragma pack(pop)

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