35 #ifndef IECOREMAYA_PARAMETERISEDHOLDERMODIFICATIONCMD_H
36 #define IECOREMAYA_PARAMETERISEDHOLDERMODIFICATIONCMD_H
40 #include "maya/MPxCommand.h"
41 #include "maya/MSyntax.h"
42 #include "maya/MStringArray.h"
44 #include "IECore/CompoundData.h"
46 #include "IECoreMaya/ParameterisedHolderInterface.h"
47 #include "IECoreMaya/MArrayIter.h"
65 class ParameterisedHolderModificationCmd :
public MPxCommand
70 ParameterisedHolderModificationCmd();
71 virtual ~ParameterisedHolderModificationCmd();
73 static void *creator();
75 virtual bool isUndoable()
const;
76 virtual bool hasSyntax()
const;
78 virtual MStatus doIt(
const MArgList &argList );
79 virtual MStatus undoIt();
80 virtual MStatus redoIt();
85 void storeParametersWithNewValues(
const IECore::Object *originalValue,
const IECore::Object *newValue,
const std::string ¶meterPath );
86 void setNodeValuesForParametersWithNewValues()
const;
88 void despatchSetParameterisedCallbacks()
const;
89 void despatchClassSetCallbacks()
const;
93 ParameterisedHolderInterface *m_parameterisedHolder;
95 IECore::ConstCompoundDataPtr m_originalClasses;
96 IECore::ConstCompoundDataPtr m_newClasses;
98 IECore::ConstObjectPtr m_originalValues;
99 IECore::ConstObjectPtr m_newValues;
100 std::set<std::string> m_parametersWithNewValues;
102 bool m_changingClass;
103 MString m_originalClassName;
104 int m_originalClassVersion;
105 MString m_originalSearchPathEnvVar;
107 MString m_newClassName;
108 int m_newClassVersion;
109 MString m_newSearchPathEnvVar;
115 static IECore::ConstObjectPtr g_originalValue;
116 static IECore::ConstCompoundDataPtr g_originalClasses;
117 static IECore::ConstObjectPtr g_newValue;
118 static IECore::ConstCompoundDataPtr g_newClasses;
119 friend void IECoreMaya::parameterisedHolderAssignModificationState( IECore::ObjectPtr originalValue, IECore::CompoundDataPtr originalClasses, IECore::ObjectPtr newValue, IECore::CompoundDataPtr newClasses );
124 #endif // IECOREMAYA_PARAMETERISEDHOLDERMODIFICATIONCMD_H
Definition: Parameter.h:53
Definition: ParameterisedInterface.h:50
Definition: CompoundData.h:47
The IECoreMaya namespace holds all the functionality of libIECoreMaya.
Definition: BoolParameterHandler.h:44