3 #ifndef SCENEVIEW_VIEWER_HPP__
4 #define SCENEVIEW_VIEWER_HPP__
12 #include <sceneview/viewport.hpp>
13 #include <sceneview/resource_manager.hpp>
14 #include <sceneview/scene.hpp>
26 class RendererWidgetStack;
27 class InputHandlerWidgetStack;
55 explicit Viewer(QWidget* parent =
nullptr);
57 Viewport* GetViewport() {
return viewport_; }
59 void SetAutoRedrawInterval(
int milliseconds);
61 QMenu* FileMenu() {
return file_menu_; }
63 void SaveSettings(QSettings* settings);
65 void LoadSettings(QSettings* settings);
76 void OnRendererAdded(
Renderer* renderer);
85 void closeEvent(QCloseEvent* event)
override;
87 void SetupShowHideAction(QAction* action, QDockWidget* widget);
89 ResourceManager::Ptr resources_;
90 Scene::Ptr default_scene_;
99 QMenu* renderer_menu_;
101 QMenu* input_handler_menu_;
102 QActionGroup* input_action_group_;
103 std::map<InputHandler*, QAction*> input_handler_actions_;
108 #endif // SCENEVIEW_VIEWER_HPP__
void Closing()
Emitted when the window is about to close.
A QMainWindow that can be used to provide an application-level UI.
Definition: viewer.hpp:51
Subclass this to add content in the scene and draw things.
Definition: renderer.hpp:73
Widget that draws a scene and manages Renderer and InputHandler objects.
Definition: viewport.hpp:27