Explicitly forbid copy for QgsDevToolsModelGroup

This commit is contained in:
Damiano Lombardi 2025-09-22 08:25:03 +02:00 committed by Nyall Dawson
parent d553c935c3
commit c0a3055b6e
2 changed files with 19 additions and 0 deletions

View File

@ -52,6 +52,8 @@ QgsDevToolsModelGroup::QgsDevToolsModelGroup( const QString &title )
{
}
QgsDevToolsModelGroup::~QgsDevToolsModelGroup() = default;
QgsDevToolsModelNode *QgsDevToolsModelGroup::addChild( std::unique_ptr<QgsDevToolsModelNode> child )
{
if ( !child )

View File

@ -94,6 +94,19 @@ class GUI_EXPORT QgsDevToolsModelNode
*/
class GUI_EXPORT QgsDevToolsModelGroup : public QgsDevToolsModelNode
{
public:
~QgsDevToolsModelGroup() override;
/**
* Constructor for a QgsDevToolsModelGroup. Copy constructor is disabled
*/
QgsDevToolsModelGroup( QgsDevToolsModelGroup &&other ) noexcept = default;
/**
* Assignement operator for QgsDevToolsModelGroup. Copy assignement is disabled
*/
QgsDevToolsModelGroup &operator=( QgsDevToolsModelGroup &&other ) noexcept = default;
public:
/**
* Adds a \a child node to this node.
@ -138,6 +151,10 @@ class GUI_EXPORT QgsDevToolsModelGroup : public QgsDevToolsModelNode
std::deque<std::unique_ptr<QgsDevToolsModelNode>> mChildren;
private:
// Prevent copying
QgsDevToolsModelGroup( const QgsDevToolsModelGroup & ) = delete;
QgsDevToolsModelGroup &operator=( const QgsDevToolsModelGroup & ) = delete;
QString mGroupTitle;
};