#pragma once #include 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