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

// (DO NOT EDIT: machine generated header) 'XLSChart5.pas' rev: 28.00 (Windows)

#ifndef Xlschart5HPP
#define Xlschart5HPP

#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.Classes.hpp>	// Pascal unit
#include <System.SysUtils.hpp>	// Pascal unit
#include <System.Math.hpp>	// Pascal unit
#include <System.Contnrs.hpp>	// Pascal unit
#include <xpgParseDrawing.hpp>	// Pascal unit
#include <Xc12Utils5.hpp>	// Pascal unit
#include <XLSUtils5.hpp>	// Pascal unit

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

namespace Xlschart5
{
//-- type declarations -------------------------------------------------------
enum DECLSPEC_DENUM TXLSChartType : unsigned char { xctArea, xctArea3d, xctPie, xctPie3d, xctDoughnut, xctOfPie, xctSurface, xctSurface3d, xctLine, xctLine3d, xctStock, xctRadar, xctScatter, xctBar, xctBar3d, xctBubble };

class DELPHICLASS TXLSChartLayout;
class PASCALIMPLEMENTATION TXLSChartLayout : public System::TObject
{
	typedef System::TObject inherited;
	
private:
	double __fastcall GetX2(void);
	double __fastcall GetY2(void);
	void __fastcall SetX2(const double Value);
	void __fastcall SetY2(const double Value);
	
protected:
	double FX;
	double FY;
	double FW;
	double FH;
	unsigned FColor;
	bool FAssigned;
	
public:
	__property double X = {read=FX, write=FX};
	__property double Y = {read=FY, write=FY};
	__property double W = {read=FW, write=FW};
	__property double H = {read=FH, write=FH};
	__property double X1 = {read=FX, write=FX};
	__property double Y1 = {read=FY, write=FY};
	__property double X2 = {read=GetX2, write=SetX2};
	__property double Y2 = {read=GetY2, write=SetY2};
	__property unsigned Color = {read=FColor, write=FColor, nodefault};
	__property bool Assigned = {read=FAssigned, write=FAssigned, nodefault};
public:
	/* TObject.Create */ inline __fastcall TXLSChartLayout(void) : System::TObject() { }
	/* TObject.Destroy */ inline __fastcall virtual ~TXLSChartLayout(void) { }
	
};


class DELPHICLASS TXLSChartSerieValue;
class PASCALIMPLEMENTATION TXLSChartSerieValue : public System::TObject
{
	typedef System::TObject inherited;
	
protected:
	double FValue;
	unsigned FColor;
	
public:
	__property double Value = {read=FValue, write=FValue};
	__property unsigned Color = {read=FColor, write=FColor, nodefault};
public:
	/* TObject.Create */ inline __fastcall TXLSChartSerieValue(void) : System::TObject() { }
	/* TObject.Destroy */ inline __fastcall virtual ~TXLSChartSerieValue(void) { }
	
};


class DELPHICLASS TXLSChartCatAxisItem;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TXLSChartCatAxisItem : public System::TObject
{
	typedef System::TObject inherited;
	
protected:
	System::Classes::TStringList* FValues;
	
public:
	__fastcall TXLSChartCatAxisItem(void);
	__fastcall virtual ~TXLSChartCatAxisItem(void);
	__property System::Classes::TStringList* Values = {read=FValues};
};

#pragma pack(pop)

class DELPHICLASS TXLSChartCatAxis;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TXLSChartCatAxis : public System::Contnrs::TObjectList
{
	typedef System::Contnrs::TObjectList inherited;
	
public:
	TXLSChartCatAxisItem* operator[](int Index) { return Items[Index]; }
	
private:
	TXLSChartCatAxisItem* __fastcall GetItems(int Index);
	Xc12utils5::PXLS3dCellArea __fastcall GetPSourceArea(void);
	
protected:
	bool FValid;
	Xc12utils5::TXLS3dCellArea FSourceArea;
	
public:
	__fastcall TXLSChartCatAxis(void);
	HIDESBASE TXLSChartCatAxisItem* __fastcall Add(void);
	__property bool Valid = {read=FValid, write=FValid, nodefault};
	__property Xc12utils5::TXLS3dCellArea SourceArea = {read=FSourceArea, write=FSourceArea};
	__property Xc12utils5::PXLS3dCellArea PSourceArea = {read=GetPSourceArea};
	__property TXLSChartCatAxisItem* Items[int Index] = {read=GetItems/*, default*/};
public:
	/* TList.Destroy */ inline __fastcall virtual ~TXLSChartCatAxis(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TXLSChartLegendItem;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TXLSChartLegendItem : public System::TObject
{
	typedef System::TObject inherited;
	
protected:
	System::UnicodeString FText;
	unsigned FColor;
	
public:
	__property System::UnicodeString Text = {read=FText, write=FText};
	__property unsigned Color = {read=FColor, write=FColor, nodefault};
public:
	/* TObject.Create */ inline __fastcall TXLSChartLegendItem(void) : System::TObject() { }
	/* TObject.Destroy */ inline __fastcall virtual ~TXLSChartLegendItem(void) { }
	
};

#pragma pack(pop)

class DELPHICLASS TXLSChartLegend;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TXLSChartLegend : public System::Contnrs::TObjectList
{
	typedef System::Contnrs::TObjectList inherited;
	
public:
	TXLSChartLegendItem* operator[](int Index) { return Items[Index]; }
	
private:
	TXLSChartLegendItem* __fastcall GetItems(int Index);
	
protected:
	TXLSChartLayout* FLayout;
	
public:
	__fastcall TXLSChartLegend(void);
	__fastcall virtual ~TXLSChartLegend(void);
	HIDESBASE TXLSChartLegendItem* __fastcall Add(const System::UnicodeString AText);
	__property TXLSChartLayout* Layout = {read=FLayout};
	__property TXLSChartLegendItem* Items[int Index] = {read=GetItems/*, default*/};
};

#pragma pack(pop)

class DELPHICLASS TXLSChartTitle;
class PASCALIMPLEMENTATION TXLSChartTitle : public System::TObject
{
	typedef System::TObject inherited;
	
protected:
	TXLSChartLayout* FLayout;
	System::UnicodeString FText;
	double FFontSize;
	
public:
	__fastcall TXLSChartTitle(void);
	__fastcall virtual ~TXLSChartTitle(void);
	__property TXLSChartLayout* Layout = {read=FLayout};
	__property System::UnicodeString Text = {read=FText, write=FText};
	__property double FontSize = {read=FFontSize, write=FFontSize};
};


class DELPHICLASS TXLSChartSerie;
class DELPHICLASS TXLSChart;
class PASCALIMPLEMENTATION TXLSChartSerie : public System::Contnrs::TObjectList
{
	typedef System::Contnrs::TObjectList inherited;
	
public:
	TXLSChartSerieValue* operator[](int Index) { return Items[Index]; }
	
private:
	TXLSChartSerieValue* __fastcall GetItems(int Index);
	
protected:
	TXLSChart* FParent;
	unsigned FColor;
	System::UnicodeString FLable;
	double FMinVal;
	double FMaxVal;
	
public:
	__fastcall TXLSChartSerie(TXLSChart* AParent);
	__fastcall virtual ~TXLSChartSerie(void);
	HIDESBASE TXLSChartSerieValue* __fastcall Add(const double AValue);
	__property unsigned Color = {read=FColor, write=FColor, nodefault};
	__property System::UnicodeString Lable = {read=FLable, write=FLable};
	__property double MinVal = {read=FMinVal, write=FMinVal};
	__property double MaxVal = {read=FMaxVal, write=FMaxVal};
	__property TXLSChartSerieValue* Items[int Index] = {read=GetItems/*, default*/};
};


class DELPHICLASS TXLSChartCamera3D;
class PASCALIMPLEMENTATION TXLSChartCamera3D : public System::TObject
{
	typedef System::TObject inherited;
	
protected:
	double FRotateX;
	double FRotateY;
	double FLens;
	
public:
	__fastcall TXLSChartCamera3D(void);
	__property double RotateX = {read=FRotateX, write=FRotateX};
	__property double RotateY = {read=FRotateY, write=FRotateY};
	__property double Lens = {read=FLens, write=FLens};
public:
	/* TObject.Destroy */ inline __fastcall virtual ~TXLSChartCamera3D(void) { }
	
};


class PASCALIMPLEMENTATION TXLSChart : public System::Contnrs::TObjectList
{
	typedef System::Contnrs::TObjectList inherited;
	
public:
	TXLSChartSerie* operator[](int Index) { return Items[Index]; }
	
private:
	TXLSChartSerie* __fastcall GetItems(int Index);
	
protected:
	Xpgparsedrawing::TCT_TwoCellAnchor* FAnchor;
	TXLSChartLayout* FLayout;
	unsigned FColor;
	TXLSChartCamera3D* FCamera;
	TXLSChartTitle* FTitle;
	TXLSChartLegend* FLegend;
	double FMinVal;
	double FMaxVal;
	TXLSChartType FChartType;
	bool FHasValAxis;
	bool FHasCatAxis;
	TXLSChartCatAxis* FCatAxis;
	double FGapWidth;
	
public:
	__fastcall TXLSChart(void);
	__fastcall virtual ~TXLSChart(void);
	HIDESBASE TXLSChartSerie* __fastcall Add(void);
	int __fastcall SerieMaxCount(void);
	__property Xpgparsedrawing::TCT_TwoCellAnchor* Anchor = {read=FAnchor, write=FAnchor};
	__property double MinVal = {read=FMinVal, write=FMinVal};
	__property double MaxVal = {read=FMaxVal, write=FMaxVal};
	__property TXLSChartType ChartType = {read=FChartType, write=FChartType, nodefault};
	__property bool HasValAxis = {read=FHasValAxis, write=FHasValAxis, nodefault};
	__property bool HasCatAxis = {read=FHasCatAxis, write=FHasCatAxis, nodefault};
	__property TXLSChartCamera3D* Camera = {read=FCamera};
	__property TXLSChartTitle* Title = {read=FTitle};
	__property TXLSChartLegend* Legend = {read=FLegend};
	__property TXLSChartCatAxis* CatAxis = {read=FCatAxis};
	__property TXLSChartLayout* Layout = {read=FLayout};
	__property double GapWidth = {read=FGapWidth, write=FGapWidth};
	__property unsigned Color = {read=FColor, write=FColor, nodefault};
	__property TXLSChartSerie* Items[int Index] = {read=GetItems/*, default*/};
};


class DELPHICLASS TXLSCharts;
#pragma pack(push,4)
class PASCALIMPLEMENTATION TXLSCharts : public System::Contnrs::TObjectList
{
	typedef System::Contnrs::TObjectList inherited;
	
public:
	TXLSChart* operator[](int Index) { return Items[Index]; }
	
private:
	TXLSChart* __fastcall GetItems(int Index);
	
public:
	__fastcall TXLSCharts(void);
	__fastcall virtual ~TXLSCharts(void);
	HIDESBASE TXLSChart* __fastcall Add(void);
	__property TXLSChart* Items[int Index] = {read=GetItems/*, default*/};
};

#pragma pack(pop)

//-- var, const, procedure ---------------------------------------------------
static const int XLSCHART_DEF_COLOR_FILL = int(0xffffff);
static const System::Int8 XLSCHART_DEF_COLOR_LINE = System::Int8(0x0);
}	/* namespace Xlschart5 */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_XLSCHART5)
using namespace Xlschart5;
#endif
#pragma pack(pop)
#pragma option pop

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