VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
newSpawnTemplateDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 #if !defined(Q_MOC_RUN)
15 #include "newSpawnTemplateDialogUi.hpp"
18 #include "vrfmsgs/ifSpawnList.h"
19 #include "vrfmsgs/rwSpawnData.h"
20 #include <vlpi/disEnums.h>
22 #include <QtWidgets/QDialog>
23 #include <QtWidgets/QTimeEdit>
24 #include <QtCore/QStringList>
25 #endif
26 
28 class DtSimMessage;
29 
30 namespace makVrf
31 {
32  class DtIssueEntityPlanWidget;
33  class DtCreateObjectPalette;
34  class DtOverlayParentEntryWidget;
35 
38  {
39 
40  Q_OBJECT
41 
42  public:
43 
45  DtNewSpawnTemplateDialog(makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = 0);
46 
48  virtual ~DtNewSpawnTemplateDialog();
49 
51  virtual void init(bool editing = false);
52 
55  virtual void setSpawnData(const DtRwSpawnData & data, bool resolveDuplcateTemplateName = false);
56  virtual const DtRwSpawnData& spawnData() const;
57 
59  virtual int exec();
60 
61  virtual void displayDialog();
62 
63  virtual void setTemplateNamesInUseList(const QStringList& namesInUse);
64 
66  virtual void enableWidgets(bool b);
67 
68  public slots:
69 
71  virtual void onPlanButtonClicked();
72 
74  virtual void onAddSpawnItem();
76  virtual void onEditSpawnItem();
77 
79  virtual void onDeleteSpawnItem();
80 
83  virtual void onEnableContinuousSpawnage(bool on);
84 
88  virtual void onEnableTimeOfDaySpawnage(bool on);
89 
93  virtual void onEnableSimTimeSpawnage(bool on);
94 
96  virtual void onEnableBurstCycle(bool on);
97 
98  virtual void onEnableCustomPlan(bool on);
99  virtual void onEnableDefaultPlan(bool on);
100 
101  virtual void onAddSinkPt();
102  virtual void slot_addSinkPt(const DtUUID&);
103  virtual void onRemoveSinkPt();
104 
105  protected:
106 
108  virtual void setupGui();
109 
110  virtual void createEntityPalette();
111 
112  virtual void createPlanWidget();
113 
116  virtual void slot_createObjectType(const makVrf::DtEntityMapperKey& x);
117 
119  virtual bool updateSpawnFromGui();
120 
121  virtual QTime convertTime(double secondsPastMidnight);
122 
125  virtual void keyPressEvent(QKeyEvent *e);
126 
127  virtual void slot_send();
128  virtual void slot_close();
129 
130  virtual void refreshLabels();
131  virtual void slot_onUnitChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int to, int from);
132  virtual void slot_displayUnitDecimalsChanged(
133  const makVrv::DtUnicode& category, const makVrv::DtUnicode& type, int);
134 
135  virtual void sinkPointRemoved(const DtUUID&);
136  virtual void sinkPointAdded(const DtUUID&);
137 
138  virtual QString patternName(const DtString& curName) const;
139 
140  virtual void paletteItemsAdded();
141 
142  protected slots:
144  virtual void updateButtons();
145 
147  virtual void onCreateButtonClicked();
148 
150  virtual void onCreateObjectName(QTreeWidgetItem* i, int col);
151  virtual void onEditObjectName(QTreeWidgetItem* i, int col);
152 
153  virtual void displayEntityPalette();
154 
156  virtual void cancel();
157 
158  virtual void minSpeedFinished();
159  virtual void maxSpeedFinished();
160 
161  signals:
162 
164  void sendSpawnData(DtRwSpawnData& spawnData);
165 
167  void closing();
168 
169  public:
170 
171  Ui::DtNewSpawnTemplateDialogUi myUiImpl;
173 
174  protected:
176  bool myEditing;
181  DtEntityType myCurrentEntityType;
182  QStringList myTemplateNamesInUse;
184 
186  };
187 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
makVrf::DtIssueEntityPlanWidget * myPlanWidget
Definition: newSpawnTemplateDialog.h:183
QStringList myTemplateNamesInUse
Definition: newSpawnTemplateDialog.h:182
Ui::DtNewSpawnTemplateDialogUi myUiImpl
Definition: newSpawnTemplateDialog.h:171
Definition: entityMapperKey.h:23
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
makVrv::DtDe & myDe
Definition: newSpawnTemplateDialog.h:175
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
Dialog to allow user to create a new template.
Definition: newSpawnTemplateDialog.h:37
Contains the DtUnitConverterCollection class declaration.
DtCreateObjectPalette * myCreateObjectPalettePanel
Definition: newSpawnTemplateDialog.h:177
int myCurrentForce
Keep track of the entity type and force selected.
Definition: newSpawnTemplateDialog.h:180
Widget that allows the selection of an overlay.
Definition: overlayParentEntryWidget.h:35
makVrv::DtSignalConnectionManager myConnectionManager
Definition: newSpawnTemplateDialog.h:185
Base library for data that is used to control how spawn points generate entities. This data structure...
Definition: rwSpawnData.h:37
File: simMsg.h.
Definition: simMessage.h:35
bool myEditing
Definition: newSpawnTemplateDialog.h:176
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtOverlayParentEntryWidget * myOverlayCombo
Definition: newSpawnTemplateDialog.h:172
DtRwSpawnData mySpawnData
Definition: newSpawnTemplateDialog.h:178
A widget class for showing different items of supplied types to the logic tthat can be created...
Definition: createObjectPalette.h:71
Base class to provide boost signal/slot management.
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
class DtIfVrfObjectCreated:
Definition: ifVrfObjectCreated.h:32
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:72
DtEntityType myCurrentEntityType
Definition: newSpawnTemplateDialog.h:181
Definition: issueEntityPlanWidget.h:26

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)