Files
cbh/ElaWidgetTools/DeveloperComponents/ElaFooterModel.h
2025-09-20 01:41:33 +08:00

29 lines
1.1 KiB
C++

#ifndef ELAFOOTERMODEL_H
#define ELAFOOTERMODEL_H
#include <QAbstractListModel>
#include "ElaDef.h"
class ElaNavigationNode;
class ElaFooterModel : public QAbstractListModel {
Q_OBJECT
Q_PRIVATE_CREATE(ElaNavigationNode *, SelectedNode)
public:
explicit ElaFooterModel(QObject *parent = nullptr);
~ElaFooterModel();
ElaNavigationType::NodeOperateReturnType addFooterNode(QString footerTitle, QString &footerKey, bool isHasFooterPage, int keyPoints = 0,
ElaIconType::IconName awesome = ElaIconType::None);
int getFooterNodeCount() const;
ElaNavigationNode *getNavigationNode(QString footerKey);
void removeNavigationNode(QString footerKey);
protected:
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex &index, int role) const override;
private:
QList<ElaNavigationNode *> _footerNodeList;
};
#endif // ELAFOOTERMODEL_H