17 #ifndef GAZEBO_GUI_MAINWINDOW_HH_
18 #define GAZEBO_GUI_MAINWINDOW_HH_
23 #include "gazebo/gazebo_config.h"
25 #include "gazebo/msgs/MessageTypes.hh"
41 class MainWindowPrivate;
62 public:
unsigned int EntityId(
const std::string &_name);
67 public:
bool HasEntityName(
const std::string &_name);
72 public:
void AddToLeftColumn(
const std::string &_name, QWidget *_widget);
79 public:
void ShowLeftColumnWidget(
const std::string &_name =
"default");
87 public:
bool IsPaused()
const;
90 public slots:
void Play();
93 public slots:
void Pause();
97 public:
void SetLeftPaneVisibility(
bool _on);
101 public:
void AddMenu(QMenu *_menu);
107 public:
void ShowMenuBar(QMenuBar *_bar =
NULL);
117 public: QAction *CloneAction(QAction *_action, QObject *_parent);
125 signals:
void AddPlugins();
129 signals:
void TrackVisual(
const std::string &_visualName);
132 signals:
void Close();
134 protected:
void closeEvent(QCloseEvent *_event);
136 private:
void OnGUI(ConstGUIPtr &_msg);
138 private slots:
void ItemSelected(QTreeWidgetItem *,
int);
139 private slots:
void New();
140 private slots:
void Open();
141 private slots:
void Save();
142 private slots:
void SaveAs();
145 private slots:
void SaveINI();
148 private slots:
void Clone();
151 private slots:
void HotkeyChart();
154 private slots:
void About();
156 private slots:
void Step();
159 private slots:
void Arrow();
162 private slots:
void Translate();
165 private slots:
void Rotate();
168 private slots:
void Scale();
172 private slots:
void Align();
175 private slots:
void Snap();
177 private slots:
void CreateBox();
178 private slots:
void CreateSphere();
179 private slots:
void CreateCylinder();
180 private slots:
void CreateMesh();
181 private slots:
void CreatePointLight();
182 private slots:
void CreateSpotLight();
183 private slots:
void CreateDirectionalLight();
186 private slots:
void CaptureScreenshot();
188 private slots:
void InsertModel();
191 private slots:
void ShowGrid();
194 private slots:
void ShowOrigin();
197 private slots:
void ShowCollisions();
200 private slots:
void ShowJoints();
203 private slots:
void ShowContacts();
206 private slots:
void ShowCOM();
209 private slots:
void ShowInertia();
212 private slots:
void ShowLinkFrame();
215 private slots:
void ShowSkeleton();
218 private slots:
void FullScreen();
221 private slots:
void ShowToolbars();
223 private slots:
void FPS();
224 private slots:
void Orbit();
225 private slots:
void ViewOculus();
226 private slots:
void OnResetModelOnly();
227 private slots:
void OnResetWorld();
228 private slots:
void SetTransparent();
229 private slots:
void SetWireframe();
232 private slots:
void ShowGUIOverlays();
238 private slots:
void OnDataLoggerClosed();
241 private slots:
void SelectTopic();
244 private slots:
void Plot();
247 private slots:
void OnAddPlugins();
251 private slots:
void OnTrackVisual(
const std::string &_visualName);
255 private slots:
void OnEditorGroup(QAction *_action);
259 private:
void OnFullScreen(
bool _value);
263 private:
void OnShowToolbars(
bool _value);
265 private:
void OnMoveMode(
bool _mode);
268 private:
void CreateActions();
271 private:
void DeleteActions();
274 private:
void CreateMenus();
277 private:
void CreateMenuBar();
280 private:
void CreateEditors();
282 private:
void OnModel(ConstModelPtr &_msg);
286 private:
void OnLight(ConstLightPtr &_msg);
288 private:
void OnResponse(ConstResponsePtr &_msg);
289 private:
void OnWorldModify(ConstWorldModifyPtr &_msg);
290 private:
void OnManipMode(
const std::string &_mode);
291 private:
void OnSetSelectedEntity(
const std::string &_name,
292 const std::string &_mode);
296 private:
void OnInputStepSizeChanged(
int _value);
300 private:
void OnFollow(
const std::string &_modelName);
306 private:
void CreateDisabledIcon(
const std::string &_pixmap,
311 private:
void OnWindowMode(
const std::string &_mode);
315 private: std::unique_ptr<MainWindowPrivate> dataPtr;
A widget that provides data logging functionality.
Definition: DataLogger.hh:37
#define NULL
Definition: CommonTypes.hh:31
Definition: MainWindow.hh:43
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
Base class for editors, such as BuildingEditor and TerrainEditor.
Definition: Editor.hh:35