ARGoS  3
A parallel, multi-engine simulator for swarm robotics
qtopengl_lua_main_window.h
Go to the documentation of this file.
1 
7 #ifndef QTOPENGL_LUA_MAIN_WINDOW_H
8 #define QTOPENGL_LUA_MAIN_WINDOW_H
9 
10 namespace argos {
11  class CQTOpenGLLuaMainWindow;
12  class CQTOpenGLLuaEditor;
13  class CQTOpenGLLuaFindDialog;
14  class CQTOpenGLMainWindow;
15  class CLuaController;
16  class CComposableEntity;
17 }
18 
19 class QAction;
20 class QStatusBar;
21 class QTableWidget;
22 class QTreeView;
23 
24 #include <QMainWindow>
25 
26 namespace argos {
27 
28  class CQTOpenGLLuaMainWindow : public QMainWindow {
29 
30  Q_OBJECT
31 
32  public:
33 
35  virtual ~CQTOpenGLLuaMainWindow();
36 
37  public slots:
38 
39  void New();
40  void Open();
41  void OpenRecentFile();
42  bool Save();
43  bool SaveAs();
44  void Execute();
45  void Find();
46  void CodeModified();
47  void CheckLuaStatus(int n_step);
49  void HandleEntitySelection(size_t un_index);
50  void HandleEntityDeselection(size_t);
51  void VariableTreeChanged();
52  void FunctionTreeChanged();
53 
54  private:
55 
56  bool MaybeSave();
57  void PopulateLuaControllers();
58  void ReadSettings();
59  void WriteSettings();
60  void CreateCodeEditor();
61  void CreateLuaMessageTable();
62  void CreateLuaStateDocks();
63  void CreateFileActions();
64  void CreateEditActions();
65  void CreateCodeActions();
66  void OpenFile(const QString& str_path = QString());
67  bool SaveFile(const QString& str_path = QString());
68  void SetCurrentFile(const QString& str_path);
69  void UpdateRecentFiles();
70  void SetMessage(int n_row,
71  const QString& str_robot_id,
72  const QString& str_message);
73 
74  QString StrippedFileName(const QString& str_path);
75 
76  virtual void closeEvent(QCloseEvent* pc_event);
77 
78  private:
79 
80  enum { MAX_RECENT_FILES = 5 };
81 
82  CQTOpenGLMainWindow* m_pcMainWindow;
83  QStatusBar* m_pcStatusbar;
84  CQTOpenGLLuaEditor* m_pcCodeEditor;
85  CQTOpenGLLuaFindDialog* m_pcFindDialog;
86  QDockWidget* m_pcLuaMsgDock;
87  QTableWidget* m_pcLuaMessageTable;
88  QDockWidget* m_pcLuaVariableDock;
89  QDockWidget* m_pcLuaFunctionDock;
90  QTreeView* m_pcLuaVariableTree;
91  QTreeView* m_pcLuaFunctionTree;
92 
93  std::vector<CLuaController*> m_vecControllers;
94  std::vector<CComposableEntity*> m_vecRobots;
95  size_t m_unSelectedRobot;
96  QString m_strFileName;
97 
98  QAction* m_pcFileNewAction;
99  QAction* m_pcFileOpenAction;
100  QAction* m_pcFileOpenRecentAction[MAX_RECENT_FILES];
101  QAction* m_pcFileSaveAction;
102  QAction* m_pcFileSaveAsAction;
103  QAction* m_pcFileSeparateRecentAction;
104  QAction* m_pcEditUndoAction;
105  QAction* m_pcEditRedoAction;
106  QAction* m_pcEditCopyAction;
107  QAction* m_pcEditCutAction;
108  QAction* m_pcEditPasteAction;
109  QAction* m_pcEditFindAction;
110  QAction* m_pcCodeExecuteAction;
111 
112  };
113 
114 }
115 
116 #endif
argos::CQTOpenGLLuaMainWindow::HandleMsgTableSelection
void HandleMsgTableSelection()
Definition: qtopengl_lua_main_window.cpp:669
argos
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
argos::CQTOpenGLLuaMainWindow::~CQTOpenGLLuaMainWindow
virtual ~CQTOpenGLLuaMainWindow()
Definition: qtopengl_lua_main_window.cpp:104
argos::CQTOpenGLLuaMainWindow::VariableTreeChanged
void VariableTreeChanged()
Definition: qtopengl_lua_main_window.cpp:772
argos::CQTOpenGLLuaEditor
Definition: qtopengl_lua_editor.h:21
argos::CQTOpenGLLuaMainWindow::CQTOpenGLLuaMainWindow
CQTOpenGLLuaMainWindow(CQTOpenGLMainWindow *pc_parent)
Definition: qtopengl_lua_main_window.cpp:73
argos::CQTOpenGLLuaMainWindow::Save
bool Save()
Definition: qtopengl_lua_main_window.cpp:147
argos::CQTOpenGLLuaFindDialog
Definition: qtopengl_lua_find_dialog.h:25
argos::CQTOpenGLLuaMainWindow::HandleEntitySelection
void HandleEntitySelection(size_t un_index)
Definition: qtopengl_lua_main_window.cpp:694
argos::CQTOpenGLLuaMainWindow::Find
void Find()
Definition: qtopengl_lua_main_window.cpp:262
argos::CQTOpenGLLuaMainWindow::Execute
void Execute()
Definition: qtopengl_lua_main_window.cpp:197
argos::CQTOpenGLMainWindow
Definition: qtopengl_main_window.h:36
argos::CQTOpenGLLuaMainWindow::CheckLuaStatus
void CheckLuaStatus(int n_step)
Definition: qtopengl_lua_main_window.cpp:645
argos::CQTOpenGLLuaMainWindow::OpenRecentFile
void OpenRecentFile()
Definition: qtopengl_lua_main_window.cpp:137
argos::CQTOpenGLLuaMainWindow::FunctionTreeChanged
void FunctionTreeChanged()
Definition: qtopengl_lua_main_window.cpp:780
argos::CQTOpenGLLuaMainWindow::New
void New()
Definition: qtopengl_lua_main_window.cpp:111
argos::CQTOpenGLLuaMainWindow::Open
void Open()
Definition: qtopengl_lua_main_window.cpp:121
argos::CQTOpenGLLuaMainWindow
Definition: qtopengl_lua_main_window.h:28
argos::CQTOpenGLLuaMainWindow::CodeModified
void CodeModified()
Definition: qtopengl_lua_main_window.cpp:272
argos::CQTOpenGLLuaMainWindow::SaveAs
bool SaveAs()
Definition: qtopengl_lua_main_window.cpp:158
argos::CQTOpenGLLuaMainWindow::HandleEntityDeselection
void HandleEntityDeselection(size_t)
Definition: qtopengl_lua_main_window.cpp:748