30 #ifndef RVIZ_VISUALIZATION_FRAME_H 31 #define RVIZ_VISUALIZATION_FRAME_H 33 #include <boost/shared_ptr.hpp> 35 #include <QMainWindow> 44 #include "rviz/rviz_export.h" 61 class VisualizationManager;
63 class WidgetGeometryChangeDetector;
81 void setApp(QApplication*
app);
84 void setShowChooseNewMaster(
bool show);
88 void setHelpPath(
const QString& help_path);
94 void setSplashPath(
const QString& splash_path);
105 void initialize(
const QString& display_config_file =
"");
113 QWidget* getParentWindow()
override;
116 Qt::DockWidgetArea area = Qt::LeftDockWidgetArea,
117 bool floating =
false)
override;
119 QDockWidget* addPanelByName(
const QString& name,
120 const QString& class_lookup_name,
121 Qt::DockWidgetArea area = Qt::LeftDockWidgetArea,
122 bool floating =
false);
128 void loadPersistentSettings();
134 void savePersistentSettings();
139 void loadDisplayConfig(
const QString& path);
143 bool loadDisplayConfigHelper(
const std::string& full_path);
151 bool saveDisplayConfig(
const QString& path);
155 return error_message_;
173 virtual void save(
Config config);
176 void setHideButtonVisibility(
bool visible);
181 void setDisplayConfigModified();
184 void setStatus(
const QString& message)
override;
187 void setFullScreen(
bool full_screen);
190 void exitFullScreen();
194 void statusUpdate(
const QString& message);
197 void fullScreenChange(
bool hidden);
200 void displayConfigFileChanged(
const QString& fullpath);
207 void onRecentConfigSelected();
210 void openNewPanelDialog();
211 void openNewToolDialog();
212 void openPreferencesDialog();
213 void showHelpPanel();
214 void onDockPanelChange();
217 void onToolbarRemoveTool(QAction* remove_tool_menu_action);
220 void onButtonStyleTool(QAction* button_style_tool_menu_action);
224 void onToolbarActionTriggered(QAction*
action);
231 void addTool(
Tool* tool);
234 void onToolNameChanged(
const QString& name);
237 void removeTool(
Tool* tool);
242 void refreshTool(
Tool* tool);
248 void indicateToolIsCurrent(
Tool* tool);
259 void onDeletePanel();
263 void markLoadingDone();
266 void setImageSaveDirectory(
const QString& directory);
270 void onPanelDeleted(QObject* dock);
271 void onHelpDestroyed();
273 void hideLeftDock(
bool hide);
274 void hideRightDock(
bool hide);
276 virtual void onDockPanelVisibilityChange(
bool visible);
294 bool prepareToExit();
296 void closeEvent(QCloseEvent* event)
override;
298 void leaveEvent(QEvent* event)
override;
300 void markRecentConfig(
const std::string& path);
301 void updateRecentConfigMenu();
304 void loadPanels(
const Config& config);
307 void configureToolbars(
const Config& config);
310 void saveToolbars(
Config config);
313 void savePanels(
Config config);
315 void loadPreferences(
const Config& config);
316 void savePreferences(
Config config);
318 void loadWindowGeometry(
const Config& config);
319 void saveWindowGeometry(
Config config);
325 void setDisplayConfigFile(
const std::string& path);
327 void hideDockImpl(Qt::DockWidgetArea area,
bool hide);
409 #endif // RVIZ_VISUALIZATION_FRAME_H boost::shared_ptr< Preferences > preferences_
VisualizationManager * getManager()
std::string persistent_settings_file_
QString error_message_
Error message (if any) from most recent saveDisplayConfig() call.
std::string display_config_file_
QMenu * recent_configs_menu_
ROSCONSOLE_DECL void initialize()
PanelFactory * panel_factory_
bool show_choose_new_master_option_
std::string last_image_dir_
bool toolbar_visible_
Indicates if the toolbar should be visible outside of fullscreen mode.
QMenu * remove_tool_menu_
std::map< Tool *, QAction * > tool_to_action_map_
QToolButton * hide_left_dock_button_
Configuration data storage class.
QList< PanelRecord > custom_panels_
QStatusBar * original_status_bar_
RenderPanel * render_panel_
VisualizationManager * manager_
std::string package_path_
The VisualizationManager class is the central manager class of rviz, holding all the Displays...
QAction * add_tool_action_
QActionGroup * toolbar_actions_
std::deque< std::string > D_string
QString getErrorMessage() const
bool loading_
True just when loading a display config file, false all other times.
ros::WallTime last_fps_calc_time_
QTimer * post_load_timer_
QMenu * delete_view_menu_
WidgetGeometryChangeDetector * geom_change_detector_
std::string default_display_config_file_
std::string last_config_dir_
std::map< QAction *, Tool * > action_to_tool_map_
QToolButton * hide_right_dock_button_
QAction * show_help_action_