#ifndef CT_AUTORENAMEMODELS_H #define CT_AUTORENAMEMODELS_H #include "pluginShared_global.h" #include #include class CT_AbstractModel; class PLUGINSHAREDSHARED_EXPORT CT_AutoRenameModels { public: CT_AutoRenameModels(); ~CT_AutoRenameModels(); QString name() const; int extra() const; QString completeName() const; bool hasBeenModified() const; protected: template< class ItemT, class InheritedT > friend class CT_AbstractGroupModelT; template friend class CT_AbstractSingularItemModelT; friend class CT_AbstractModel; void setName(QString name); void setExtra(int extra); bool renameAllModels(); void addModel(const CT_AbstractModel *model); bool removeModel(CT_AbstractModel *model); const QList& models() const; void clear(); private: QString _name; int _extra; QList _models; }; #endif // CT_AUTORENAMEMODELS_H