Здравствуйте, нужно переопределить функцию клонирования в наследнике QStandardItem с учетом нового члена класса
Вот что получилось у меня:
#ifndef RDATAITEM_H
#define RDATAITEM_H
//--------Qt
#include "QStandardItem"
//-------My and other headers
#include "Classes/RDataItemModel/RDataItemModel.h"
//-------
class RDataItemModel;
class RDataItem : public QStandardItem
{
public:
//***********/
void setItemType(const RDataItemModel::itemType tp) { type = tp; }
RDataItemModel::itemType getItemType() const { return type; }
QStandardItem *clone() const;
void setValue(const RDataItem * item) { *this = *item; }
private:
RDataItemModel::itemType type;
};
#endif
//-------My and other headers
#include "RDataItem.h"
//-------
QStandardItem *RDataItem::clone() const
{
RDataItem *item = new RDataItem(text());
item->setValue(this);
item->setItemType(getItemType());
return item;
}
Нельзя ли как-то более понятно и красиво реализовать это дело, а то согласитесь, использовать для этого отдельную функцию, которую пришлось сделать публичной не есть правильно
Заранее спасибо!