Radium Engine  1.5.0
SimpleWindow.hpp
1 #pragma once
2 #include <Gui/MainWindowInterface.hpp>
3 #include <Gui/RaGui.hpp>
4 #include <Gui/TreeModel/EntityTreeModel.hpp>
5 
6 namespace Ra {
7 namespace Gui {
8 
14 class RA_GUI_API SimpleWindow : public Ra::Gui::MainWindowInterface
15 {
16  Q_OBJECT
17 
18  public:
23  explicit SimpleWindow( uint w = 800, uint h = 640, QWidget* parent = nullptr );
24  SimpleWindow( const SimpleWindow& ) = delete;
25  SimpleWindow& operator=( const SimpleWindow& ) = delete;
26  SimpleWindow( SimpleWindow&& ) = delete;
27  SimpleWindow& operator=( SimpleWindow&& ) = delete;
28  ~SimpleWindow() override;
32  Ra::Gui::Viewer* getViewer() override;
33 
35  Ra::Gui::SelectionManager* getSelectionManager() override;
36 
38  Ra::Gui::Timeline* getTimeline() override;
39 
41  void updateUi( Ra::Plugins::RadiumPluginInterface* plugin ) override;
42 
45  void onFrameComplete() override;
46 
48  void addRenderer( const std::string& name,
49  std::shared_ptr<Ra::Engine::Rendering::Renderer> e ) override;
50 
51  public slots:
56  void prepareDisplay() override;
57 
59  void cleanup() override;
60 
61  // Display help dialog about Viewer key-bindings
62  void displayHelpDialog() override;
63 
64  signals:
66  void frameUpdate();
67 
68  private:
70  void createConnections();
71 
73  std::unique_ptr<Ra::Gui::Viewer> m_viewer;
74 
77  std::unique_ptr<Ra::Gui::SelectionManager> m_selectionManager;
78 
80  std::unique_ptr<Ra::Gui::ItemModel> m_sceneModel;
81 };
82 
83 } // namespace Gui
84 } // namespace Ra
void frameUpdate()
Emitted when frame must be updated.
The Timeline class provides display and management of time, as well as keyframes.
Definition: Timeline.hpp:38
Interface class for Radiums plugins.
Definition: Cage.cpp:3