![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtModelDefinitionEditorLogic.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCoreQt/vrvCoreQt.h> 00015 #include <vrvUtil/DtSignalConnectionManager.h> 00016 00017 namespace makVrv 00018 { 00019 class DtDe; 00020 class DtInstanceEditorInterface; 00021 class DtMapEditorInterface; 00022 class DtModelDefinition; 00023 class DtModelDefinitionEditorInterface; 00024 class DtPersistenceControlsInterface; 00025 class DtSettingsBackup; 00026 class DtSettingsChangeObject; 00027 class DtModelDefinitionManager; 00028 00031 class DT_DLL_VRVCOREQT DtModelDefinitionEditorLogic 00032 { 00033 public: 00035 DtModelDefinitionEditorLogic(DtDe& de, 00036 DtInstanceEditorInterface* instanceInterface, 00037 DtModelDefinitionEditorInterface* modelDefInterface, 00038 DtMapEditorInterface* mapInterface, 00039 DtPersistenceControlsInterface* toolbar); 00040 00042 ~DtModelDefinitionEditorLogic(); 00043 00044 protected: 00045 00046 virtual void createModelDefinition(const std::string& definitionName, 00047 const std::string& schema); 00048 virtual void copyModelDefinition(const std::string& definitionName, const std::string& newName); 00049 virtual void deleteModelDefinition(const std::string& definitionName); 00050 virtual void setSelectedDefinition(const std::string& definitionName, const std::string& schema); 00051 virtual void setDefinitionFilter(const std::string& schema); 00052 virtual void renameInstance(const std::string& oldName, 00053 const std::string& definitionName, int); 00054 virtual void setDefinitionSchema(const std::string& schema); 00055 00056 virtual void renameParameter( const std::string& oldName, const std::string& newName); 00057 virtual void modifyValue(const std::string& key, const std::string& value); 00058 virtual void deleteValue(const std::string& key); 00059 00060 std::string generateDefinitionName(const std::string& rootName) const; 00061 00062 void setupInstances(); 00063 00065 bool isDefinitionValid( const DtModelDefinition& definition); 00066 00067 void setupFilters(); 00068 void setupSchema(); 00069 00070 void setupModelDefinition(); 00071 void setupMap(); 00072 00073 protected: 00075 virtual void onExport(); 00076 00078 virtual void onExportSelected(); 00079 00082 virtual void onExportFilenameChosen(const std::string&); 00083 00086 virtual void onExportSelectedChosen(const std::string&); 00087 00089 virtual void onImport(); 00090 00093 virtual void onImportFilenameChosen(const std::string&); 00094 00097 virtual void onMerge(); 00098 00101 virtual void onMergeFilenameChosen(const std::string&); 00102 00104 virtual void modelDefinitionsRestored(const DtSettingsBackup* s); 00105 00107 virtual void schemaChanged(DtSettingsChangeObject*); 00108 00110 virtual DtModelDefinitionManager& definitionManager(); 00111 virtual const DtModelDefinitionManager& definitionManager() const; 00112 00114 virtual void addModelDefinition(const DtModelDefinition& newDef); 00115 00117 virtual void renameModelDefinition(const DtModelDefinition& old, const DtModelDefinition& newDef); 00118 00119 protected: 00120 DtDe& myDe; 00121 DtSignalConnectionManager myConnections; 00122 DtInstanceEditorInterface* myInstanceInterface; 00123 DtModelDefinitionEditorInterface* myModelDefinitionInterface; 00124 DtMapEditorInterface* myMapInterface; 00125 DtPersistenceControlsInterface* myToolbarInterface; 00126 std::string mySelectedDefinition; 00127 std::string myFilter; 00128 std::string mySchema; 00129 }; 00130 00134 class DT_DLL_VRVCOREQT DtModelDefinitionInstanceEditorLogic : public DtModelDefinitionEditorLogic 00135 { 00136 public: 00138 DtModelDefinitionInstanceEditorLogic(DtDe& de, 00139 DtInstanceEditorInterface* instanceInterface, 00140 DtModelDefinitionEditorInterface* modelDefInterface, 00141 DtMapEditorInterface* mapInterface, 00142 DtPersistenceControlsInterface* toolbar); 00143 00145 ~DtModelDefinitionInstanceEditorLogic(); 00146 00148 virtual void commitChanges(); 00149 00150 protected: 00151 virtual DtModelDefinitionManager& definitionManager(); 00152 virtual const DtModelDefinitionManager& definitionManager() const; 00153 00154 virtual void addModelDefinition(const DtModelDefinition& newDef); 00155 00156 virtual void renameModelDefinition(const DtModelDefinition& old, const DtModelDefinition& newDef); 00157 00158 protected: 00159 DtModelDefinitionManager* myManager; 00160 }; 00161 }