00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MAINWINDOW_H
00021 #define MAINWINDOW_H
00022
00023 #include "../ui/mainwindow_base.h"
00024 #include <cm_project.h>
00025
00026 #include <QTreeWidget>
00027 #include <QListWidgetItem>
00028 #include <QMainWindow>
00029
00030 class ARObject;
00031
00032 class QGrid;
00033 class QScrollView;
00034 class ConfigureEnvironments;
00035 class ConfigureDisplaylist;
00036
00037
00038
00039
00040 #include <deque>
00041
00042 using namespace std;
00043
00044 #define ARIDE_LIST_VIEW_ITEM_OBJECT 1001
00045 #define ARIDE_LIST_VIEW_ITEM_ENVIRONMENT 1002
00046
00047 class ARListViewItem_Object : public QTreeWidgetItem
00048 {
00049 public:
00050 ARListViewItem_Object(aride_object * _object, QTreeWidgetItem * parent, QString Text) : QTreeWidgetItem(parent,QStringList(Text))
00051 {
00052 object = _object;
00053 };
00054 aride_object * object;
00055
00056 virtual int rtti() const {return ARIDE_LIST_VIEW_ITEM_OBJECT;};
00057 };
00058
00059 class ARListViewItem_Environment : public QTreeWidgetItem
00060 {
00061 public:
00062 ARListViewItem_Environment(aride_environment * _object, QTreeWidgetItem * parent, QString Text) : QTreeWidgetItem(parent,QStringList(Text))
00063 {
00064 object = _object;
00065 };
00066 aride_environment * object;
00067
00068 int rtti() const {return ARIDE_LIST_VIEW_ITEM_ENVIRONMENT;};
00069 };
00070
00071
00072 class MainWindow : public QMainWindow, private Ui_MainWindow
00073 {
00074
00075 public:
00076 MainWindow(QWidget* parent = 0, const char* name = 0, Qt::WFlags fl = 0 );
00077 virtual ~MainWindow() {};
00078 void Initialise( int argc=0, char **argv=NULL);
00079
00080 void RefreshTrees();
00081
00082
00083 QTreeWidgetItem * CurrentItem;
00084
00085 aride_project CurrentProject;
00086
00087 void nonSlotObjectDoubleClicked(aride_object * obj);
00088 void nonSlotObjectDoubleClicked(aride_displaylist_node * node);
00089 public slots:
00090 void ObjectDoubleClicked(QTreeWidgetItem * Item);
00091 void ObjectRightClicked(QTreeWidgetItem * Item);
00092
00093 void controlRunPauseAction_toggled(bool State);
00094 void controlStop();
00095 void controlRun();
00096
00097 void configureEnvironments();
00098 void configureDataSets();
00099
00100 void AddObject(int id);
00101 void AddSubObject(int id);
00102 void AddEnvironment(int id);
00103 void RemoveObject(int id);
00104
00105 virtual void fileNew();
00106 virtual void fileOpen();
00107 virtual void fileSave();
00108 virtual void fileSaveAs();
00109
00110 protected:
00111 bool Stopping;
00112
00113 ConfigureDisplaylist * DisplaylistDialog;
00114 ConfigureEnvironments * EnvironmentsDialog;
00115
00116 protected slots:
00117
00118
00119 private:
00120 Q_OBJECT
00121
00122
00123 };
00124
00125
00126
00127 #endif // MAINWINDOW_H