00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __DEMOPAJA_AUTOGIZMOC_H__
00015 #define __DEMOPAJA_AUTOGIZMOC_H__
00016
00017 namespace Composition {
00018 class AutoGizmoC;
00019 };
00020
00021 #include "PajaTypes.h"
00022 #include "DataBlockI.h"
00023 #include "EditableI.h"
00024 #include "ParamI.h"
00025 #include "UndoC.h"
00026 #include "FileIO.h"
00027 #include "EffectI.h"
00028 #include "GizmoI.h"
00029 #include <string>
00030 #include <vector>
00031
00032 namespace Composition {
00033
00035
00066 class AutoGizmoC : public GizmoI
00067 {
00068 public:
00069
00071
00074 static AutoGizmoC* create_new( EffectI* pParent, const char* szName, PajaTypes::uint32 ui32Id );
00075
00077 virtual Edit::DataBlockI* create();
00078
00080 virtual Edit::DataBlockI* create( Edit::EditableI* pOriginal );
00081
00083 virtual void copy( Edit::EditableI* pEditable );
00085 virtual void restore( Edit::EditableI* pEditable );
00086
00088 virtual PajaTypes::int32 get_parameter_count();
00089
00091 virtual void add_parameter( ParamI* pParam );
00092
00094 virtual void del_parameter( PajaTypes::int32 i32Index );
00095
00097 virtual ParamI* get_parameter( PajaTypes::int32 i32Index );
00098
00100
00101 virtual ParamI* get_parameter_by_id( PajaTypes::int32 i32Id );
00102
00104 virtual PajaTypes::uint32 save( FileIO::SaveC* pSave );
00105
00107 virtual PajaTypes::uint32 load( FileIO::LoadC* pLoad );
00108
00109 protected:
00111 AutoGizmoC();
00113
00117 AutoGizmoC( EffectI* pParent, const char* szName, PajaTypes::uint32 ui32Id );
00119 AutoGizmoC( Edit::EditableI* pOriginal );
00121 virtual ~AutoGizmoC();
00122
00123 private:
00124 std::vector<ParamI*> m_rParams;
00125 };
00126
00127 };
00128
00129 #endif // __DEMOPAJA_AUTOGIZMOC_H__