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 ) QgsDevToolsModelNode *QgsDevToolsModelGroup::addChild( std::unique_ptr<QgsDevToolsModelNode> child )
{ {
if ( !child ) if ( !child )

View File

@ -94,6 +94,19 @@ class GUI_EXPORT QgsDevToolsModelNode
*/ */
class GUI_EXPORT QgsDevToolsModelGroup : public 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: public:
/** /**
* Adds a \a child node to this node. * 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; std::deque<std::unique_ptr<QgsDevToolsModelNode>> mChildren;
private: private:
// Prevent copying
QgsDevToolsModelGroup( const QgsDevToolsModelGroup & ) = delete;
QgsDevToolsModelGroup &operator=( const QgsDevToolsModelGroup & ) = delete;
QString mGroupTitle; QString mGroupTitle;
}; };