27 lines
804 B
C++
27 lines
804 B
C++
#pragma once
|
||
|
||
#include "LayerTreeGroupNode.h"
|
||
|
||
/**
|
||
* LayerTree:图层树根节点
|
||
* - 继承自 LayerTreeGroup,本身就是树的根节点
|
||
* - 提供可见性级联与父节点三态更新的静态工具
|
||
*
|
||
* 注意:beginInsertRows/endInsertRows 等 Qt Model 变更通知应由 Model 驱动调用,
|
||
* LayerTree 只负责维护数据结构正确性。
|
||
*/
|
||
class LayerTree : public LayerTreeGroup
|
||
{
|
||
Q_OBJECT
|
||
public:
|
||
explicit LayerTree(QObject* parent = nullptr);
|
||
~LayerTree() override;
|
||
|
||
LayerTree(const LayerTree&) = delete;
|
||
LayerTree& operator=(const LayerTree&) = delete;
|
||
|
||
// 可见性逻辑(供 Model 调用)
|
||
static void setChildrenVisible(LayerTreeNode* n, Qt::CheckState state);
|
||
static void updateParentVisibleFromChildren(LayerTreeNode* parent);
|
||
};
|