VR-Forces 4.0.4 Class Documentation
include/vrvCoreQt/DtModelDefinitionEditorLogic.h
Go to the documentation of this file.
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 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)