VR-Forces 5.0.2 Developer's Guide
 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 
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 
69  {
72 
73  public:
74 
77 
80 
82  static DtVrfObjectModifierDialogManager& instance(makVrv::DtDe& de);
83 
85  virtual void connectToCreationManager();
86 
88  virtual void connectToEditingManager();
89 
91  virtual void disconnectFromCreationManager();
92 
94  virtual void disconnectFromEditingManager();
95 
98  virtual void setShowDialogs(bool flag);
99 
101  virtual void populateDialogFromStmt(const DtCreateObjectCommand* cmd);
102 
104  virtual void addDialogCreationFcnForKind(DtEntityType, DtObjectDefinitionDialogCreationParameters*);
105 
107  virtual void removeDialogCreationFcnForKind(DtEntityType);
108 
109  virtual void addDefaultTitle(const DtEntityType& key, const makVrv::DtUnicode&);
110  virtual DtClonableUnicode* defaultTitle(const DtEntityType&) const;
111 
112  protected:
114  virtual void slot_creatingObject(const DtEntityType& type, int force, DtCreationSignalType signalCreate = DtNoCreationSignal);
115 
117  virtual void slot_creatingTerrainProp();
118 
120  virtual void slot_creationStopped();
121 
123  virtual void slot_editingObject(const makVrv::DtUniqueID&, const DtEditingType&);
124  virtual void slot_editingObjectByEntityType(const DtEntityType& thisEntityType,
125  const DtEditingType& editType, const makVrv::DtUniqueID& principalID = 0);
126 
128  virtual void slot_editingTerrainProp(const makVrv::DtUniqueID&, const DtEditingType&);
129 
131  virtual void slot_editingStopped();
132 
134  virtual void destroyPropertiesDlg();
135 
139  virtual DtObjectDefinitionDialogCreationParameters* lookupCreatorFromEntityType(const DtEntityType& ent,
140  const std::string& keywords);
141 
142  virtual std::string findEntityTypeName(const DtEntityType& ent);
143 
144  public:
145  boost::signals2::signal<void (DtCreateAndEditObjectDialogInterface*)> signal_dialogCreated;
146  boost::signals2::signal<void (DtCreateAndEditObjectDialogInterface*)> signal_dialogAboutToBeDestroyed;
147 
148  protected:
149 
157 
158  //Default object titles for objects that do not have types in the mst file
160 
163  };
164 
165 
167  //entity-specific flags important to the dialog creation process
168 
170  {
171  public :
172 
173  DtObjectDefinitionDialogCreationParameters(DtVrfObjectModifierDialogCreator* objectModifierDialogCreatorIn, bool forceDialogToAppearInPlansIn = false);
174 
176 
177  DtVrfObjectModifierDialogCreator* objectModifierDialogCreator();
178 
179  bool forceDialogToAppearInPlans();
180 
181  void setObjectModifierDialogCreator(DtVrfObjectModifierDialogCreator* inputObjectModifierDialogCreator);
182 
183  void setForceDialogToAppearInPlans(bool inputForceDialogToAppearInPlans);
184 
186 
187  protected:
188 
190 
191  //This flag overrides previous user input regarding whether the create autohide dialog
192  //is closed in plan-based object creation and all kinds of object edits.
193  //The default is "false" but control objects are generally set to "true"
194 
196  };
197 
198 
199 
200 
201 }
Contains makVrv::DtUserInterfaceAssembler class.
Definition: createAndEditObjectDialogInterface.h:121
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
DefaultTitles myDefaultObjectTitles
Definition: vrfObjectModifierDialogManager.h:159
QMainWindow * myMainWindow
Definition: vrfObjectModifierDialogManager.h:151
DtOrderedEntityTypeList< DtObjectDefinitionDialogCreationParameters * > VrfCreateAndEditDialogCreators
Definition: vrfObjectModifierDialogManager.h:70
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
boost::signals2::signal< void(DtCreateAndEditObjectDialogInterface *)> signal_dialogCreated
Definition: vrfObjectModifierDialogManager.h:145
DtSimCommand subclass for creating a new VrfObjects. Used for both single and multi-point objects...
Definition: createObjectCommand.h:36
virtual DtClonableUnicode * clone() const
Definition: vrfObjectModifierDialogManager.h:57
Contains makVrv:DtSelectionManager class.
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
Definition: createAndEditObjectDialogInterface.h:29
DtClonableUnicode(const makVrv::DtUnicode &orig)
Definition: vrfObjectModifierDialogManager.h:53
DtOrderedEntityTypeList< DtClonableUnicode * > DefaultTitles
Definition: vrfObjectModifierDialogManager.h:71
DtCreateAndEditObjectDialogInterface * myObjectPropertiesDlg
Definition: vrfObjectModifierDialogManager.h:152
Structure indexed by VrfCreateAndEditDialogCreators. Specifies a creator function and...
Definition: vrfObjectModifierDialogManager.h:169
DtClonableUnicode()
CTOR.
Definition: vrfObjectModifierDialogManager.h:52
makVrv::DtSignalConnectionManager myCreationSignals
Definition: vrfObjectModifierDialogManager.h:161
Contains makVrv::DtVirtualBaseClass class.
Definition: vrfObjectManipulationHandlerBaseClass.h:75
bool myForceDialogToAppearInPlans
Definition: vrfObjectModifierDialogManager.h:195
makVrv::DtDe & myDe
Definition: vrfObjectModifierDialogManager.h:150
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::signals2::signal< void(DtCreateAndEditObjectDialogInterface *)> signal_dialogAboutToBeDestroyed
Definition: vrfObjectModifierDialogManager.h:146
VrfCreateAndEditDialogCreators myDialogCreators
mapping of DtEntityTypes (including possibly wildcards) to specific DtVrfObjectModifierDialogCreator ...
Definition: vrfObjectModifierDialogManager.h:154
Base class to provide boost signal/slot management.
DtVrfObjectModifierDialogCreator * myObjectModifierDialogCreator
Definition: vrfObjectModifierDialogManager.h:189
Manages the appearance/disposal of creation/editing dialogs associated with creating/editing vrforces...
Definition: vrfObjectModifierDialogManager.h:68
Definition: vrfObjectModifierDialogManager.h:48
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:70
virtual ~DtClonableUnicode()
Definition: vrfObjectModifierDialogManager.h:55
bool myShowDialogs
Definition: vrfObjectModifierDialogManager.h:156
DtCreationSignalType
Option to supply to the createObject method.
Definition: vrfObjectManipulationHandlerBaseClass.h:73
Contains makVrv::DtQtDeMainWindow class.
makVrv::DtSignalConnectionManager myEditingSignals
Definition: vrfObjectModifierDialogManager.h:162
DtClonableUnicode(const DtClonableUnicode &orig)
Definition: vrfObjectModifierDialogManager.h:54
bool myManualEdit
Definition: vrfObjectModifierDialogManager.h:155
The Qt main window. There will be only one of these per DtDe instance. Note, this window will be dest...
Definition: DtQtDeMainWindow.h:43

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)