Files
uLib/app/gcompose/src/QViewportPane.h
AndreaRigoni f13342ff30 vtkProperties
2026-03-23 17:46:42 +00:00

51 lines
1.1 KiB
C++

#ifndef QVIEWPORTPANE_H
#define QVIEWPORTPANE_H
#include <QWidget>
#include <QFrame>
#include <QPushButton>
namespace uLib {
class Object;
namespace Qt { class PropertyEditor; }
}
class QVBoxLayout;
class QLabel;
class QViewportPane : public QWidget {
Q_OBJECT
public:
explicit QViewportPane(QWidget* parent = nullptr);
virtual ~QViewportPane();
void addVtkViewport();
void addRootCanvas();
QWidget* currentViewport() const { return m_viewport; }
/** @brief Update the display properties for the given object. */
void setObject(uLib::Object* obj);
private slots:
void onCloseRequested();
void showContextMenu(const QPoint& pos);
void toggleDisplayPanel();
private:
void AttemptSplit(Qt::Orientation orientation);
void setViewport(QWidget* viewport, const QString& title);
QVBoxLayout* m_layout;
QWidget* m_titleBar;
QLabel* m_titleLabel;
QWidget* m_viewport;
// Display Properties Overlay
QFrame* m_displayPanel;
uLib::Qt::PropertyEditor* m_displayEditor;
QPushButton* m_toggleBtn;
};
#endif // QVIEWPORTPANE_H