添加LayerWrapper接口
parent
3904ff0b61
commit
8bf6835c23
|
@ -413,4 +413,19 @@ bool FolderLayerWrapper::deleteable(bool excludeSubTree) const
|
||||||
return this->getReferencedBy() == -1;
|
return this->getReferencedBy() == -1;
|
||||||
else
|
else
|
||||||
return this->referencedCount() == 0;
|
return this->referencedCount() == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool LayerWrapper::referencingGroupElement() const
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool LeafLayerWrapper::referencingGroupElement() const
|
||||||
|
{
|
||||||
|
return typeid(*wrappedElement) == typeid(GroupElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool LayerWrapper::canApplyStyles() const
|
||||||
|
{
|
||||||
|
return typeid(*this) == typeid(LeafLayerWrapper) && !referencingGroupElement();
|
||||||
}
|
}
|
|
@ -73,6 +73,8 @@ class LayerWrapper
|
||||||
virtual void refreshTreeItem();
|
virtual void refreshTreeItem();
|
||||||
virtual size_t referencedCount(bool excludeSelf = false) const;
|
virtual size_t referencedCount(bool excludeSelf = false) const;
|
||||||
virtual bool deleteable(bool excludeSubTree = false) const;
|
virtual bool deleteable(bool excludeSubTree = false) const;
|
||||||
|
virtual bool referencingGroupElement() const;
|
||||||
|
bool canApplyStyles() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FolderLayerWrapper : public LayerWrapper
|
class FolderLayerWrapper : public LayerWrapper
|
||||||
|
@ -117,6 +119,7 @@ class LeafLayerWrapper : public LayerWrapper
|
||||||
void collectDownReachable(std::set<LayerWrapper*>& reachable) override;
|
void collectDownReachable(std::set<LayerWrapper*>& reachable) override;
|
||||||
QTreeWidgetItem* getQTreeItem() override;
|
QTreeWidgetItem* getQTreeItem() override;
|
||||||
void refreshTreeItem() override;
|
void refreshTreeItem() override;
|
||||||
|
bool referencingGroupElement() const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(LayerWrapper *)
|
Q_DECLARE_METATYPE(LayerWrapper *)
|
||||||
|
|
Loading…
Reference in New Issue