![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ** Created: 3/12/12 MEM 00005 ******************************************************************************/ 00006 00009 00010 #pragma once 00011 00012 #include <bhave3DGui/bhave3DGuiDefines.h> 00013 #include <vrvUtil/signalslib.h> 00014 #include <QtGui/QDialog> 00015 #include <QtGui/QTimeEdit> 00016 #include <QtCore/QStringList> 00017 #include <vrfGuiCoreQt/DtVrfFilteredListView.h> 00018 #include <vrfGuiCore/entityMapperKey.h> 00019 #include "bhave3DGui/bhaveNewSpawnTemplateDialogInterface.h" 00020 #include "bhave3DGui/ui_bhaveNewSpawnTemplateDialogUi.h" 00021 #include "bhaveMsgs/ifUpdateSpawnInstance.h" 00022 #include "bhaveMsgs/ifSpawnList.h" 00023 #include "vrfmsgs/rwSpawnData.h" 00024 #include <vlpi/disEnums.h> 00025 #include <vrvUtil/DtUnitConverterCollection.h> 00026 00027 class DtIfVrfObjectCreated; 00028 class DtSimMessage; 00029 namespace makVrf 00030 { 00031 class DtIssueEntityPlanWidget; 00032 } 00033 00034 namespace BHAVE 00035 { 00036 namespace BHAVE3DGui 00037 { 00038 class DtBhaveEntityCreatePalette; 00039 00041 class DT_DLL_bhave3DGui DtBhaveNewSpawnTemplateDialog : public QDialog, public DtBhaveNewSpawnTemplateDialogInterface 00042 { 00043 00044 Q_OBJECT 00045 00046 public: 00047 00049 DtBhaveNewSpawnTemplateDialog(makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = 0); 00050 00052 virtual ~DtBhaveNewSpawnTemplateDialog(); 00053 00055 virtual void init(bool editing = false); 00056 00059 virtual void setSpawnData(const DtRwSpawnData & data, bool resolveDuplcateTemplateName = false); 00060 virtual const DtRwSpawnData& spawnData() const; 00061 00063 virtual int exec(); 00064 00065 virtual void displayDialog(); 00066 00067 virtual void setTemplateNamesInUseList(const QStringList& namesInUse); 00068 00069 public slots: 00070 00072 virtual void onPlanButtonClicked(); 00073 00075 virtual void onAddSpawnItem(); 00077 virtual void onEditSpawnItem(); 00078 00080 virtual void onDeleteSpawnItem(); 00081 00084 virtual void onEnableContinuousSpawnage(bool on); 00085 00089 virtual void onEnableTimeOfDaySpawnage(bool on); 00090 00094 virtual void onEnableSimTimeSpawnage(bool on); 00095 00097 virtual void onEnableBurstCycle(bool on); 00098 00099 virtual void onEnableCustomPlan(bool on); 00100 virtual void onEnableDefaultPlan(bool on); 00101 00102 virtual void onAddSinkPt(); 00103 virtual void slot_addSinkPt(QString sinkPtName); 00104 virtual void onRemoveSinkPt(); 00105 00106 protected: 00107 00109 virtual void setupGui(); 00110 00111 virtual void createEntityPalette(); 00112 00113 virtual void createPlanWidget(); 00114 00117 virtual void slot_createObjectType(const makVrf::DtEntityMapperKey& x); 00118 00120 virtual bool updateSpawnFromGui(); 00121 00122 virtual QTime convertTime(double secondsPastMidnight); 00123 00126 virtual void keyPressEvent(QKeyEvent *e); 00127 00128 virtual void slot_send(); 00129 virtual void slot_close(); 00130 00131 virtual void refreshLabels(); 00132 virtual void slot_onUnitChanged(int attribute, int from, int to); 00133 virtual void slot_displayUnitDecimalsChanged( 00134 makVrv::DtUnitConverterCollection::DisplayUnitType, int, int); 00135 00136 virtual void sinkPointRemoved(const DtString&); 00137 virtual void sinkPointAdded(const DtString&); 00138 00139 virtual QString patternName(const DtString& curName) const; 00140 00141 protected slots: 00143 virtual void updateButtons(); 00144 00146 virtual void onCreateButtonClicked(); 00147 00149 virtual void onCreateObjectName(QTreeWidgetItem* i, int col); 00150 virtual void onEditObjectName(QTreeWidgetItem* i, int col); 00151 00152 virtual void displayEntityPalette(); 00153 00155 virtual void cancel(); 00156 00157 signals: 00158 00160 void sendSpawnData(DtRwSpawnData& spawnData); 00161 void sendSpawnData(DtRwSpawnData& spawnData,bool updatePtNames); 00162 00164 void closing(); 00165 00166 public: 00167 00168 Ui::bhaveNewSpawnTemplateDialogUi myUiImpl; 00169 00170 protected: 00171 makVrv::DtDe& myDe; 00172 bool myEditing; 00173 DtBhaveEntityCreatePalette* myEntityPalettePanel; 00174 DtRwSpawnData mySpawnData; 00176 int myCurrentForce; 00177 DtEntityType myCurrentEntityType; 00178 QStringList myTemplateNamesInUse; 00179 makVrf::DtIssueEntityPlanWidget* myPlanWidget; 00180 }; 00181 } 00182 }