lena_pi/LenaPi/models/NavigationListModel.h
2021-08-28 14:08:02 +02:00

37 lines
940 B
C++

#ifndef NAVIGATIONLISTMODEL_H
#define NAVIGATIONLISTMODEL_H
#include <QObject>
class NavigationItemModel;
/**
* @brief Model containing navigation items and handling navigation.
* @todo Check whether we can use QAbstractListModel here!
*/
class NavigationListModel : public QObject
{
Q_OBJECT
Q_PROPERTY( QList<QObject*> pModelItems READ getModelItems NOTIFY modelItemsChanged)
Q_PROPERTY(bool pIsBackVisible READ isBackVisible NOTIFY modelItemsChanged)
signals:
void modelItemsChanged();
public:
explicit NavigationListModel(QObject* parent = nullptr) : QObject(parent) { /* nothing */ }
QList<QObject*> getModelItems();
void setModelItems(const QList<NavigationItemModel*>& list);
bool isBackVisible();
void navigateTo(NavigationItemModel* item);
Q_INVOKABLE void navigateBack();
private:
QList<QObject*> mItems;
bool mIsBackVisible = false;
};
#endif // NAVIGATIONLISTMODEL_H