-
Notifications
You must be signed in to change notification settings - Fork 0
/
layoutview.h
114 lines (93 loc) · 2.96 KB
/
layoutview.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
#ifndef LAYOUTVIEW_H
#define LAYOUTVIEW_H
#include <QGraphicsView>
#include <QGraphicsItem>
#include <QGraphicsItemGroup>
#include <QGraphicsTextItem>
#include <QGraphicsPixmapItem>
#include <QGraphicsLineItem>
#include <QVariant>
#include "database.h"
namespace LayoutViews {
class LayoutRuler : public QGraphicsItemGroup {
public:
LayoutRuler();
void updateObject(float scale);
};
class LayoutView: public QGraphicsItem {
QRectF m_br;
LayoutRuler * rruler;
QGraphicsRectItem * rselect;
QGraphicsTextItem * rscale;
protected:
QPixmap *pix;
QGraphicsPixmapItem *pixitem;
int m_mainScaleIndex;
int m_pixmaps;
float childWidth;
float childHeight;
float childPadding;
QRectF doUniversalTransform(int i, float scale, int rotation);
QRectF doRotationTransform(int i, int rotation);
QRectF doScaleTransform(int i, float scale);
QRectF doClearTransform(int i);
public:
QGraphicsTextItem * rindex;
QGraphicsRectItem * rrect;
LayoutItem * layoutItem;
virtual void updateObject();
public:
LayoutView(LayoutItem *li, int pixmaps = 0);
virtual ~LayoutView();
virtual void setObjectScale(float scale);
virtual float objectScale();
virtual QRectF boundingRect() const {return m_br;}
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) {}
virtual void addToGroup(QGraphicsItem*i) {i->setParentItem(this);}
QVariant itemChange(GraphicsItemChange change, const QVariant &value);
void setBorder(bool border) {layoutItem->setBorder(border);updateObject();}
void setRuler(bool ruler) {layoutItem->setRuler(ruler);updateObject();}
bool border() {return layoutItem->border();}
bool ruler() {return layoutItem->ruler();}
/*void link(LayoutPage*page) {layoutItem->link(page);}
void unlink(LayoutPage*page){layoutItem->unlink(page);}*/
};
class LayoutTopSideView: public LayoutView {
QGraphicsLineItem * rlinetop;
QGraphicsLineItem * rlinebot;
public:
LayoutTopSideView(LayoutItem*item);
void updateObject();
};
class LayoutTopBottomView: public LayoutView {
QGraphicsLineItem * rlineleft;
QGraphicsLineItem * rlineright;
public:
LayoutTopBottomView(LayoutItem*item);
void updateObject();
};
class LayoutTopSideFrontView: public LayoutView {
QGraphicsLineItem * rlineleft;
QGraphicsLineItem * rlineright;
QGraphicsLineItem * rlinetop;
QGraphicsLineItem * rlinebot;
public:
LayoutTopSideFrontView(LayoutItem*item);
void updateObject();
};
class LayoutRTopSideFrontView: public LayoutView {
QGraphicsLineItem * rlineleft;
QGraphicsLineItem * rlineright;
QGraphicsLineItem * rlinetop;
QGraphicsLineItem * rlinebot;
public:
LayoutRTopSideFrontView(LayoutItem*item);
void updateObject();
};
class LayoutTopView: public LayoutView {
public:
LayoutTopView(LayoutItem*item);
void updateObject();
};
}
#endif // LAYOUTVIEW_H