1 /*
2 SPDX-FileCopyrightText: 2010-2016 Sune Vuorela <sune@vuorela.dk>
3
4 SPDX-License-Identifier: MIT
5 */
6
7 #include "prison.h"
8
9 #include "barcodeexamplewidget.h"
10 // Prison
11 #include <prison/abstractbarcode.h>
12 #include <prison/prison.h>
13 // Qt
14 #include <QDebug>
15 #include <QHBoxLayout>
16 #include <QLineEdit>
17 #include <QPushButton>
18 #include <QSplitter>
19
data_changed()20 void main_window::data_changed()
21 {
22 QString result = m_lineedit->text();
23 m_dmw->setData(result);
24 m_qrw->setData(result);
25 m_39w->setData(result);
26 m_93w->setData(result);
27 m_nullw->setData(result);
28 m_dmcolor->setData(result);
29 m_qrcolor->setData(result);
30 m_39color->setData(result);
31 m_93color->setData(result);
32 }
33
main_window()34 main_window::main_window()
35 {
36 QHBoxLayout *lay = new QHBoxLayout();
37 m_lineedit = new QLineEdit(this);
38 QPushButton *but = new QPushButton(this);
39 connect(but, &QPushButton::clicked, this, &main_window::data_changed);
40 lay->addWidget(m_lineedit);
41 lay->addWidget(but);
42
43 QVBoxLayout *mainlay = new QVBoxLayout(this);
44
45 {
46 Prison::AbstractBarcode *barcode = Prison::createBarcode(Prison::DataMatrix);
47 if (!barcode) {
48 qDebug() << "unsupported barcode, showing a black square";
49 }
50 m_dmw = new BarcodeExampleWidget(barcode, this);
51 }
52 {
53 Prison::AbstractBarcode *barcode = Prison::createBarcode(Prison::QRCode);
54 if (!barcode) {
55 qDebug() << "unsupported barcode, showing a black square";
56 }
57 m_qrw = new BarcodeExampleWidget(barcode, this);
58 }
59 {
60 Prison::AbstractBarcode *barcode = Prison::createBarcode(Prison::Code39);
61 if (!barcode) {
62 qDebug() << "unsupported barcode, showing a black square";
63 }
64 m_39w = new BarcodeExampleWidget(barcode, this);
65 }
66 {
67 Prison::AbstractBarcode *barcode = Prison::createBarcode(Prison::Code93);
68 if (!barcode) {
69 qDebug() << "unsupported barcode, showing a black square";
70 }
71 m_93w = new BarcodeExampleWidget(barcode, this);
72 }
73 {
74 Prison::AbstractBarcode *dmcolorcode = Prison::createBarcode(Prison::DataMatrix);
75 if (dmcolorcode) {
76 dmcolorcode->setForegroundColor(Qt::red);
77 dmcolorcode->setBackgroundColor(Qt::darkBlue);
78 } else {
79 qDebug() << "unsupported barcode, showing a black square";
80 }
81 m_dmcolor = new BarcodeExampleWidget(dmcolorcode, this);
82 }
83 {
84 Prison::AbstractBarcode *qrcolorcode = Prison::createBarcode(Prison::QRCode);
85 if (qrcolorcode) {
86 qrcolorcode->setForegroundColor(Qt::red);
87 qrcolorcode->setBackgroundColor(Qt::darkBlue);
88 } else {
89 qDebug() << "unsupported barcode, showing a black square";
90 }
91 m_qrcolor = new BarcodeExampleWidget(qrcolorcode, this);
92 }
93 {
94 Prison::AbstractBarcode *c39colorcode = Prison::createBarcode(Prison::Code39);
95 if (c39colorcode) {
96 c39colorcode->setForegroundColor(Qt::red);
97 c39colorcode->setBackgroundColor(Qt::darkBlue);
98 } else {
99 qDebug() << "unsupported barcode, showing a black square";
100 }
101 m_39color = new BarcodeExampleWidget(c39colorcode, this);
102 }
103 {
104 Prison::AbstractBarcode *c93colorcode = Prison::createBarcode(Prison::Code93);
105 if (c93colorcode) {
106 c93colorcode->setForegroundColor(Qt::red);
107 c93colorcode->setBackgroundColor(Qt::darkBlue);
108 } else {
109 qDebug() << "unsupported barcode, showing a black square";
110 }
111 m_93color = new BarcodeExampleWidget(c93colorcode, this);
112 }
113
114 m_nullw = new BarcodeExampleWidget(nullptr, this);
115
116 QSplitter *splitter = new QSplitter(Qt::Vertical);
117 splitter->addWidget(m_dmw);
118 splitter->addWidget(m_qrw);
119 splitter->addWidget(m_39w);
120 splitter->addWidget(m_93w);
121 splitter->addWidget(m_dmcolor);
122 splitter->addWidget(m_qrcolor);
123 splitter->addWidget(m_39color);
124 splitter->addWidget(m_93color);
125 splitter->addWidget(m_nullw);
126
127 mainlay->addLayout(lay);
128 mainlay->addWidget(splitter);
129
130 m_lineedit->setText(QStringLiteral("AOEUIAOEUIAOEUI"));
131 data_changed();
132 }
133