#ifndef MAINPANEL_H #define MAINPANEL_H #include class QSplitter; class ViewportPane; class ContextPanel; class PropertiesPanel; namespace uLib { class ObjectsContext; namespace Vtk { class ObjectsContext; class ViewportProperties; } } class MainPanel : public QWidget { Q_OBJECT public: explicit MainPanel(QWidget* parent = nullptr); virtual ~MainPanel(); void setContext(uLib::ObjectsContext* context); ViewportPane* getFirstPane() const { return m_firstPane; } private slots: void onOpen(); void onSave(); void onSaveAs(); void onExit(); void onPreferences(); void onCreateObject(const std::string& className); private: QSplitter* m_rootSplitter; ViewportPane* m_firstPane; ContextPanel* m_contextPanel; uLib::ObjectsContext* m_context; uLib::Vtk::ObjectsContext* m_mainVtkContext; uLib::Vtk::ViewportProperties* m_viewportProps; }; #endif // MAINPANEL_H