Files
DCMV/DIDKit/App/Model/FileItem.h

38 lines
902 B
C
Raw Normal View History

2022-09-23 13:13:41 +08:00
#ifndef FILEITEM_H
#define FILEITEM_H
#include <QList>
#include <QVariant>
#include <QSharedPointer>
class FileItemAction;
typedef QSharedPointer<QVariant> FileItemDataPointer;
typedef QSharedPointer<FileItemAction> FileItemActionPointer;
class FileItem
{
public:
explicit FileItem(FileItemDataPointer aData, FileItem* aParent = nullptr, FileItemActionPointer aAction = QSharedPointer<FileItemAction>());
~FileItem();
void setChild(FileItem* aChild);
void setChilds(const QList<FileItem*>& aChilds);
void removeChild(int aIndex);
int childCount();
FileItem* getChild(int aIndex);
FileItem* getParent();
FileItemDataPointer getData();
int getIndexRow();
void clearChilds();
void executeAction();
private:
FileItem* mParent;
QList<FileItem*> mChilds;
FileItemDataPointer mData;
FileItemActionPointer mAction;
};
#endif // FILEITEM_H