36 lines
959 B
C++
36 lines
959 B
C++
#pragma once
|
||
#include <QWidget>
|
||
|
||
class QPushButton;
|
||
|
||
namespace geopro::app {
|
||
|
||
class Column3DDataset;
|
||
class Column2DDataset;
|
||
class Column3DAnalysis;
|
||
|
||
// VTK视图左侧内嵌抽屉:三 tab(三维数据集/二维数据集/三维分析) + 折叠开关。
|
||
class ColumnDrawer : public QWidget {
|
||
Q_OBJECT
|
||
public:
|
||
explicit ColumnDrawer(QWidget* parent = nullptr);
|
||
|
||
Column3DDataset* col3D() const { return col3D_; }
|
||
Column2DDataset* col2D() const { return col2D_; }
|
||
Column3DAnalysis* colAnalysis() const { return colAnalysis_; }
|
||
|
||
public slots:
|
||
void toggleCollapsed();
|
||
void expand(); // 强制展开(进入全屏时确保三栏可见)
|
||
|
||
private:
|
||
Column3DDataset* col3D_ = nullptr;
|
||
Column2DDataset* col2D_ = nullptr;
|
||
Column3DAnalysis* colAnalysis_ = nullptr;
|
||
QWidget* body_ = nullptr; // QTabWidget,折叠时隐藏
|
||
QPushButton* toggleBtn_ = nullptr;
|
||
bool collapsed_ = false;
|
||
};
|
||
|
||
} // namespace geopro::app
|