Files
uLib/app/gcompose/src/MainPanel.h

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