17 #ifndef _MAINWINDOW_HH_
18 #define _MAINWINDOW_HH_
25 #include "gazebo/gazebo_config.h"
28 #include "gazebo/msgs/MessageTypes.hh"
42 class ModelListWidget;
56 public:
unsigned int GetEntityId(
const std::string &_name);
57 public:
bool HasEntityName(
const std::string &_name);
62 public:
void AddToLeftColumn(
const std::string &_name, QWidget *_widget);
69 public:
void ShowLeftColumnWidget(
const std::string &_name =
"default");
76 public slots:
void Play();
79 public slots:
void Pause();
83 public:
void SetLeftPaneVisibility(
bool _on);
86 signals:
void AddPlugins();
88 protected:
void closeEvent(QCloseEvent *_event);
90 private:
void OnGUI(ConstGUIPtr &_msg);
92 private slots:
void ItemSelected(QTreeWidgetItem *,
int);
93 private slots:
void New();
94 private slots:
void Open();
95 private slots:
void Import();
96 private slots:
void Save();
97 private slots:
void SaveAs();
100 private slots:
void SaveINI();
103 private slots:
void Clone();
105 private slots:
void About();
106 private slots:
void Step();
107 private slots:
void Arrow();
110 private slots:
void Translate();
113 private slots:
void Rotate();
116 private slots:
void Scale();
120 private slots:
void Align();
123 private slots:
void Snap();
125 private slots:
void CreateBox();
126 private slots:
void CreateSphere();
127 private slots:
void CreateCylinder();
128 private slots:
void CreateMesh();
129 private slots:
void CreatePointLight();
130 private slots:
void CreateSpotLight();
131 private slots:
void CreateDirectionalLight();
134 private slots:
void CaptureScreenshot();
136 private slots:
void InsertModel();
137 private slots:
void ShowGrid();
138 private slots:
void ShowCollisions();
139 private slots:
void ShowJoints();
140 private slots:
void ShowContacts();
141 private slots:
void ShowCOM();
142 private slots:
void Reset();
143 private slots:
void FullScreen();
144 private slots:
void FPS();
145 private slots:
void Orbit();
146 private slots:
void ViewOculus();
147 private slots:
void OnResetModelOnly();
148 private slots:
void OnResetWorld();
149 private slots:
void SetTransparent();
150 private slots:
void SetWireframe();
153 private slots:
void OnPlayActionChanged();
159 private slots:
void SelectTopic();
165 private slots:
void OnAddPlugins();
169 private slots:
void OnEditorGroup(QAction *_action);
173 private:
void OnFullScreen(
bool _value);
174 private:
void OnMoveMode(
bool _mode);
177 private:
void CreateActions();
180 private:
void CreateMenus();
183 private:
void CreateToolbars();
186 private:
void CreateMenuBar();
189 private:
void CreateEditors();
195 public:
void ShowMenuBar(QMenuBar *_bar =
NULL);
197 private:
void OnModel(ConstModelPtr &_msg);
201 private:
void OnLight(ConstLightPtr &_msg);
203 private:
void OnResponse(ConstResponsePtr &_msg);
204 private:
void OnWorldModify(ConstWorldModifyPtr &_msg);
205 private:
void OnManipMode(
const std::string &_mode);
206 private:
void OnSetSelectedEntity(
const std::string &_name,
207 const std::string &_mode);
208 private:
void OnStats(ConstWorldStatisticsPtr &_msg);
212 private:
void OnInputStepSizeChanged(
int _value);
216 private:
void OnFollow(
const std::string &_modelName);
222 private:
void CreateDisabledIcon(
const std::string &_pixmap,
225 private: QToolBar *playToolbar;
244 private: QDockWidget *toolsDock;
246 private: std::vector<event::ConnectionPtr> connections;
249 private: std::map<std::string, unsigned int> entities;
252 private: msgs::Request *requestMsg;
255 private: QTabWidget *tabWidget;
258 private: QMenuBar *menuBar;
261 private: QMenu *editMenu;
264 private: QHBoxLayout *menuLayout;
267 private: QStackedWidget *leftColumn;
270 private: std::map<std::string, int> leftColumnStack;
274 private: std::string saveFilename;
277 private:
int inputStepSize;
280 private: std::list<Editor*> editors;
283 private: std::vector<QActionGroup *> alignActionGroups;
293 private: std::vector<boost::shared_ptr<msgs::Plugin const> > pluginMsgs;
296 private: boost::mutex pluginLoadMutex;
299 private: QSplitter *splitter;
A widget that provides data logging functionality.
Definition: DataLogger.hh:34
Interface to the space navigator joystick.
Definition: SpaceNav.hh:51
A widget that renders a camera view suitable for the Oculus Rift.
Definition: OculusWindow.hh:39
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
Forward declarations for transport.
Plot diagnostic information.
Definition: gui/Diagnostics.hh:39
#define NULL
Definition: CommonTypes.hh:30
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
Definition: MainWindow.hh:46
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
boost::shared_ptr< Publisher > PublisherPtr
Definition: TransportTypes.hh:49
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48