-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmainwindowinteractor.h
More file actions
58 lines (52 loc) · 2.35 KB
/
mainwindowinteractor.h
File metadata and controls
58 lines (52 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef MAINWINDOWINTERACTOR_H
#define MAINWINDOWINTERACTOR_H
#include "database.h"
class MainWindowInteractor;
class MainWindowInteractorDestroyer
{
private:
MainWindowInteractor* p_instance;
public:
~MainWindowInteractorDestroyer();
void initialize( MainWindowInteractor* p );
};
class MainWindowInteractor
{
private:
Bouquet tempBouquet;
QString fileName;
static MainWindowInteractor* p_instance;
static MainWindowInteractorDestroyer destroyer;
DataBase& db;
protected:
friend class MainWindowInteractorDestroyer;
MainWindowInteractor(DataBase& db) : db(db) { }
MainWindowInteractor( const MainWindowInteractor& );
MainWindowInteractor& operator=( MainWindowInteractor& );
~MainWindowInteractor() { }
public:
static MainWindowInteractor& getInstance();
// Возвращает список всех цветов для цветка по имени
QList<QString> getFlourColors(QString name) const;
// возвращает цену цветка по имени и цвету
int getFlourPrice(QString name, QString color) const;
// Функция возвращает информацию о создаваемом букете
// в виде двусвязного списка строк
// Второй список имеет вид [name, color, price]
QList<QList<QString>> getBouquetInfo() const;
// Добавляет указанное количество необходимого цветка необходимого цвета
void addToTemporaryBouquet(QString name, QString color, int number);
// Очищает букет создаваемый пользователем
void clearTempBouquet();
// Удаляет цветок необходимого цвета из создаваемого букета
// при его отсутсвтвии просто ничего не делает
void deleteFlourInTempBouquet(QString name, QString color);
// Сохраняет создаваемый букет в бд
void saveBouuetToDb() const;
// Сохраняет создаваемый букет в выбранный файл
void saveBouquetToFIle(QString fileName) const;
void setDbFile(QString fileName);
int getTempBouquetPrice() const;
QString getFlourPic(QString name, QString color) const;
};
#endif // MAINWINDOWINTERACTOR_H