RecipeDB/model/recipe/ingredients/ingredientlistmodel.h

37 lines
980 B
C
Raw Normal View History

2018-02-12 13:24:11 +00:00
#ifndef INGREDIENTLISTMODEL_H
#define INGREDIENTLISTMODEL_H
#include <QAbstractListModel>
#include <QModelIndex>
#include <vector>
2018-02-12 13:24:11 +00:00
#include "model/recipe/ingredients/ingredient.h"
2018-02-12 13:24:11 +00:00
/**
* @brief The IngredientListModel class
*
* The ingredient list model extends the QAbstractListModel and is used for lists of ingredients,
* whether they appear in the NewRecipe dialog or in the main recipe view.
*/
2018-02-12 13:24:11 +00:00
class IngredientListModel : public QAbstractListModel
{
public:
IngredientListModel();
//Overridden methods.
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
2018-02-12 13:24:11 +00:00
//Custom methods to handle ingredient data.
void setIngredients(vector<Ingredient> ingredients);
bool addIngredient(Ingredient i);
2018-03-10 12:22:04 +00:00
void deleteIngredient(int index);
vector<Ingredient> getIngredients();
2018-02-12 13:24:11 +00:00
private:
vector<Ingredient> ingredients;
2018-02-12 13:24:11 +00:00
};
#endif // INGREDIENTLISTMODEL_H