VR-Forces 4.7 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 
23 #include <vrvUtil/signalslib.h>
26 
28 #include <map>
29 
30 class DtEntityType;
31 class QWidget;
32 class QMainWindow;
33 
34 namespace makVrv
35 {
36  class DtDe;
37 }
38 
39 namespace makVrf
40 {
41  class DtPointObjectDefinitionDialog;
42  class DtCreateAndEditObjectDialogInterface;
43  class DtVrfObjectModifierDialogCreator;
44  class DtObjectDefinitionDialogCreationParameters;
45 
46 
48  {
49  public:
52  DtClonableUnicode(const makVrv::DtUnicode& orig) : DtUnicode(orig) {};
53  DtClonableUnicode(const DtClonableUnicode& orig) : DtUnicode(orig) {};
54  virtual ~DtClonableUnicode() {};
55 
56  virtual DtClonableUnicode* clone() const { return new DtClonableUnicode(*this); };
57  };
58 
65  {
68 
69  public:
70 
73 
76 
78  static DtVrfObjectModifierDialogManager& instance(makVrv::DtDe& de);
79 
81  virtual void connectToCreationManager();
82 
84  virtual void connectToEditingManager();
85 
87  virtual void disconnectFromCreationManager();
88 
90  virtual void disconnectFromEditingManager();
91 
94  virtual void setShowDialogs(bool flag);
95 
97  virtual void populateDialogFromStmt(const DtCreateObjectCommand* cmd);
98 
100  virtual void addDialogCreationFcnForKind(DtEntityType, DtObjectDefinitionDialogCreationParameters*);
101 
103  virtual void removeDialogCreationFcnForKind(DtEntityType);
104 
105  virtual void addDefaultTitle(const DtEntityType& key, const makVrv::DtUnicode&);
106  virtual DtClonableUnicode* defaultTitle(const DtEntityType&) const;
107 
108  protected:
109  virtual void pushSelections();
110  virtual void popSelections();
111 
113  virtual void slot_creatingObject(const DtEntityType& type, int force, DtCreationSignalType signalCreate = DtNoCreationSignal);
114 
116  virtual void slot_creatingTerrainProp();
117 
119  virtual void slot_creationStopped();
120 
122  virtual void slot_editingObject(const makVrv::DtUniqueID&, const DtEditingType&);
123  virtual void slot_editingObjectByEntityType(const DtEntityType& thisEntityType,
124  const DtEditingType& editType, const makVrv::DtUniqueID& principalID = 0);
125 
127  virtual void slot_editingTerrainProp(const makVrv::DtUniqueID&, const DtEditingType&);
128 
130  virtual void slot_editingStopped();
131 
133  virtual void destroyPropertiesDlg();
134 
138  virtual DtObjectDefinitionDialogCreationParameters* lookupCreatorFromEntityType(const DtEntityType& ent,
139  const std::string& keywords);
140 
141  virtual std::string findEntityTypeName(const DtEntityType& ent);
142 
143  public:
144  boost::signal<void (DtCreateAndEditObjectDialogInterface*)> signal_dialogCreated;
145  boost::signal<void (DtCreateAndEditObjectDialogInterface*)> signal_dialogAboutToBeDestroyed;
146 
147  protected:
148 
156 
157  //Default object titles for objects that do not have types in the mst file
159 
160  typedef std::vector<makVrv::DtSelectionManager::IdSet> Selections;
162 
165  };
166 
167 
169  //entity-specific flags important to the dialog creation process
170 
172  {
173  public :
174 
175  DtObjectDefinitionDialogCreationParameters(DtVrfObjectModifierDialogCreator* objectModifierDialogCreatorIn, bool forceDialogToAppearInPlansIn = false);
176 
178 
179  DtVrfObjectModifierDialogCreator* objectModifierDialogCreator();
180 
181  bool forceDialogToAppearInPlans();
182 
183  void setObjectModifierDialogCreator(DtVrfObjectModifierDialogCreator* inputObjectModifierDialogCreator);
184 
185  void setForceDialogToAppearInPlans(bool inputForceDialogToAppearInPlans);
186 
188 
189  protected:
190 
192 
193  //This flag overrides previous user input regarding whether the create autohide dialog
194  //is closed in plan-based object creation and all kinds of object edits.
195  //The default is "false" but control objects are generally set to "true"
196 
198  };
199 
200 
201 
202 
203 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)