From 3b0a048fa906ae93a03520720c4ef64213022bac Mon Sep 17 00:00:00 2001 From: taipanromania Date: Wed, 17 Sep 2008 17:36:08 +0000 Subject: [PATCH] more qt code trying to catch up robin ;) --- backend_qt4/backend_qt4.pro | 12 +-- backend_qt4/barcoderender.cpp | 134 +++++++++++++++++++++++++++------- backend_qt4/barcoderender.h | 65 +++++++++++++++-- 3 files changed, 170 insertions(+), 41 deletions(-) diff --git a/backend_qt4/backend_qt4.pro b/backend_qt4/backend_qt4.pro index 6867a37d..501f2378 100644 --- a/backend_qt4/backend_qt4.pro +++ b/backend_qt4/backend_qt4.pro @@ -19,14 +19,11 @@ DEFINES += NO_PNG NO_QR LIBS += -lpng } -contains(DEFINES, NO_QR){ - SOURCES += ../backend/no_qr.c -}else{ - SOURCES += ../backend/qr.c - contains(DEFINES, QR_SYSTEM){ LIBS += -lqrencode -}else{ +} + +contains(DEFINES, QR){ INCLUDEPATH += qrencode @@ -48,8 +45,6 @@ SOURCES += qrencode/bitstream.c \ qrencode/split.c } -} - HEADERS += ../backend/common.h \ ../backend/composite.h \ ../backend/dm200.h \ @@ -84,6 +79,7 @@ SOURCES += ../backend/2of5.c \ ../backend/rss.c \ ../backend/telepen.c \ ../backend/upcean.c \ + ../backend/qr.c \ barcoderender.cpp VERSION = 1.6.0 diff --git a/backend_qt4/barcoderender.cpp b/backend_qt4/barcoderender.cpp index d83e35cc..45907237 100644 --- a/backend_qt4/barcoderender.cpp +++ b/backend_qt4/barcoderender.cpp @@ -13,7 +13,6 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * ***************************************************************************/ -#include #include "barcoderender.h" @@ -26,12 +25,13 @@ BareCode::BareCode() m_height=50; m_border=NO_BORDER; m_boderWidth=0; - m_width=0; m_securityLevel=-1; m_pdf417CodeWords=928; m_fgColor=Qt::black; m_bgColor=Qt::white; m_zintSymbol=0; + m_excode39SymbologyNumber=m_code39SymbologyNumber=m_msiSymbologyNumber=0; + m_error=0; } BareCode::~BareCode() @@ -53,7 +53,24 @@ void BareCode::encode() m_zintSymbol->whitespace_width=0; m_zintSymbol->border_width=0; m_zintSymbol->option_1=m_securityLevel; - m_zintSymbol->option_2=m_width; + switch (m_symbol) + { + case BARCODE_MSI_PLESSEY: + m_zintSymbol->option_2=m_msiSymbologyNumber; + break; + + case BARCODE_CODE39: + m_zintSymbol->option_2=m_code39SymbologyNumber; + break; + + case BARCODE_EXCODE39: + m_zintSymbol->option_2=m_excode39SymbologyNumber; + break; + + default: + m_zintSymbol->option_2=m_width; + break; + } m_zintSymbol->option_3=m_pdf417CodeWords; QByteArray bstr=m_text.toAscii(); QByteArray pstr=m_primaryMessage.left(99).toAscii(); @@ -78,40 +95,42 @@ void BareCode::encode() } } +int BareCode::symbol() +{ + return m_symbol; +} void BareCode::setSymbol(int symbol) { m_symbol=symbol; } +QString BareCode::text() +{ + return m_text; +} void BareCode::setText(const QString & text) { m_text=text; } +QString BareCode::primaryMessage() +{ + return m_primaryMessage; +} void BareCode::setPrimaryMessage(const QString & primaryMessage) { m_primaryMessage=primaryMessage; } -void BareCode::setHeight(int height) -{ - m_height=height; -} - int BareCode::height() { encode(); return m_zintSymbol->height+(m_border==BOX)?m_boderWidth*2:0; } -void BareCode::setBorder(BorderType border) +void BareCode::setHeight(int height) { - m_border=border; -} - -void BareCode::setBorderWidth(int boderWidth) -{ - m_boderWidth=boderWidth; + m_height=height; } void BareCode::setWidth(int width) @@ -125,34 +144,85 @@ int BareCode::width() return m_zintSymbol->width+(m_border!=NO_BORDER)?m_boderWidth*2:0; } -void BareCode::setSecurityLevel(int securityLevel) +QColor BareCode::fgColor() { - m_securityLevel=securityLevel; + return m_fgColor; } - -void BareCode::setPdf417CodeWords(int pdf417CodeWords) -{ - m_pdf417CodeWords=pdf417CodeWords; -} - void BareCode::setFgColor(const QColor & fgColor) { m_fgColor=fgColor; } +QColor BareCode::bgColor() +{ + return m_bgColor; +} void BareCode::setBgColor(const QColor & bgColor) { m_bgColor=bgColor; } -const QString & BareCode::lastError() +BareCode::BorderType BareCode::borderType() { - return m_lastError; + return m_border; +} +void BareCode::setBorderType(BorderType border) +{ + m_border=border; } -bool BareCode::hasErrors() +int BareCode::borderWidth() { - return m_lastError.length(); + return m_boderWidth; +} +void BareCode::setBorderWidth(int boderWidth) +{ + m_boderWidth=boderWidth; +} + +int BareCode::pdf417CodeWords() +{ + return m_pdf417CodeWords; +} +void BareCode::setPdf417CodeWords(int pdf417CodeWords) +{ + m_pdf417CodeWords=pdf417CodeWords; +} + +int BareCode::securityLevel() +{ + return m_securityLevel; +} +void BareCode::setSecurityLevel(int securityLevel) +{ + m_securityLevel=securityLevel; +} + +int BareCode::msiExtraSymbology() +{ + return m_msiSymbologyNumber; +} +void BareCode::setMsiExtraSymbology(int msiSymbologyNumber) +{ + m_msiSymbologyNumber=msiSymbologyNumber; +} + +int BareCode::code39ExtraSymbology() +{ + return m_code39SymbologyNumber; +} +void BareCode::setCode39ExtraSymbology(int m_code39SymbologyNumber) +{ + m_code39SymbologyNumber=m_code39SymbologyNumber; +} + +int BareCode::excode39ExtraSymbology() +{ + return m_excode39SymbologyNumber; +} +void BareCode::setExcode39ExtraSymbology(int excode39SymbologyNumber) +{ + m_excode39SymbologyNumber=excode39SymbologyNumber; } void BareCode::render(QPainter & painter, const QRectF & paintRect, AspectRatioMode mode, qreal scaleFactor) @@ -327,5 +397,15 @@ void BareCode::render(QPainter & painter, const QRectF & paintRect, AspectRatioM painter.restore(); } +const QString & BareCode::lastError() +{ + return m_lastError; +} + +bool BareCode::hasErrors() +{ + return m_lastError.length(); +} + } diff --git a/backend_qt4/barcoderender.h b/backend_qt4/barcoderender.h index 59fcc141..f3eb82bc 100644 --- a/backend_qt4/barcoderender.h +++ b/backend_qt4/barcoderender.h @@ -16,8 +16,8 @@ #ifndef BARCODERENDER_H #define BARCODERENDER_H -#include #include +#include #include "zint.h" @@ -25,7 +25,29 @@ namespace Zint { class BareCode +#ifndef NO_QT_KEYWORDS + : public QObject +#endif { +#ifndef NO_QT_KEYWORDS +Q_OBJECT + Q_PROPERTY(int symbol READ symbol WRITE setSymbol) + Q_PROPERTY(QString text READ text WRITE setText) + Q_PROPERTY(QString primaryMessage READ primaryMessage WRITE setPrimaryMessage) + Q_PROPERTY(int height READ height WRITE setHeight) + Q_PROPERTY(int width READ width WRITE setWidth) + Q_PROPERTY(QColor fgColor READ fgColor WRITE setFgColor) + Q_PROPERTY(QColor bgColor READ bgColor WRITE setBgColor) + Q_PROPERTY(BorderType borderType READ borderType WRITE setBorderType) + Q_PROPERTY(int borderWidth READ borderWidth WRITE setBorderWidth) + Q_PROPERTY(int pdf417CodeWords READ pdf417CodeWords WRITE setPdf417CodeWords) + Q_PROPERTY(int securityLevel READ securityLevel WRITE setSecurityLevel) + Q_PROPERTY(int msiExtraSymbology READ msiExtraSymbology WRITE setMsiExtraSymbology) + Q_PROPERTY(int code39ExtraSymbology READ code39ExtraSymbology WRITE setCode39ExtraSymbology) + Q_PROPERTY(int excode39ExtraSymbology READ excode39ExtraSymbology WRITE setExcode39ExtraSymbology) + Q_ENUMS(BorderType) +#endif + public: enum BorderType{NO_BORDER=0, BIND=1, BOX=2}; @@ -35,25 +57,52 @@ public: BareCode(); ~BareCode(); + int symbol(); void setSymbol(int symbol); + + QString text(); void setText(const QString & text); + + QString primaryMessage(); void setPrimaryMessage(const QString & primaryMessage); + void setHeight(int height); int height(); - void setBorder(BorderType border); - void setBorderWidth(int boderWidth); + void setWidth(int width); int width(); - void setSecurityLevel(int securityLevel); - void setPdf417CodeWords(int pdf417CodeWords); + + QColor fgColor(); void setFgColor(const QColor & fgColor); + + QColor bgColor(); void setBgColor(const QColor & bgColor); + BorderType borderType(); + void setBorderType(BorderType border); + + int borderWidth(); + void setBorderWidth(int boderWidth); + + int pdf417CodeWords(); + void setPdf417CodeWords(int pdf417CodeWords); + + int securityLevel(); + void setSecurityLevel(int securityLevel); + + int msiExtraSymbology(); + void setMsiExtraSymbology(int msiSymbologyNumber); + + int code39ExtraSymbology(); + void setCode39ExtraSymbology(int m_code39SymbologyNumber); + + int excode39ExtraSymbology(); + void setExcode39ExtraSymbology(int excode39SymbologyNumber); + void render(QPainter & painter, const QRectF & paintRect, AspectRatioMode mode=IgnoreAspectRatio, qreal scaleFactor=1); const QString & lastError(); bool hasErrors(); - private: void encode(); @@ -67,9 +116,13 @@ private: int m_width; int m_securityLevel; int m_pdf417CodeWords; + int m_msiSymbologyNumber; + int m_code39SymbologyNumber; + int m_excode39SymbologyNumber; QColor m_fgColor; QColor m_bgColor; QString m_lastError; + int m_error; zint_symbol * m_zintSymbol; }; }