![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: bhaveScriptListDialog.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00012 #ifndef bhaveScriptListDialog_H_ 00013 #define bhaveScriptListDialog_H_ 00014 00015 #include <bhave3DGui/bhave3DGuiDefines.h> 00016 #include <vrvUtil/signalslib.h> 00017 #include <QtGui/QDialog> 00018 #include <vlpi/simulationAddress.h> 00019 #include "bhave3DGui/bhaveScriptListDialogInterface.h" 00020 #include "bhave3DGui/bhaveExternalScriptEditWidget.h" 00021 #include "bhave3DGui/ui_bhaveScriptListWidgetUi.h" 00022 00023 namespace BHAVE 00024 { 00025 namespace BHAVE3DGui 00026 { 00027 typedef std::list<DtBhaveExternalScriptEditWidget*> DtBhaveExternalScriptEditWidgetList; 00028 typedef std::list<DtBhaveExternalScriptEditWidget*>::iterator DtBhaveExternalScriptEditWidgetListIterator; 00029 class DtBhaveLuaScriptUpdater; 00030 00031 class DT_DLL_bhave3DGui DtBhaveScriptListDialog : public QDialog, public DtBhaveScriptListDialogInterface 00032 { 00033 00034 Q_OBJECT 00035 00036 public: 00037 00039 DtBhaveScriptListDialog(makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = 0); 00040 00042 virtual ~DtBhaveScriptListDialog(); 00043 00045 virtual int exec(); 00046 00048 virtual void addScript(const QString& name); 00049 00051 virtual void removeScript(const QString& name); 00052 00054 virtual void clearScriptList(); 00055 00057 virtual QString selectedScriptName() const; 00058 00060 virtual void processCreateNewScript(); 00061 00063 virtual void processEditSelectedScript(const QDialog* dialog); 00064 00066 virtual void processDeleteSelectedScript(); 00067 00068 protected: 00069 00071 virtual void setScriptNames( const std::vector<DtString>& scriptNames ); 00072 00074 virtual void sendScriptToSim(const DtString& scriptname, const std::list<DtString>& content); 00075 00077 virtual bool requestExternalEditor(); 00078 00079 protected: 00080 00082 virtual void slot_scriptListReceived(const DtSimulationAddress&, const std::vector<DtString>&); 00083 00085 virtual void slot_scriptChanged(const DtString&, const std::list<DtString>&); 00086 00087 00088 protected: 00089 00091 void setupGui(); 00092 00093 protected slots: 00094 00095 virtual void slot_NewButtonClicked(); 00096 virtual void slot_EditButtonClicked(); 00097 virtual void slot_DeleteButtonClicked(); 00098 virtual void slot_scriptListDoubleClicked(QListWidgetItem* item); 00099 00100 public: 00101 00102 Ui_DtScriptListWidgetUi myUiImpl; 00103 00104 protected: 00105 00106 makVrv::DtDe& myDe; 00107 DtBhaveExternalScriptEditWidgetList myListOfEditors; 00108 DtBhaveLuaScriptUpdater* myScriptUpdater; 00109 }; 00110 } 00111 } 00112 00113 #endif 00114