VR-Forces 4.3 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) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
17 #include <vrfExtProtocol/objectType.h>
18 
22 #include <vrvUtil/signalslib.h>
24 
26 #include <map>
27 
28 class DtEntityType;
29 class QWidget;
30 class QMainWindow;
31 
32 namespace makVrv
33 {
34  class DtDe;
35 }
36 
37 namespace makVrf
38 {
39  class DtPointObjectDefinitionDialog;
40  class DtCreateAndEditObjectDialogInterface;
41  class DtVrfObjectModifierDialogCreator;
42  class DtObjectDefinitionDialogCreationParameters;
43 
44 
46  {
47  public:
50  DtClonableUnicode(const makVrv::DtUnicode& orig) : DtUnicode(orig) {};
51  DtClonableUnicode(const DtClonableUnicode& orig) : DtUnicode(orig) {};
52  virtual ~DtClonableUnicode() {};
53 
54  virtual DtClonableUnicode* clone() const { return new DtClonableUnicode(*this); };
55  };
56 
63  {
66 
67  public:
68 
71 
74 
76  static DtVrfObjectModifierDialogManager& instance(makVrv::DtDe& de);
77 
79  virtual void connectToCreationManager();
80 
82  virtual void connectToEditingManager();
83 
85  virtual void disconnectFromCreationManager();
86 
88  virtual void disconnectFromEditingManager();
89 
92  virtual void setShowDialogs(bool flag);
93 
95  virtual void populateDialogFromStmt(const DtCreateObjectCommand* cmd);
96 
98  virtual void addDialogCreationFcnForKind(DtEntityType, DtObjectDefinitionDialogCreationParameters*);
99 
101  virtual void removeDialogCreationFcnForKind(DtEntityType);
102 
103  virtual void addDefaultTitle(const DtEntityType& key, const makVrv::DtUnicode&);
104  virtual DtClonableUnicode* defaultTitle(const DtEntityType&) const;
105 
106  protected:
107 
109  virtual void slot_creatingObject(const DtEntityType& type, int force, DtCreationSignalType signalCreate = DtNoCreationSignal);
110 
112  virtual void slot_creatingTerrainProp();
113 
115  virtual void slot_creationStopped();
116 
118  virtual void slot_editingObject(const makVrv::DtUniqueID&, const DtEditingType&);
119 
121  virtual void slot_editingTerrainProp(const makVrv::DtUniqueID&, const DtEditingType&);
122 
124  virtual void slot_editingStopped();
125 
127  virtual void destroyPropertiesDlg();
128 
132  virtual DtObjectDefinitionDialogCreationParameters* lookupCreatorFromEntityType(const DtEntityType& ent,
133  const std::string& keywords);
134 
135  virtual std::string findEntityTypeName(const DtEntityType& ent);
136 
137  boost::signal<void (DtCreateAndEditObjectDialogInterface*)> signal_dialogCreated;
138  boost::signal<void (DtCreateAndEditObjectDialogInterface*)> signal_dialogAboutToBeDestroyed;
139 
140  protected:
141 
149 
150  //Default object titles for objects that do not have types in the mst file
152  };
153 
154 
156  //entity-specific flags important to the dialog creation process
157 
159  {
160  public :
161 
162  DtObjectDefinitionDialogCreationParameters(DtVrfObjectModifierDialogCreator* objectModifierDialogCreatorIn, bool forceDialogToAppearInPlansIn = false);
163 
165 
166  DtVrfObjectModifierDialogCreator* objectModifierDialogCreator();
167 
168  bool forceDialogToAppearInPlans();
169 
170  void setObjectModifierDialogCreator(DtVrfObjectModifierDialogCreator* inputObjectModifierDialogCreator);
171 
172  void setForceDialogToAppearInPlans(bool inputForceDialogToAppearInPlans);
173 
175 
176  protected:
177 
179 
180  //This flag overrides previous user input regarding whether the create autohide dialog
181  //is closed in plan-based object creation and all kinds of object edits.
182  //The default is "false" but control objects are generally set to "true"
183 
185  };
186 
187 
188 
189 
190 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)