RecipeDB/gui/mainwindow.h

61 lines
1.3 KiB
C
Raw Permalink Normal View History

2018-02-02 09:00:46 +00:00
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
2018-02-12 13:24:11 +00:00
#include <string>
#include <QAbstractListModel>
2018-02-12 13:24:11 +00:00
#include "model/recipe/recipe.h"
#include "model/recipe/ingredients/ingredientlistmodel.h"
#include "gui/newrecipedialog.h"
#include "gui/openrecipedialog.h"
#include "utils/stringutils.h"
2018-02-12 13:24:11 +00:00
using namespace std;
2018-02-02 09:00:46 +00:00
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
MainWindow(RecipeDatabase *db, QWidget *parent = 0);
2018-02-02 09:00:46 +00:00
~MainWindow();
2018-02-12 13:24:11 +00:00
//Loads all data from a recipe into the GUI components.
void loadFromRecipe(Recipe recipe);
private slots:
void on_newButton_clicked();
void on_openButton_clicked();
void on_exitButton_clicked();
2018-03-30 21:25:28 +00:00
void on_editButton_clicked();
private:
2018-02-02 09:00:46 +00:00
Ui::MainWindow *ui;
RecipeDatabase *recipeDB;
IngredientListModel ingredientModel;
TagListModel tagsListModel;
2018-03-30 21:25:28 +00:00
Recipe currentRecipe;
2018-02-12 13:24:11 +00:00
//Hidden manipulation methods.
void setRecipeName(string name);
void setInstruction(Instruction instruction);
void setIngredients(vector<Ingredient> ingredients);
void setImage(QImage img);
2018-03-10 15:02:01 +00:00
void setPrepTime(QTime prepTime);
void setCookTime(QTime cookTime);
void setServings(float servings);
void setTags(vector<RecipeTag> tags);
2018-03-31 13:02:35 +00:00
void setAuthorName(string name);
2018-02-02 09:00:46 +00:00
};
#endif // MAINWINDOW_H