12 #include <boost/unordered_map.hpp>
16 class DtElementDefinitionRecord;
17 class DtElementsRecord;
21 class DtElementDefinition;
22 class DtElementDefinitionHierarchy;
23 class DtElementDefinitionNode;
24 class DtVisualAttributeInterface;
31 class DtBaseConnection;
32 class DtElementDefinitionNew;
34 class DtBackupInterface;
35 class DtVisualizerDefinitionValidator;
45 typedef std::map<DtUnicode, DtElementDefinitionNew*>
63 const std::string& name()
const;
70 unsigned int numberOfElementDefinitions()
const;
120 bool renameElementDefinition(
const DtUnicode& oldName,
127 void loadDefaults(
bool loadOnlyFactory);
132 virtual std::vector<std::string> retrieveHierFilesToMerge(std::string type);
137 virtual std::vector<std::string> retrieveLeafFilesToMerge(std::string type);
142 virtual bool shouldSkipDefLoading();
145 void revertSettings();
148 virtual void saveAsDefaults();
152 std::string existingDirName);
155 virtual void exportSettings(
const std::string& fileOrDirName);
158 virtual void exportHierSettings(
const std::string& fileName);
161 virtual void exportLeafSettings(
const std::string& fileName);
164 virtual void exportSelectedLeafSettings(std::vector<std::string>& names,
const std::string& fileName);
169 void createFolderFromPathAndSplit(
const std::string &fileOrDirName,
170 std::string& newPath, std::string& dirName);
176 virtual void importSettings(
const std::string& fileName,
181 virtual void importSettings(
const std::string& fileName);
184 virtual void mergeHierSettings(
const std::string& hierFileOrDirName);
187 virtual void mergeHierSettings(
const std::string& hierFileOrDirName,
193 virtual void mergeLeafSettings(
const std::string& leafFileOrDirName);
196 virtual void mergeLeafSettings(
const std::string& fileOrDirName,
201 virtual void mergeSettings(
const std::string& fileName,
230 virtual void mergeRecord(
237 virtual void mergeHierRecord(
244 virtual void mergeLeafRecord(
258 virtual void getSplitRecord(std::vector<makArchives::DtElementsRecord>& rec,
259 std::vector<std::string>& fileNames);
275 virtual void setAutoSave(
bool enabled);
286 virtual bool canUseHierLeaf();
289 virtual bool modifiedSinceStartup();
301 virtual void resetModifiedFlags();
318 typedef std::vector<const makArchives::DtElementDefinitionRecord*>
ElementGroup;
330 virtual void buildElementVisualizersForModelSet(
336 virtual void buildElementChildren(
348 virtual void registerBackup();
351 virtual bool recordMatchesDefinition(
356 virtual bool recordMatchesDefinitionModelSet(
367 std::vector<makArchives::DtElementsRecord>& recVec,
368 std::vector<std::string>& leafFiles);
371 virtual bool replaceMergeLeaves(
373 std::vector<makArchives::DtElementsRecord>& recVec,
374 const std::vector<std::string>& leafFiles);
381 virtual bool isEntityDefinitions();
471 virtual void registerElementType(ElementDefinitionType type,
472 const std::string& name,
const DtUnicode& typeScreenName,
473 bool proceduralOnly);
487 ElementDefinitionType type)
const;
490 virtual void loadDefaults();
498 template <
typename ManagerClass>
502 template <
typename ManagerClass>
522 typedef boost::unordered_map<unsigned int, DtElementDefinitionManager*>
544 boost::signal<void (const DtUnicode& oldName, const DtUnicode& newName)>