VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtModelDefinitionEditorLogic.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCoreQt/vrvCoreQt.h>
19 #include <vlpi/entityType.h>
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtPage;
26  class DtInstanceEditorInterface;
27  class DtMapEditorInterface;
28  class DtModelDefinition;
29  class DtModelDefinitionEditorInterface;
30  class DtPersistenceControlsInterface;
31  class DtSettingsBackup;
32  class DtSettingsChangeObject;
33  class DtModelDefinitionManager;
34  class DtEntityTypeMapper;
35  class DtElementDefinitionManager;
36  class DtEntityType;
37 
41  {
42  public:
45  DtInstanceEditorInterface* instanceInterface,
46  DtModelDefinitionEditorInterface* modelDefInterface,
47  DtMapEditorInterface* mapInterface,
49  DtPage* page = 0);
50 
53 
55  virtual void checkIfModified();
56 
59  void setFileName(const std::string& currentLocation);
60 
62  void setupFileLocationBar();
63 
66  void changeFileLocation();
67 
68  protected:
69 
70  virtual void createModelDefinition(const std::string& definitionName,
71  const std::string& schema);
72  virtual void copyModelDefinition(const std::string& definitionName, const std::string& newName);
73  virtual void deleteModelDefinition(const std::vector<std::string>& definitionNames);
74  virtual void setSelectedDefinition(const std::string& definitionName, const std::string& schema);
75  virtual void setDefinitionFilter(const std::string& schema);
76  virtual void renameInstance(const std::string& oldName,
77  const std::string& definitionName, int);
78  virtual void setDefinitionSchema(const std::string& schema);
79 
80  virtual void renameParameter( const std::string& oldName, const std::string& newName);
81  virtual void modifyValue(const std::string& key, const std::string& value);
82  virtual void deleteValue(const std::string& key);
83 
84  std::string generateDefinitionName(const std::string& rootName) const;
85 
86  void setupInstances();
87 
90  void setupFileFilter(const std::string& fileName);
91 
92 
93 
95  void changeFileFilter();
96 
100  virtual void slot_currentStyleSheetsPathAboutToBeChanged();
101 
104  virtual void slot_postCurrentStyleSheetsPathChanged();
105 
107  bool isDefinitionValid( const DtModelDefinition& definition);
108 
110  void setupFilters();
111 
112  void setupSchema();
113 
114  void setupModelDefinition();
115 
116  void setupMap();
117 
118  protected:
120  virtual void onExportSelected();
121 
123  virtual void onExportAllFiles();
124 
127  virtual void onExportSelectedChosen(const std::string&);
128 
130  virtual void onImport();
131 
134  virtual void onImportFilenameChosen(const std::string&);
135 
138  virtual void onMerge();
139 
142  virtual void onMergeFilenameChosen(const std::string&);
143 
147  virtual void onSaveDefaults();
148 
150  virtual void modelDefinitionsRestored(const DtSettingsBackup* s);
151 
153  virtual void schemaChanged(DtSettingsChangeObject*);
154 
156  virtual DtModelDefinitionManager& definitionManager();
157  virtual const DtModelDefinitionManager& definitionManager() const;
158 
160  virtual void addModelDefinition(const DtModelDefinition& newDef);
161 
163  virtual void renameModelDefinition(const DtModelDefinition& old, const DtModelDefinition& newDef);
164 
165  protected:
173  std::string mySelectedDefinition;
174  std::string myFilter;
175  std::string mySchema;
176  std::string myDirectoryPath;
177  };
178 
183  {
184  public:
187  DtInstanceEditorInterface* instanceInterface,
188  DtModelDefinitionEditorInterface* modelDefInterface,
189  DtMapEditorInterface* mapInterface,
191 
194 
196  virtual void commitChanges();
197 
198  protected:
199  virtual DtModelDefinitionManager& definitionManager();
200  virtual const DtModelDefinitionManager& definitionManager() const;
201 
202  virtual void addModelDefinition(const DtModelDefinition& newDef);
203 
204  virtual void renameModelDefinition(const DtModelDefinition& old, const DtModelDefinition& newDef);
205 
206  protected:
208  };
209 }
Contains the DtSharedSimulationSettings class declaration.
Abstract interface for instance editor widgets.
Definition: DtInstanceEditorInterface.h:20
DtSignalConnectionManager myConnections
Definition: DtModelDefinitionEditorLogic.h:167
The model definition manager is responsible to managing all of the model definitions the IG knows abo...
Definition: DtModelDefinitionManager.h:78
Interface of the makVrv::DtModelDefinitionEditorWidget for the makVrv::DtModelDefinitionEditorLogic.
Definition: DtModelDefinitionEditorInterface.h:23
DtPage * myPage
Definition: DtModelDefinitionEditorLogic.h:172
DtMapEditorInterface * myMapInterface
Definition: DtModelDefinitionEditorLogic.h:170
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
Abstract interface for controlling persistence of state in a dialog.
Definition: DtPersistenceControlsInterface.h:20
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:42
Contains makVrv::DtDialogJumpToSignaler class.
The logic for editing model definitions.
Definition: DtModelDefinitionEditorLogic.h:40
std::string mySchema
Definition: DtModelDefinitionEditorLogic.h:175
Specialized version of editor logic to allow logic to be edited locally on an instance editor page ra...
Definition: DtModelDefinitionEditorLogic.h:182
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:51
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:23
Interface for a key/value pair editor GUI.
Definition: DtMapEditorInterface.h:19
DtPersistenceControlsInterface * myToolbarInterface
Definition: DtModelDefinitionEditorLogic.h:171
DtModelDefinitionEditorInterface * myModelDefinitionInterface
Definition: DtModelDefinitionEditorLogic.h:169
DtModelDefinitionManager * myManager
Definition: DtModelDefinitionEditorLogic.h:207
Base class to provide boost signal/slot management.
makVrv::DtSettingsChangeObject is a base class for all settings change objects
Definition: DtSettingsChangeManager.h:31
std::string myDirectoryPath
Definition: DtModelDefinitionEditorLogic.h:176
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
DtInstanceEditorInterface * myInstanceInterface
Definition: DtModelDefinitionEditorLogic.h:168
DtDe & myDe
Definition: DtModelDefinitionEditorLogic.h:166
Contains makVrv::DtEntityTypeMapper class.
std::string myFilter
Definition: DtModelDefinitionEditorLogic.h:174
std::string mySelectedDefinition
Definition: DtModelDefinitionEditorLogic.h:173
Contains data for newly created element definitions.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)