1#include "prison.h"
2
3#include <QLineEdit>
4#include <QPushButton>
5#include "prison/BarcodeItem"
6#include "prison/BarcodeWidget"
7#include "prison/DataMatrixBarcode"
8#include "prison/QRCodeBarcode"
9#include "prison/Code39Barcode"
10#include "prison/Code93Barcode"
11#include <QHBoxLayout>
12#include <QGraphicsScene>
13#include <QGraphicsView>
14#include <QGraphicsLinearLayout>
15#include <QSplitter>
16
17void main_window::data_changed() {
18 QString result = m_lineedit->text();
19 m_dmi->setData(result);
20 m_dmw->setData(result);
21 m_qri->setData(result);
22 m_qrw->setData(result);
23 m_39i->setData(result);
24 m_39w->setData(result);
25 m_93i->setData(result);
26 m_93w->setData(result);
27 m_nulli->setData(result);
28 m_nullw->setData(result);
29 m_dmcolor->setData(result);
30 m_qrcolor->setData(result);
31 m_39color->setData(result);
32 m_93color->setData(result);
33
34}
35
36main_window::main_window() {
37 QHBoxLayout* lay = new QHBoxLayout();
38 m_lineedit = new QLineEdit(this);
39 QPushButton* but = new QPushButton(this);
40 connect(but,SIGNAL(clicked()),SLOT(data_changed()));
41 lay->addWidget(m_lineedit);
42 lay->addWidget(but);
43
44 QVBoxLayout* mainlay = new QVBoxLayout();
45
46 m_dmw = new prison::BarcodeWidget(new prison::DataMatrixBarcode(),this);
47 m_qrw = new prison::BarcodeWidget(new prison::QRCodeBarcode(),this);
48 m_39w = new prison::BarcodeWidget(new prison::Code39Barcode(),this);
49 m_93w = new prison::BarcodeWidget(new prison::Code93Barcode(),this);
50 m_dmcolor = new prison::BarcodeWidget(this);
51 {
52 prison::DataMatrixBarcode* dmcolorcode = new prison::DataMatrixBarcode();
53 dmcolorcode->setForegroundColor(Qt::red);
54 dmcolorcode->setBackgroundColor(Qt::darkBlue);
55 m_dmcolor->setBarcode(dmcolorcode);
56 }
57 m_qrcolor = new prison::BarcodeWidget(this);
58 {
59 prison::QRCodeBarcode* qrcolorcode = new prison::QRCodeBarcode();
60 qrcolorcode->setForegroundColor(Qt::red);
61 qrcolorcode->setBackgroundColor(Qt::darkBlue);
62 m_qrcolor->setBarcode(qrcolorcode);
63 }
64 m_39color = new prison::BarcodeWidget(this);
65 {
66 prison::Code39Barcode* c39colorcode = new prison::Code39Barcode();
67 c39colorcode->setForegroundColor(Qt::red);
68 c39colorcode->setBackgroundColor(Qt::darkBlue);
69 m_39color->setBarcode(c39colorcode);
70 }
71 m_93color = new prison::BarcodeWidget(this);
72 {
73 prison::Code93Barcode* c93colorcode = new prison::Code93Barcode();
74 c93colorcode->setForegroundColor(Qt::red);
75 c93colorcode->setBackgroundColor(Qt::darkBlue);
76 m_93color->setBarcode(c93colorcode);
77 }
78
79 QGraphicsScene* scene = new QGraphicsScene(this);
80
81 m_dmi = new prison::BarcodeItem(new prison::DataMatrixBarcode());
82 m_qri = new prison::BarcodeItem(new prison::QRCodeBarcode());
83 m_39i = new prison::BarcodeItem(new prison::Code39Barcode());
84 m_93i = new prison::BarcodeItem(new prison::Code93Barcode());
85
86 m_nulli = new prison::BarcodeItem();
87 m_nullw = new prison::BarcodeWidget();
88
89 scene->addItem(m_dmi);
90 m_dmi->setPos(0,0);
91 scene->addItem(m_qri);
92 m_qri->setPos(200,200);
93 scene->addItem(m_39i);
94 m_39i->setPos(0,400);
95 scene->addItem(m_93i);
96 m_93i->setPos(200,400);
97 scene->addItem(m_nulli);
98 m_nulli->setPos(0,200);
99
100 prison::BarcodeItem* with_value = new prison::BarcodeItem();
101 with_value->setBarcode(new prison::QRCodeBarcode());
102 with_value->setData("hello");
103 scene->addItem(with_value);
104 with_value->setPos(200,0);
105
106 QGraphicsView* v = new QGraphicsView(this);
107 v->setScene(scene);
108
109 QSplitter* splitter = new QSplitter(Qt::Vertical);
110 splitter->addWidget(v);
111 splitter->addWidget(m_dmw);
112 splitter->addWidget(m_qrw);
113 splitter->addWidget(m_39w);
114 splitter->addWidget(m_93w);
115 splitter->addWidget(m_dmcolor);
116 splitter->addWidget(m_qrcolor);
117 splitter->addWidget(m_39color);
118 splitter->addWidget(m_93color);
119 splitter->addWidget(m_nullw);
120
121 mainlay->addLayout(lay);
122 mainlay->addWidget(splitter);
123 setLayout(mainlay);
124
125 m_lineedit->setText("AOEUIAOEUIAOEUI");
126 data_changed();
127
128}
129
130
131
132
133#include "prison.moc"
134