Add UI for DIDKIT.

This commit is contained in:
Krad
2022-09-23 13:13:41 +08:00
parent 90ead1ce1a
commit cc4326ded3
31 changed files with 1014 additions and 69 deletions

View File

@@ -0,0 +1,82 @@
#include "FileItem.h"
#include "FileItemAction.h"
FileItem::FileItem(FileItemDataPointer mData, FileItem* aParent, FileItemActionPointer aAction)
: mParent(aParent)
, mChilds(QList<FileItem*>())
, mData(mData)
, mAction(aAction)
{
if (mParent != nullptr)
{
mParent->setChild(this);
}
}
FileItem::~FileItem()
{
qDeleteAll(mChilds);
mChilds.clear();
}
void FileItem::setChild(FileItem* aChild)
{
mChilds.append(aChild);
}
void FileItem::setChilds(const QList<FileItem*>& aChilds)
{
mChilds.append(aChilds);
}
void FileItem::removeChild(int aIndex)
{
mChilds.removeAt(aIndex);
}
int FileItem::childCount()
{
return mChilds.count();
}
FileItem* FileItem::getChild(int aIndex)
{
if (aIndex < mChilds.count())
{
return mChilds.at(aIndex);
}
return nullptr;
}
FileItem* FileItem::getParent()
{
return mParent;
}
FileItemDataPointer FileItem::getData()
{
return mData;
}
int FileItem::getIndexRow()
{
if (mParent)
{
return mParent->mChilds.indexOf(this);
}
return 0;
}
void FileItem::clearChilds()
{
qDeleteAll(mChilds);
mChilds.clear();
}
void FileItem::executeAction()
{
if(!mAction.isNull())
{
mAction->execute();
}
}