-
Notifications
You must be signed in to change notification settings - Fork 0
/
commands.h
133 lines (119 loc) · 2.56 KB
/
commands.h
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#ifndef ICOMMAND_HPP
#define ICOMMAND_HPP
#include <QGraphicsItem>
#include "graphicsscene.h"
#include "qgraphicsitemfactory.h"
#include "qgraphicspinprototype.h"
class Mediator;
class Command : public QObject
{
Q_OBJECT
public:
virtual ~Command(){}
virtual void initialize(Mediator* mediator);
virtual void execute(QGraphicsItem *item);
public slots:
virtual void click(const QString&uid);
virtual void mousepressed();
virtual void mousereleased();
virtual void mousemoved(const QPointF& pos);
protected:
Mediator* mediator = nullptr;
};
class CommandMove : public Command
{
Q_OBJECT
public:
};
class CommandGroup : public Command
{
Q_OBJECT
public slots:
virtual void click(const QString&uid) final;
};
class CommandRemove : public Command
{
Q_OBJECT
public:
virtual void execute(QGraphicsItem *item) final;
};
class CommandSelect : public Command
{
public:
virtual void execute(QGraphicsItem *item) final;
};
class CommandBrush : public Command
{
Q_OBJECT
public:
CommandBrush(const QString& uid);
virtual void execute(QGraphicsItem* item) final;
public slots:
virtual void click(const QString&uid) final;
virtual void mousemoved(const QPointF& pos) final;
private:
bool draw = false;
};
class CommandGraphicsItem : public Command
{
Q_OBJECT
public:
CommandGraphicsItem(const QString& uid);
virtual void execute(QGraphicsItem* item) final;
private:
QGraphicsItemFactory factory;
QString uid;
};
class CommandEnlarge : public Command
{
Q_OBJECT
public:
virtual void execute(QGraphicsItem* item) final;
public slots:
virtual void click(const QString&uid) final;
private:
QString uid;
};
class CommandReduce : public Command
{
Q_OBJECT
public:
virtual void execute(QGraphicsItem* item) final;
public slots:
virtual void click(const QString&uid) final;
private:
QString uid;
};
class CommandPin1 : public Command
{
Q_OBJECT
public:
virtual void execute(QGraphicsItem* item) final;
public slots:
virtual void click(const QString&uid) final;
virtual void mousepressed() final;
virtual void mousereleased() final;
virtual void mousemoved(const QPointF& pos) final;
private:
QString uid;
bool draw = false;
QGraphicsPin* item = nullptr;
QPointF point;
};
class CommandPin2 : public Command
{
Q_OBJECT
public:
virtual void execute(QGraphicsItem* item) final;
public slots:
virtual void click(const QString&uid) final;
virtual void mousepressed() final;
virtual void mousereleased() final;
virtual void mousemoved(const QPointF& pos) final;
private:
QString uid;
bool draw = false;
QGraphicsAirBrush* item = nullptr;
QPointF point;
};
#endif // ICOMMAND_HPP