VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfObjectModifierDialogManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
18 #include <boost/signals2.hpp>
19 
24 #include <vrvUtil/signalslib.h>
27 
29 #include <map>
30 
31 class DtEntityType;
32 class QWidget;
33 class QMainWindow;
34 
35 namespace makVrv
36 {
37  class DtDe;
38 }
39 
40 namespace makVrf
41 {
42  class DtPointObjectDefinitionDialog;
43  class DtCreateAndEditObjectDialogInterface;
44  class DtVrfObjectModifierDialogCreator;
45  class DtObjectDefinitionDialogCreationParameters;
46 
47 
49  {
50  public:
53  DtClonableUnicode(const makVrv::DtUnicode& orig) : DtUnicode(orig) {};
54  DtClonableUnicode(const DtClonableUnicode& orig) : DtUnicode(orig) {};
55  virtual ~DtClonableUnicode() {};
56 
57  virtual DtClonableUnicode* clone() const { return new DtClonableUnicode(*this); };
58  };
59 
66  {
69 
70  public:
71 
74 
77 
79  static DtVrfObjectModifierDialogManager& instance(makVrv::DtDe& de);
80 
82  virtual void connectToCreationManager();
83 
85  virtual void connectToEditingManager();
86 
88  virtual void disconnectFromCreationManager();
89 
91  virtual void disconnectFromEditingManager();
92 
95  virtual void setShowDialogs(bool flag);
96 
98  virtual void populateDialogFromStmt(const DtCreateObjectCommand* cmd);
99 
101  virtual void addDialogCreationFcnForKind(DtEntityType, DtObjectDefinitionDialogCreationParameters*);
102 
104  virtual void removeDialogCreationFcnForKind(DtEntityType);
105 
106  virtual void addDefaultTitle(const DtEntityType& key, const makVrv::DtUnicode&);
107  virtual DtClonableUnicode* defaultTitle(const DtEntityType&) const;
108 
109  protected:
111  virtual void slot_creatingObject(const DtEntityType& type, int force, DtCreationSignalType signalCreate = DtNoCreationSignal);
112 
114  virtual void slot_creatingTerrainProp();
115 
117  virtual void slot_creationStopped();
118 
120  virtual void slot_editingObject(const makVrv::DtUniqueID&, const DtEditingType&);
121  virtual void slot_editingObjectByEntityType(const DtEntityType& thisEntityType,
122  const DtEditingType& editType, const makVrv::DtUniqueID& principalID = 0);
123 
125  virtual void slot_editingTerrainProp(const makVrv::DtUniqueID&, const DtEditingType&);
126 
128  virtual void slot_editingStopped();
129 
131  virtual void destroyPropertiesDlg();
132 
136  virtual DtObjectDefinitionDialogCreationParameters* lookupCreatorFromEntityType(const DtEntityType& ent,
137  const std::string& keywords);
138 
139  virtual std::string findEntityTypeName(const DtEntityType& ent);
140 
141  public:
142  boost::signals2::signal<void (DtCreateAndEditObjectDialogInterface*)> signal_dialogCreated;
143  boost::signals2::signal<void (DtCreateAndEditObjectDialogInterface*)> signal_dialogAboutToBeDestroyed;
144 
145  protected:
146 
154 
155  //Default object titles for objects that do not have types in the mst file
157 
160  };
161 
162 
164  //entity-specific flags important to the dialog creation process
165 
167  {
168  public :
169 
170  DtObjectDefinitionDialogCreationParameters(DtVrfObjectModifierDialogCreator* objectModifierDialogCreatorIn, bool forceDialogToAppearInPlansIn = false);
171 
173 
174  DtVrfObjectModifierDialogCreator* objectModifierDialogCreator();
175 
176  bool forceDialogToAppearInPlans();
177 
178  void setObjectModifierDialogCreator(DtVrfObjectModifierDialogCreator* inputObjectModifierDialogCreator);
179 
180  void setForceDialogToAppearInPlans(bool inputForceDialogToAppearInPlans);
181 
183 
184  protected:
185 
187 
188  //This flag overrides previous user input regarding whether the create autohide dialog
189  //is closed in plan-based object creation and all kinds of object edits.
190  //The default is "false" but control objects are generally set to "true"
191 
193  };
194 
195 
196 
197 
198 }
Contains makVrv::DtUserInterfaceAssembler class.
Definition: createAndEditObjectDialogInterface.h:121
Virtual base class.
Definition: DtVirtualBaseClass.h:22
A unicode string.
Definition: DtUnicode.h:33
DefaultTitles myDefaultObjectTitles
Definition: vrfObjectModifierDialogManager.h:156
QMainWindow * myMainWindow
Definition: vrfObjectModifierDialogManager.h:148
DtOrderedEntityTypeList< DtObjectDefinitionDialogCreationParameters * > VrfCreateAndEditDialogCreators
Definition: vrfObjectModifierDialogManager.h:67
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
boost::signals2::signal< void(DtCreateAndEditObjectDialogInterface *)> signal_dialogCreated
Definition: vrfObjectModifierDialogManager.h:142
DtSimCommand subclass for creating a new VrfObjects.
Definition: createObjectCommand.h:36
virtual DtClonableUnicode * clone() const
Definition: vrfObjectModifierDialogManager.h:57
Contains makVrv:DtSelectionManager class.
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:44
Definition: createAndEditObjectDialogInterface.h:29
DtClonableUnicode(const makVrv::DtUnicode &orig)
Definition: vrfObjectModifierDialogManager.h:53
DtOrderedEntityTypeList< DtClonableUnicode * > DefaultTitles
Definition: vrfObjectModifierDialogManager.h:68
DtCreateAndEditObjectDialogInterface * myObjectPropertiesDlg
Definition: vrfObjectModifierDialogManager.h:149
Structure indexed by VrfCreateAndEditDialogCreators. Specifies a creator function and...
Definition: vrfObjectModifierDialogManager.h:166
DtClonableUnicode()
CTOR.
Definition: vrfObjectModifierDialogManager.h:52
makVrv::DtSignalConnectionManager myCreationSignals
Definition: vrfObjectModifierDialogManager.h:158
Contains makVrv::DtVirtualBaseClass class.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
bool myForceDialogToAppearInPlans
Definition: vrfObjectModifierDialogManager.h:192
makVrv::DtDe & myDe
Definition: vrfObjectModifierDialogManager.h:147
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
boost::signals2::signal< void(DtCreateAndEditObjectDialogInterface *)> signal_dialogAboutToBeDestroyed
Definition: vrfObjectModifierDialogManager.h:143
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
VrfCreateAndEditDialogCreators myDialogCreators
mapping of DtEntityTypes (including possibly wildcards) to specific DtVrfObjectModifierDialogCreator ...
Definition: vrfObjectModifierDialogManager.h:151
Base class to provide boost signal/slot management.
DtVrfObjectModifierDialogCreator * myObjectModifierDialogCreator
Definition: vrfObjectModifierDialogManager.h:186
Manages the appearance/disposal of creation/editing dialogs associated with creating/editing vrforces...
Definition: vrfObjectModifierDialogManager.h:65
Definition: vrfObjectModifierDialogManager.h:48
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
virtual ~DtClonableUnicode()
Definition: vrfObjectModifierDialogManager.h:55
bool myShowDialogs
Definition: vrfObjectModifierDialogManager.h:153
DtCreationSignalType
Definition: vrfObjectManipulationHandlerBaseClass.h:71
Contains makVrv::DtQtDeMainWindow class.
makVrv::DtSignalConnectionManager myEditingSignals
Definition: vrfObjectModifierDialogManager.h:159
DtClonableUnicode(const DtClonableUnicode &orig)
Definition: vrfObjectModifierDialogManager.h:54
bool myManualEdit
Definition: vrfObjectModifierDialogManager.h:152
The Qt main window.
Definition: DtQtDeMainWindow.h:40

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)