VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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>
25 
27 #include <map>
28 
29 class DtEntityType;
30 class QWidget;
31 class QMainWindow;
32 
33 namespace makVrv
34 {
35  class DtDe;
36 }
37 
38 namespace makVrf
39 {
40  class DtPointObjectDefinitionDialog;
41  class DtCreateAndEditObjectDialogInterface;
42  class DtVrfObjectModifierDialogCreator;
43  class DtObjectDefinitionDialogCreationParameters;
44 
45 
47  {
48  public:
51  DtClonableUnicode(const makVrv::DtUnicode& orig) : DtUnicode(orig) {};
52  DtClonableUnicode(const DtClonableUnicode& orig) : DtUnicode(orig) {};
53  virtual ~DtClonableUnicode() {};
54 
55  virtual DtClonableUnicode* clone() const { return new DtClonableUnicode(*this); };
56  };
57 
64  {
67 
68  public:
69 
72 
75 
77  static DtVrfObjectModifierDialogManager& instance(makVrv::DtDe& de);
78 
80  virtual void connectToCreationManager();
81 
83  virtual void connectToEditingManager();
84 
86  virtual void disconnectFromCreationManager();
87 
89  virtual void disconnectFromEditingManager();
90 
93  virtual void setShowDialogs(bool flag);
94 
96  virtual void populateDialogFromStmt(const DtCreateObjectCommand* cmd);
97 
99  virtual void addDialogCreationFcnForKind(DtEntityType, DtObjectDefinitionDialogCreationParameters*);
100 
102  virtual void removeDialogCreationFcnForKind(DtEntityType);
103 
104  virtual void addDefaultTitle(const DtEntityType& key, const makVrv::DtUnicode&);
105  virtual DtClonableUnicode* defaultTitle(const DtEntityType&) const;
106 
107  protected:
108  virtual void pushSelections();
109  virtual void popSelections();
110 
112  virtual void slot_creatingObject(const DtEntityType& type, int force, DtCreationSignalType signalCreate = DtNoCreationSignal);
113 
115  virtual void slot_creatingTerrainProp();
116 
118  virtual void slot_creationStopped();
119 
121  virtual void slot_editingObject(const makVrv::DtUniqueID&, const DtEditingType&);
122  virtual void slot_editingObjectByEntityType(const DtEntityType& thisEntityType,
123  const DtEditingType& editType, const makVrv::DtUniqueID& principalID = 0);
124 
126  virtual void slot_editingTerrainProp(const makVrv::DtUniqueID&, const DtEditingType&);
127 
129  virtual void slot_editingStopped();
130 
132  virtual void destroyPropertiesDlg();
133 
137  virtual DtObjectDefinitionDialogCreationParameters* lookupCreatorFromEntityType(const DtEntityType& ent,
138  const std::string& keywords);
139 
140  virtual std::string findEntityTypeName(const DtEntityType& ent);
141 
142  public:
143  boost::signal<void (DtCreateAndEditObjectDialogInterface*)> signal_dialogCreated;
144  boost::signal<void (DtCreateAndEditObjectDialogInterface*)> signal_dialogAboutToBeDestroyed;
145 
146  protected:
147 
155 
156  //Default object titles for objects that do not have types in the mst file
158 
159  typedef std::vector<makVrv::DtSelectionManager::IdSet> Selections;
161  };
162 
163 
165  //entity-specific flags important to the dialog creation process
166 
168  {
169  public :
170 
171  DtObjectDefinitionDialogCreationParameters(DtVrfObjectModifierDialogCreator* objectModifierDialogCreatorIn, bool forceDialogToAppearInPlansIn = false);
172 
174 
175  DtVrfObjectModifierDialogCreator* objectModifierDialogCreator();
176 
177  bool forceDialogToAppearInPlans();
178 
179  void setObjectModifierDialogCreator(DtVrfObjectModifierDialogCreator* inputObjectModifierDialogCreator);
180 
181  void setForceDialogToAppearInPlans(bool inputForceDialogToAppearInPlans);
182 
184 
185  protected:
186 
188 
189  //This flag overrides previous user input regarding whether the create autohide dialog
190  //is closed in plan-based object creation and all kinds of object edits.
191  //The default is "false" but control objects are generally set to "true"
192 
194  };
195 
196 
197 
198 
199 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)