![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: myMtlParamDbWriter.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef MyMtlParameterDbWriter_H_ 00013 #define MyMtlParameterDbWriter_H_ 00014 00015 #include "vrfobjparam/mtlParamDbWriter.h" 00016 #include "entityEditorImpl/myMtlParamDbEntry.h" 00017 00018 class DtReaderWriterRegistry; 00019 class DtComponentDescriptorList; 00020 00021 #include <string> 00022 #include "entityEditorImpl/entityEditorImplDefines.h" 00023 00024 class DT_DLL_entityeditorimpl MyMtlParameterDbWriter : public DtMtlParameterDbWriter 00025 { 00026 public: 00027 00029 MyMtlParameterDbWriter(); 00030 00032 virtual ~MyMtlParameterDbWriter(); 00033 00034 void setSaveHeaderOnSave(bool); 00035 bool saveHeaderOnSave() const; 00036 00037 void setCommentInformation(const std::string&, const DtReaderWriterCommentMap&); 00038 00039 static void setForceSave(bool b) { theForceFlag = b; }; 00040 static bool forceSave() { return theForceFlag; }; 00041 00042 protected: 00044 virtual bool write(DtMtlParameterDb* parameterDb, 00045 const DtFilename& parameterDbFile, const DtFilename& opeDirectory); 00046 00048 virtual bool writeTopLevelParameterDbFile( 00049 const DtMtlParameterDbFileData& parameterFileData, 00050 const DtFilename& parameterDbFile) const; 00051 00052 virtual void processPrePutSelfCb(DtReaderWriter* readerWriterObject, FILE* fp); 00053 virtual void preWrite(const DtMtlParameterDbFileData&, const DtFilename&, FILE*) const; 00054 virtual void writeEntry(DtMtlParameterDbFileData*, 00055 DtMtlParameterDbEntry*, const DtFilename&, const DtFilename&); 00056 virtual DtFilename generateOpeDirectory(const DtFilename& parameterDbFile, const DtFilename& opeDirectory); 00057 virtual void removeAllParametersNamed(DtReaderWriterRegistry& reg, const char* name); 00058 virtual void removeAllParametersNamed(const DtComponentDescriptorList& lst, const char* name); 00059 00060 private: 00062 MyMtlParameterDbWriter(const MyMtlParameterDbWriter& orig); 00063 00065 MyMtlParameterDbWriter& operator=(const MyMtlParameterDbWriter& orig); 00066 00067 protected: 00068 DtReaderWriterCommentMap myFileCommentMap; 00069 DtReaderWriterCommentMap myObjectCommentMap; 00070 std::string myFileComment; 00071 bool mySaveHeaderOnSave; 00072 static bool theForceFlag; 00073 }; 00074 00075 inline void MyMtlParameterDbWriter::setSaveHeaderOnSave(bool b) 00076 { 00077 mySaveHeaderOnSave = b; 00078 } 00079 00080 inline bool MyMtlParameterDbWriter::saveHeaderOnSave() const 00081 { 00082 return mySaveHeaderOnSave; 00083 } 00084 00085 inline void MyMtlParameterDbWriter::setCommentInformation(const std::string& f, const DtReaderWriterCommentMap& c) 00086 { 00087 myFileComment = f; 00088 myFileCommentMap = c; 00089 } 00090 00091 #endif