#ifndef CURVESET_H
#define CURVESET_H

#include "DynaPanel.h"
#include <Stuff\Stuff.hpp>
#include <gosFX\gosFX.hpp>
#include <gosFX\effect.hpp>

class CurveSet
{
public:
	enum ConTypeTag {BLANK,TEXT,TEXTUREBROWSER,TEXTUREBROWSER2,
					CURVEPANEL,TFPANEL,VARVAL,NUMVAL,FLOATVAL,
					SHAPEPANEL,SHAPECLOUDPANEL,PROFILEPANEL,
					EBFPANEL,POINTPANEL,MLRSTATEPANEL};
protected:
	ConTypeTag Type; 
	Stuff::DynamicMemoryStream *Stream;
	int StackLevel;
public:
//	float Min,Max;
	CString Name;
	gosFX::Curve *Curve;
	CDynaPanel *Panel;
	void PushState();
	void PopState();
	void PopNoSave();
	void VerifyAndPop();
	gosFX::Effect__Specification *EffSpec;
	void SetType(ConTypeTag,void *dat=NULL);
	CurveSet() { Stream=NULL; Panel=NULL; Reset();}
	bool IsDataValid();
	void Reset(); 
};

#endif