![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00008 00009 #ifndef bhave3DCrowdCreationDialog_H_ 00010 #define bhave3DCrowdCreationDialog_H_ 00011 00012 #include <bhave3DGui/bhave3DGuiDefines.h> 00013 #include <vrvUtil/signalslib.h> 00014 #include <QtGui/QDialog> 00015 #include <vrfGuiCoreQt/DtVrfFilteredListView.h> 00016 #include "bhave3DGui/bhaveCrowdCreationDialogInterface.h" 00017 #include "bhave3DGui/ui_bhaveCrowdCreationDialogUi.h" 00018 #include "bhave3DGui/bhaveNewCrowdItemDialog.h" 00019 #include "bhaveMsgs/ifCreateMultipleEntities.h" 00020 00021 class DtIfVrfObjectCreated; 00022 class DtSimMessage; 00023 00024 namespace BHAVE 00025 { 00026 namespace BHAVE3DGui 00027 { 00028 class DT_DLL_bhave3DGui DtBhaveCrowdCreationDialog : public QDialog, public DtBhaveCrowdCreationDialogInterface 00029 { 00030 Q_OBJECT 00031 00032 public: 00033 00035 DtBhaveCrowdCreationDialog(makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = 0); 00036 00038 virtual ~DtBhaveCrowdCreationDialog(); 00039 00041 virtual int exec(); 00042 00043 virtual void displayDialog(); 00044 00046 virtual void setAreaName(const QString& name); 00047 virtual QString areaName() const; 00048 00050 virtual void processCreateNewArea(); 00051 00053 virtual void processAccept(const DtIfCreateMultipleEntities & msg); 00054 00055 protected: 00056 00058 virtual void setupGui(); 00059 virtual void slot_onAreaAdded(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s); 00060 00061 protected slots: 00062 00065 virtual void onAddAreaButtonClicked(); 00066 00069 virtual void onNewObject(); 00070 00072 virtual void accept(); 00073 00075 virtual void cancel(); 00076 00078 virtual void addNewEntityToCreate(const DtCreateItemData&); 00079 00081 virtual void onDeleteObject(); 00082 00085 virtual void editItem(const DtCreateItemData&); 00086 00088 virtual void onEditObject(); 00089 00091 virtual void entityDialogClosed(); 00092 00094 virtual void numberToCreateChanged(QTreeWidgetItem*, int); 00095 00097 virtual void updateButtons(); 00098 00099 protected: 00100 00103 //virtual const QString getNextAvailableGroupName() const; 00104 00106 virtual void keyPressEvent(QKeyEvent *e); 00107 00111 virtual void setup(QTreeWidgetItem* item, const DtCreateItemData& d); 00112 00114 virtual void updateTotal(); 00115 00116 public: 00117 00118 Ui::CrowdCreationDialogUi myUiImpl; 00119 00120 protected: 00121 00122 makVrv::DtDe& myDe; 00123 makVrf::DtVrfFilteredListView * myAreaSelection; 00124 QHash<QTreeWidgetItem*, DtCreateItemData> myItemMap; 00125 QTreeWidgetItem* myEditItem; 00126 }; 00127 } 00128 } 00129 00130 #endif 00131