VR-Forces 4.10 Class Documentation
 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) 2020 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 
98  bool isDefinitionValid( const DtModelDefinition& definition);
99 
101  void setupFilters();
102 
103  void setupSchema();
104 
105  void setupModelDefinition();
106 
107  void setupMap();
108 
109  protected:
111  virtual void onExportSelected();
112 
114  virtual void onExportAllFiles();
115 
118  virtual void onExportSelectedChosen(const std::string&);
119 
121  virtual void onImport();
122 
125  virtual void onImportFilenameChosen(const std::string&);
126 
129  virtual void onMerge();
130 
133  virtual void onMergeFilenameChosen(const std::string&);
134 
138  virtual void onSaveDefaults();
139 
141  virtual void modelDefinitionsRestored(const DtSettingsBackup* s);
142 
144  virtual void schemaChanged(DtSettingsChangeObject*);
145 
147  virtual DtModelDefinitionManager& definitionManager();
148  virtual const DtModelDefinitionManager& definitionManager() const;
149 
151  virtual void addModelDefinition(const DtModelDefinition& newDef);
152 
154  virtual void renameModelDefinition(const DtModelDefinition& old, const DtModelDefinition& newDef);
155 
156  protected:
164  std::string mySelectedDefinition;
165  std::string myFilter;
166  std::string mySchema;
167  std::string myDirectoryPath;
168  };
169 
174  {
175  public:
178  DtInstanceEditorInterface* instanceInterface,
179  DtModelDefinitionEditorInterface* modelDefInterface,
180  DtMapEditorInterface* mapInterface,
182 
185 
187  virtual void commitChanges();
188 
189  protected:
190  virtual DtModelDefinitionManager& definitionManager();
191  virtual const DtModelDefinitionManager& definitionManager() const;
192 
193  virtual void addModelDefinition(const DtModelDefinition& newDef);
194 
195  virtual void renameModelDefinition(const DtModelDefinition& old, const DtModelDefinition& newDef);
196 
197  protected:
199  };
200 }
Contains the DtSharedSimulationSettings class declaration.
Abstract interface for instance editor widgets.
Definition: DtInstanceEditorInterface.h:21
DtSignalConnectionManager myConnections
Definition: DtModelDefinitionEditorLogic.h:158
The model definition manager is responsible to managing all of the model definitions the IG knows abo...
Definition: DtModelDefinitionManager.h:79
Interface of the makVrv::DtModelDefinitionEditorWidget for the makVrv::DtModelDefinitionEditorLogic.
Definition: DtModelDefinitionEditorInterface.h:23
DtPage * myPage
Definition: DtModelDefinitionEditorLogic.h:163
DtMapEditorInterface * myMapInterface
Definition: DtModelDefinitionEditorLogic.h:161
Contains data for newly created element definitions.
#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:38
Contains makVrv::DtDialogJumpToSignaler class.
The logic for editing model definitions.
Definition: DtModelDefinitionEditorLogic.h:40
std::string mySchema
Definition: DtModelDefinitionEditorLogic.h:166
Specialized version of editor logic to allow logic to be edited locally on an instance editor page ra...
Definition: DtModelDefinitionEditorLogic.h:173
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:27
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:162
DtModelDefinitionEditorInterface * myModelDefinitionInterface
Definition: DtModelDefinitionEditorLogic.h:160
DtModelDefinitionManager * myManager
Definition: DtModelDefinitionEditorLogic.h:198
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:167
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtInstanceEditorInterface * myInstanceInterface
Definition: DtModelDefinitionEditorLogic.h:159
DtDe & myDe
Definition: DtModelDefinitionEditorLogic.h:157
Contains makVrv::DtEntityTypeMapper class.
std::string myFilter
Definition: DtModelDefinitionEditorLogic.h:165
std::string mySelectedDefinition
Definition: DtModelDefinitionEditorLogic.h:164

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)