48 lines
978 B
C++
48 lines
978 B
C++
#ifndef MAINPANEL_H
|
|
#define MAINPANEL_H
|
|
|
|
#include <QWidget>
|
|
|
|
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
|