From f1de981804897fd2e4113e589f4476de722d71f5 Mon Sep 17 00:00:00 2001 From: Jim Evins Date: Sat, 21 Dec 2013 23:47:59 -0500 Subject: [PATCH] Some style cleanup. --- app/BarcodeStyle.cpp | 110 +++++++++ app/BarcodeStyle.h | 108 ++++----- app/ColorNode.cpp | 102 +++++++++ app/ColorNode.h | 100 ++------- app/File.cpp | 11 +- app/Help.cpp | 41 ++-- app/LabelModel.cpp | 3 + app/LabelModel.h | 10 +- app/LabelModelBoxObject.cpp | 77 +++++++ app/LabelModelBoxObject.h | 24 +- app/LabelModelObject.cpp | 431 ++++++++++++++++++++++++++++++++++++ app/LabelModelObject.h | 187 +++++++--------- app/MainWindow.cpp | 9 +- app/MainWindow.h | 39 +++- app/View.cpp | 11 +- app/View.h | 14 +- 16 files changed, 951 insertions(+), 326 deletions(-) diff --git a/app/BarcodeStyle.cpp b/app/BarcodeStyle.cpp index e38ad68..f316a3b 100644 --- a/app/BarcodeStyle.cpp +++ b/app/BarcodeStyle.cpp @@ -19,3 +19,113 @@ */ #include "BarcodeStyle.h" + + +namespace glabels +{ + + + BarcodeStyle::BarcodeStyle () + : mId( "" ), + mName( "" ), + mCanText( false ), + mTextOptional( false ), + mCanChecksum( false ), + mChecksumOptional( false ), + mDefaultDigits( "" ), + mCanFreeform( false ), + mPreferedN( 0 ) + { + } + + + BarcodeStyle::BarcodeStyle ( const QString& id, + const QString& name, + bool canText, + bool textOptional, + bool canChecksum, + bool checksumOptional, + const QString& defaultDigits, + bool canFreeform, + int preferedN ) + : mId( id ), + mName( name ), + mCanText( canText ), + mTextOptional( textOptional ), + mCanChecksum( canChecksum ), + mChecksumOptional( checksumOptional ), + mDefaultDigits( defaultDigits ), + mCanFreeform( canFreeform ), + mPreferedN( preferedN ) + { + } + + + const QString& BarcodeStyle::id() const + { + return mId; + } + + + const QString& BarcodeStyle::name() const + { + return mName; + } + + + bool BarcodeStyle::canText() const + { + return mCanText; + } + + + bool BarcodeStyle::textOptional() const + { + return mTextOptional; + } + + + bool BarcodeStyle::canChecksum() const + { + return mCanChecksum; + } + + + bool BarcodeStyle::checksumOptional() const + { + return mChecksumOptional; + } + + + const QString& BarcodeStyle::defaultDigits() const + { + return mDefaultDigits; + } + + + bool BarcodeStyle::canFreeform() const + { + return mCanFreeform; + } + + + int BarcodeStyle::preferedN() const + { + return mPreferedN; + } + + + QString BarcodeStyle::exampleDigits( int n ) const + { + if ( mCanFreeform ) + { + return QString( std::max( n, 1 ), QChar('0') ); + } + else + { + return mDefaultDigits; + } + } + +} + diff --git a/app/BarcodeStyle.h b/app/BarcodeStyle.h index a96854b..2649c42 100644 --- a/app/BarcodeStyle.h +++ b/app/BarcodeStyle.h @@ -31,83 +31,51 @@ namespace glabels { public: - BarcodeStyle () - : m_id( "" ), - m_name( "" ), - m_can_text( false ), - m_text_optional( false ), - m_can_checksum( false ), - m_checksum_optional( false ), - m_default_digits( "" ), - m_can_freeform( false ), - m_prefered_n( 0 ) - { - } + BarcodeStyle (); + + BarcodeStyle ( const QString& id, + const QString& name, + bool canText, + bool textOptional, + bool canChecksum, + bool checksumOptional, + const QString& defaultDigits, + bool canFreeform, + int preferedN ); - BarcodeStyle ( const QString &id, - const QString &name, - bool can_text, - bool text_optional, - bool can_checksum, - bool checksum_optional, - const QString &default_digits, - bool can_freeform, - int prefered_n ) - : m_id( id ), - m_name( name ), - m_can_text( can_text ), - m_text_optional( text_optional ), - m_can_checksum( can_checksum ), - m_checksum_optional( checksum_optional ), - m_default_digits( default_digits ), - m_can_freeform( can_freeform ), - m_prefered_n( prefered_n ) - { - } + const QString& id() const; + + const QString& name() const; + + bool canText() const; + + bool textOptional() const; + + bool canChecksum() const; + + bool checksumOptional() const; + + const QString& defaultDigits() const; + + bool canFreeform() const; + + int preferedN() const; - QString id() { return m_id; } + QString exampleDigits( int n ) const; - QString name() { return m_name; } - - bool can_text() { return m_can_text; } - - bool text_optional() { return m_text_optional; } - - bool can_checksum() { return m_can_checksum; } - - bool checksum_optional() { return m_checksum_optional; } - - QString default_digits() { return m_default_digits; } - - bool can_freeform() { return m_can_freeform; } - - int prefered_n() { return m_prefered_n; } - - - QString example_digits( int n ) - { - if ( m_can_freeform ) - { - return QString( std::max( n, 1 ), QChar('0') ); - } - else - { - return m_default_digits; - } - } private: - QString m_id; - QString m_name; - bool m_can_text; - bool m_text_optional; - bool m_can_checksum; - bool m_checksum_optional; - QString m_default_digits; - bool m_can_freeform; - int m_prefered_n; + QString mId; + QString mName; + bool mCanText; + bool mTextOptional; + bool mCanChecksum; + bool mChecksumOptional; + QString mDefaultDigits; + bool mCanFreeform; + int mPreferedN; }; diff --git a/app/ColorNode.cpp b/app/ColorNode.cpp index b5c8344..2c0546b 100644 --- a/app/ColorNode.cpp +++ b/app/ColorNode.cpp @@ -20,3 +20,105 @@ #include "ColorNode.h" + +namespace glabels +{ + + ColorNode::ColorNode() + : mFieldFlag(false), mColor(QColor::fromRgba(0x00000000)), mKey("") + { + } + + + ColorNode::ColorNode( bool fieldFlag, const QColor& color, const QString& key ) + : mFieldFlag(fieldFlag), mColor(color), mKey(key) + { + } + + + ColorNode::ColorNode( const QColor& color ) + : mFieldFlag(false), mColor(color), mKey("") + { + } + + + ColorNode::ColorNode( const QString& key ) + : mFieldFlag(true), mColor(QColor::fromRgba(0x00000000)), mKey(key) + { + } + + + bool ColorNode::operator==( const ColorNode& cn ) + { + return ( (mFieldFlag == cn.mFieldFlag) && + (mColor == cn.mColor) && + (mKey == cn.mKey) ); + } + + + bool ColorNode::operator!=( const ColorNode& cn ) + { + return ( (mFieldFlag != cn.mFieldFlag) || + (mColor != cn.mColor) || + (mKey != cn.mKey) ); + } + + +#if TODO + QColor ColorNode::expand( MergeRecord? record ) + { + if ( fieldFlag ) + { + if ( record == null ) + { + return QColor.fromRgba(0x00000000); + } + else + { + string? text = record.evalKey( key ); + if ( text != null ) + { + Gdk.Color gdkColor = Gdk.Color(); + if ( Gdk.Color.parse( text, out gdkColor ) ) + { + Color color = Color.from_gdkColor( gdkColor ); + return color; + } + else + { + return Color.fromRgba(0x00000000); + } + } + else + { + return Color.fromRgba(0x00000000); + } + } + } + else + { + return color; + } + } +#endif + + + bool ColorNode::fieldFlag( void ) const + { + return mFieldFlag; + } + + + const QColor& ColorNode::color( void ) const + { + return mColor; + } + + + const QString& ColorNode::key( void ) const + { + return mKey; + } + +} + diff --git a/app/ColorNode.h b/app/ColorNode.h index 4ad0ff1..4b0a7c9 100644 --- a/app/ColorNode.h +++ b/app/ColorNode.h @@ -32,107 +32,39 @@ namespace glabels { public: - ColorNode() - : m_field_flag(false), m_color(QColor::fromRgba(0x00000000)), m_key("") - { - } + ColorNode(); + ColorNode( bool fieldFlag, const QColor& color, const QString& key ); - ColorNode( bool field_flag, QColor &color, QString &key ) - : m_field_flag(field_flag), m_color(color), m_key(key) - { - } + ColorNode( const QColor& color ); + ColorNode( const QString& key ); - ColorNode( const QColor &color ) - : m_field_flag(false), m_color(color), m_key("") - { - } - - - ColorNode( QString &key ) - : m_field_flag(true), m_color(QColor::fromRgba(0x00000000)), m_key(key) - { - } - - - bool operator==( const ColorNode &cn ) - { - return ( (m_field_flag == cn.m_field_flag) && - (m_color == cn.m_color) && - (m_key == cn.m_key) ); - } - - - bool operator!=( const ColorNode &cn ) - { - return ( (m_field_flag != cn.m_field_flag) || - (m_color != cn.m_color) || - (m_key != cn.m_key) ); - } + bool operator==( const ColorNode& cn ); + bool operator!=( const ColorNode& cn ); #if TODO - QColor expand( MergeRecord? record ) - { - if ( field_flag ) - { - if ( record == null ) - { - return QColor.fromRgba(0x00000000); - } - else - { - string? text = record.eval_key( key ); - if ( text != null ) - { - Gdk.Color gdk_color = Gdk.Color(); - if ( Gdk.Color.parse( text, out gdk_color ) ) - { - Color color = Color.from_gdk_color( gdk_color ); - return color; - } - else - { - return Color.fromRgba(0x00000000); - } - } - else - { - return Color.fromRgba(0x00000000); - } - } - } - else - { - return color; - } - } + QColor expand( MergeRecord? record ); #endif - /* - * field flag property - */ - bool field_flag( void ) { return m_field_flag; } + // field flag property + bool fieldFlag( void ) const; - /* - * color property - */ - QColor color( void ) { return m_color; } + // color property + const QColor& color( void ) const; - /* - * key property - */ - QString key( void ) { return m_key; } + // key property + const QString& key( void ) const; private: - bool m_field_flag; - QColor m_color; - QString m_key; + bool mFieldFlag; + QColor mColor; + QString mKey; }; diff --git a/app/File.cpp b/app/File.cpp index a3a5f64..efdc06b 100644 --- a/app/File.cpp +++ b/app/File.cpp @@ -26,15 +26,10 @@ namespace glabels { - namespace File + void File::newLabel( QWidget *parent ) { - - void newLabel( QWidget *parent ) - { - NewLabelDialog newDialog( parent ); - newDialog.exec(); - } - + NewLabelDialog newDialog( parent ); + newDialog.exec(); } } diff --git a/app/Help.cpp b/app/Help.cpp index 19a1735..370ea83 100644 --- a/app/Help.cpp +++ b/app/Help.cpp @@ -28,33 +28,28 @@ namespace glabels { - namespace Help + void Help::displayContents( QWidget *parent ) { - - void displayContents( QWidget *parent ) - { - std::cout << "TODO: Help::displayContents" << std::endl; - } + std::cout << "TODO: Help::displayContents" << std::endl; + } - void displayAbout( QWidget *parent ) - { - QMessageBox aboutBox( QMessageBox::NoIcon, - QMessageBox::tr("About gLabels"), - QMessageBox::tr("

gLabels-qt

" - "

x.x.x

" - "

A label and business card creation program.

" - "" - "

Homepage

" - "

Copyright © 2013 Jim Evins

" - "
"), - QMessageBox::Ok, - parent ); - aboutBox.setIconPixmap( QPixmap( ":/images/glabels-logo.png" ) ); - - aboutBox.exec(); - } + void Help::displayAbout( QWidget *parent ) + { + QMessageBox aboutBox( QMessageBox::NoIcon, + QMessageBox::tr("About gLabels"), + QMessageBox::tr("

gLabels-qt

" + "

x.x.x

" + "

A label and business card creation program.

" + "" + "

Homepage

" + "

Copyright © 2013 Jim Evins

" + "
"), + QMessageBox::Ok, + parent ); + aboutBox.setIconPixmap( QPixmap( ":/images/glabels-logo.png" ) ); + aboutBox.exec(); } } diff --git a/app/LabelModel.cpp b/app/LabelModel.cpp index c9daea8..ce576a5 100644 --- a/app/LabelModel.cpp +++ b/app/LabelModel.cpp @@ -22,6 +22,9 @@ #include +#include "LabelModelObject.h" +#include "LabelRegion.h" + namespace glabels { diff --git a/app/LabelModel.h b/app/LabelModel.h index f2dfd6d..4cb5c0d 100644 --- a/app/LabelModel.h +++ b/app/LabelModel.h @@ -25,13 +25,21 @@ #include #include "libglabels/Template.h" -#include "LabelModelObject.h" namespace glabels { + // Forward References + class LabelModelObject; + class LabelRegion; + class ColorNode; + ////////////////////////////////////////////// + ////////////////////////////////////////////// + // LabelModel + ////////////////////////////////////////////// + ////////////////////////////////////////////// class LabelModel : public QObject { Q_OBJECT diff --git a/app/LabelModelBoxObject.cpp b/app/LabelModelBoxObject.cpp index 03f9fca..c9ffb02 100644 --- a/app/LabelModelBoxObject.cpp +++ b/app/LabelModelBoxObject.cpp @@ -28,6 +28,83 @@ namespace glabels { + LabelModelBoxObject::LabelModelBoxObject( QObject* parent ) : LabelModelObject(parent) + { + /* TODO: initialize default line and fill poperties. */ + } + + + LabelModelBoxObject::~LabelModelBoxObject() + { + } + + + double LabelModelBoxObject::lineWidth( void ) const + { + return mLineWidth; + } + + + void LabelModelBoxObject::setLineWidth( double value ) + { + if ( mLineWidth != value ) + { + mLineWidth = value; + emit changed(); + } + } + + + ColorNode LabelModelBoxObject::lineColorNode( void ) const + { + return mLineColorNode; + } + + + void LabelModelBoxObject::setLineColorNode( const ColorNode& value ) + { + if ( mLineColorNode != value ) + { + mLineColorNode = value; + emit changed(); + } + } + + + ColorNode LabelModelBoxObject::fillColorNode( void ) const + { + return mFillColorNode; + } + + + void LabelModelBoxObject::setFillColorNode( const ColorNode& value ) + { + if ( mFillColorNode != value ) + { + mFillColorNode = value; + emit changed(); + } + } + + + bool LabelModelBoxObject::canFill() + { + return true; + } + + + bool LabelModelBoxObject::canLineColor() + { + return true; + } + + + bool LabelModelBoxObject::canLineWidth() + { + return true; + } + + // Create QGraphicsItem suitable for representing this object QGraphicsItem* LabelModelBoxObject::createGraphicsItem() { diff --git a/app/LabelModelBoxObject.h b/app/LabelModelBoxObject.h index 15e26c4..d5661e2 100644 --- a/app/LabelModelBoxObject.h +++ b/app/LabelModelBoxObject.h @@ -35,8 +35,8 @@ namespace glabels // Lifecycle Methods /////////////////////////////////////////////////////////////// public: - LabelModelBoxObject( QObject *parent = 0 ) : LabelModelObject(parent) { /* TODO: initialize default line and fill poperties. */ }; - virtual ~LabelModelBoxObject() {} + LabelModelBoxObject( QObject* parent = 0 ); + virtual ~LabelModelBoxObject(); /////////////////////////////////////////////////////////////// @@ -46,33 +46,31 @@ namespace glabels /* * Virtual Shape Property: lineWidth */ - double lineWidth( void ) const { return mLineWidth; } - void setLineWidth( double value ) { mLineWidth = value; } + virtual double lineWidth( void ) const; + virtual void setLineWidth( double value ); /* * Virtual Shape Property: lineColorNode */ - ColorNode lineColorNode( void ) { return mLineColorNode; } - void setLineColorNode( const ColorNode &value ) { mLineColorNode = value; } + virtual ColorNode lineColorNode( void ) const; + virtual void setLineColorNode( const ColorNode& value ); /* * Virtual Shape Property: fillColorNode */ - ColorNode fillColorNode( void ) { return mFillColorNode; } - void setFillColorNode( const ColorNode &value ) { mFillColorNode = value; } + virtual ColorNode fillColorNode( void ) const; + virtual void setFillColorNode( const ColorNode& value ); /////////////////////////////////////////////////////////////// // Capabilities /////////////////////////////////////////////////////////////// public: - bool canFill() { return true; } - - bool canLineColor() { return true; } - - bool canLineWidth() { return true; } + virtual bool canFill(); + virtual bool canLineColor(); + virtual bool canLineWidth(); /////////////////////////////////////////////////////////////// diff --git a/app/LabelModelObject.cpp b/app/LabelModelObject.cpp index b64b9d6..f9dbf78 100644 --- a/app/LabelModelObject.cpp +++ b/app/LabelModelObject.cpp @@ -21,6 +21,15 @@ #include "LabelModelObject.h" #include +#include +#include +#include + +#include "ColorNode.h" +#include "TextNode.h" +#include "BarcodeStyle.h" +#include "LabelRegion.h" +#include "MergeRecord.h" namespace glabels @@ -51,6 +60,428 @@ namespace glabels } + LabelModelObject::~LabelModelObject() + { + } + + + int LabelModelObject::id() const + { + return mId; + } + + + bool LabelModelObject::isSelected() const + { + return mSelectedFlag; + } + + + void LabelModelObject::select( bool value ) + { + mSelectedFlag = value; + } + + + void LabelModelObject::unselect() + { + mSelectedFlag = false; + } + + + double LabelModelObject::x0() const + { + return mX0; + } + + + void LabelModelObject::setX0( double value ) + { + if ( mX0 != value ) + { + mX0 = value; + emit moved(); + } + } + + + double LabelModelObject::y0() const + { + return mY0; + } + + + void LabelModelObject::setY0( double value ) + { + if ( mY0 != value ) + { + mY0 = value; + emit moved(); + } + } + + + double LabelModelObject::w() const + { + return mW; + } + + + void LabelModelObject::setW( double value ) + { + if ( mW != value ) + { + mW = value; + emit moved(); + } + } + + + double LabelModelObject::h() const + { + return mH; + } + + + void LabelModelObject::setH( double value ) + { + if ( mH != value ) + { + mH = value; + emit moved(); + } + } + + + QTransform LabelModelObject::matrix() const + { + return mMatrix; + } + + + void LabelModelObject::setMatrix( const QTransform& value ) + { + if ( mMatrix != value ) + { + mMatrix = value; + emit changed(); + } + } + + + bool LabelModelObject::shadow() const + { + return mShadowState; + } + + + void LabelModelObject::setShadow( bool value ) + { + if ( mShadowState != value ) + { + mShadowState = value; + emit changed(); + } + } + + + double LabelModelObject::shadowX() const + { + return mShadowX; + } + + + void LabelModelObject::setShadowX( double value ) + { + if ( mShadowX != value ) + { + mShadowX = value; + emit changed(); + } + } + + + double LabelModelObject::shadowY() const + { + return mShadowY; + } + + + void LabelModelObject::setShadowY( double value ) + { + if ( mShadowY != value ) + { + mShadowY = value; + emit changed(); + } + } + + + double LabelModelObject::shadowOpacity() const + { + return mShadowOpacity; + } + + + void LabelModelObject::setShadowOpacity( double value ) + { + if ( mShadowOpacity != value ) + { + mShadowOpacity = value; + emit changed(); + } + } + + + ColorNode LabelModelObject::shadowColorNode() const + { + return mShadowColorNode; + } + + + void LabelModelObject::setShadowColorNode( const ColorNode& value ) + { + if ( mShadowColorNode != value ) + { + mShadowColorNode = value; + emit changed(); + } + } + + + QString LabelModelObject::fontFamily() const + { + return ""; + } + + + void LabelModelObject::setFontFamily( const QString& value ) + { + } + + + double LabelModelObject::fontSize() const + { + return 0; + } + + + void LabelModelObject::setFontSize( double value ) + { + } + + + QFont::Weight LabelModelObject::fontWeight() const + { + return QFont::Normal; + } + + + void LabelModelObject::setFontWeight( QFont::Weight value ) + { + } + + + bool LabelModelObject::fontItalicFlag() const + { + return false; + } + + + void LabelModelObject::setFontItalicFlag( bool value ) + { + } + + + bool LabelModelObject::fontUnderlineFlag() const + { + return false; + } + + + void LabelModelObject::setFontUnderlineFlag( bool value ) + { + } + + + ColorNode LabelModelObject::textColorNode() const + { + return ColorNode( QColor::fromRgba(0x00000000) ); + } + + + void LabelModelObject::setTextColorNode( const ColorNode &value ) + { + } + + + Qt::Alignment LabelModelObject::textHAlign() const + { + return Qt::AlignLeft; + } + + + void LabelModelObject::setTextHAlign( Qt::Alignment value ) + { + } + + + Qt::Alignment LabelModelObject::textVAlign() const + { + return Qt::AlignTop; + } + + + void LabelModelObject::setTextVAlign( Qt::Alignment value ) + { + } + + + double LabelModelObject::textLineSpacing() const + { + return 0; + } + + + void LabelModelObject::setTextLineSpacing( double value ) + { + } + + + TextNode LabelModelObject::filenameNode() const + { + return TextNode(); + } + + + void LabelModelObject::setFilenameNode( const TextNode& value ) + { + } + + + double LabelModelObject::lineWidth() const + { + return 0; + } + + + void LabelModelObject::setLineWidth( double value ) + { + } + + + ColorNode LabelModelObject::lineColorNode() const + { + return ColorNode( QColor::fromRgba(0x00000000) ); + } + + + void LabelModelObject::setLineColorNode( const ColorNode &value ) + { + } + + + ColorNode LabelModelObject::fillColorNode() const + { + return ColorNode( QColor::fromRgba(0x00000000) ); + } + + + void LabelModelObject::setFillColorNode( const ColorNode &value ) + { + } + + + TextNode LabelModelObject::bcDataNode() const + { + return TextNode(); + } + + + void LabelModelObject::setBcDataNode( const TextNode &value ) + { + } + + + bool LabelModelObject::bcTextFlag() const + { + return false; + } + + + void LabelModelObject::setBcTextFlag( bool value ) + { + } + + + bool LabelModelObject::bcChecksumFlag() const + { + return false; + } + + + void LabelModelObject::setBcChecksumFlag( bool value ) + { + } + + + ColorNode LabelModelObject::bcColorNode() const + { + return ColorNode( QColor::fromRgba(0x00000000) ); + } + + + void LabelModelObject::setBcColorNode( const ColorNode &value ) + { + } + + + BarcodeStyle LabelModelObject::bcStyle() const + { + return BarcodeStyle(); + } + + + void LabelModelObject::setBcStyle( const BarcodeStyle &value ) + { + } + + + int LabelModelObject::bcFormatDigits() const + { + return false; + } + + + void LabelModelObject::setBcFormatDigits( int value ) + { + } + + + bool LabelModelObject::canText() const + { + return false; + } + + + bool LabelModelObject::canFill() const + { + return false; + } + + + bool LabelModelObject::canLineColor() const + { + return false; + } + + + bool LabelModelObject::canLineWidth() const + { + return false; + } + + void LabelModelObject::setPosition( double x0, double y0 ) { if ( ( mX0 != x0 ) || ( mY0 != y0 ) ) diff --git a/app/LabelModelObject.h b/app/LabelModelObject.h index c380475..0706efb 100644 --- a/app/LabelModelObject.h +++ b/app/LabelModelObject.h @@ -22,19 +22,22 @@ #define glabels_LabelModelObject_h #include -#include #include -#include +#include #include "ColorNode.h" #include "TextNode.h" #include "BarcodeStyle.h" -#include "LabelRegion.h" -#include "MergeRecord.h" + +class QGraphicsItem; namespace glabels { + // Forward References + class LabelRegion; + class MergeRecord; + class LabelModelObject : public QObject { @@ -45,7 +48,7 @@ namespace glabels /////////////////////////////////////////////////////////////// public: LabelModelObject( QObject *parent ); - virtual ~LabelModelObject() {} + virtual ~LabelModelObject(); /////////////////////////////////////////////////////////////// @@ -65,16 +68,16 @@ namespace glabels */ Q_PROPERTY( int id READ id ) - int id() const { return mId; } + int id() const; /* * Selected Property. */ Q_PROPERTY( bool selected READ isSelected WRITE select RESET unselect ) - bool isSelected() { return mSelectedFlag; } - void select( bool value = true ) { mSelectedFlag = value; } - void unselect() { mSelectedFlag = false; } + bool isSelected() const; + void select( bool value = true ); + void unselect(); /* @@ -82,11 +85,8 @@ namespace glabels */ Q_PROPERTY( double x0 READ x0 WRITE setX0 ); - double x0() { return mX0; } - void setX0( double value ) - { - if ( mX0 != value ) { mX0 = value; emit moved(); } - } + double x0() const; + void setX0( double value ); /* @@ -94,11 +94,8 @@ namespace glabels */ Q_PROPERTY( double y0 READ y0 WRITE setY0 ); - double y0() { return mY0; } - void setY0( double value ) - { - if ( mY0 != value ) { mY0 = value; emit moved(); } - } + double y0() const; + void setY0( double value ); /* @@ -106,11 +103,8 @@ namespace glabels */ Q_PROPERTY( double w READ w WRITE setW ); - double w() { return mW; } - void setW( double value ) - { - if ( mW != value ) { mW = value; emit moved(); } - } + double w() const; + void setW( double value ); /* @@ -118,11 +112,8 @@ namespace glabels */ Q_PROPERTY( double h READ h WRITE setH ); - double h() { return mH; } - void setH( double value ) - { - if ( mH != value ) { mH = value; emit moved(); } - } + double h() const; + void setH( double value ); /* @@ -130,11 +121,8 @@ namespace glabels */ Q_PROPERTY( QTransform matrix READ matrix WRITE setMatrix ); - QTransform matrix() { return mMatrix; } - void setMatrix( const QTransform &value ) - { - if ( mMatrix != value ) { mMatrix = value; emit changed(); } - } + QTransform matrix() const; + void setMatrix( const QTransform& value ); /* @@ -142,11 +130,8 @@ namespace glabels */ Q_PROPERTY( bool shadow READ shadow WRITE setShadow ); - bool shadow() { return mShadowState; } - void setShadow( bool value ) - { - if ( mShadowState != value ) { mShadowState = value; emit changed(); } - } + bool shadow() const; + void setShadow( bool value ); /* @@ -154,11 +139,8 @@ namespace glabels */ Q_PROPERTY( double shadowX READ shadowX WRITE setShadowX ); - double shadowX() { return mShadowX; } - void setShadowX( double value ) - { - if ( mShadowX != value ) { mShadowX = value; emit changed(); } - } + double shadowX() const; + void setShadowX( double value ); /* @@ -166,11 +148,8 @@ namespace glabels */ Q_PROPERTY( double shadowY READ shadowY WRITE setShadowY ); - double shadowY() { return mShadowY; } - void setShadowY( double value ) - { - if ( mShadowY != value ) { mShadowY = value; emit changed(); } - } + double shadowY() const; + void setShadowY( double value ); /* @@ -178,11 +157,8 @@ namespace glabels */ Q_PROPERTY( double shadowOpacity READ shadowOpacity WRITE setShadowOpacity ); - double shadowOpacity() { return mShadowOpacity; } - void setShadowOpacity( double value ) - { - if ( mShadowOpacity != value ) { mShadowOpacity = value; emit changed(); } - } + double shadowOpacity() const; + void setShadowOpacity( double value ); /* @@ -190,11 +166,8 @@ namespace glabels */ Q_PROPERTY( ColorNode shadowColorNode READ shadowColorNode WRITE setShadowColorNode ); - ColorNode shadowColorNode() { return mShadowColorNode; } - void setShadowColorNode( const ColorNode &value ) - { - if ( mShadowColorNode != value ) { mShadowColorNode = value; emit changed(); } - } + ColorNode shadowColorNode() const; + void setShadowColorNode( const ColorNode& value ); /////////////////////////////////////////////////////////////// @@ -206,8 +179,8 @@ namespace glabels */ Q_PROPERTY( QString fontFamily READ fontFamily WRITE setFontFamily ); - virtual QString fontFamily() { return ""; } - virtual void setFontFamily( const QString &value ) { } + virtual QString fontFamily() const; + virtual void setFontFamily( const QString &value ); /* @@ -215,8 +188,8 @@ namespace glabels */ Q_PROPERTY( double fontSize READ fontSize WRITE setFontSize ); - virtual double fontSize() { return 0; } - virtual void setFontSize( double value ) { } + virtual double fontSize() const; + virtual void setFontSize( double value ); /* @@ -224,8 +197,8 @@ namespace glabels */ Q_PROPERTY( QFont::Weight fontWeight READ fontWeight WRITE setFontWeight ); - virtual QFont::Weight fontWeight() { return QFont::Normal; } - virtual void setFontWeight( QFont::Weight value ) { } + virtual QFont::Weight fontWeight() const; + virtual void setFontWeight( QFont::Weight value ); /* @@ -233,8 +206,8 @@ namespace glabels */ Q_PROPERTY( bool fontItalicFlag READ fontItalicFlag WRITE setFontItalicFlag ); - virtual bool fontItalicFlag() { return false; } - virtual void setFontItalicFlag( bool value ) { } + virtual bool fontItalicFlag() const; + virtual void setFontItalicFlag( bool value ); /* @@ -242,8 +215,8 @@ namespace glabels */ Q_PROPERTY( bool fontUnderlineFlag READ fontUnderlineFlag WRITE setFontUnderlineFlag ); - virtual bool fontUnderlineFlag() { return false; } - virtual void setFontUnderlineFlag( bool value ) { } + virtual bool fontUnderlineFlag() const; + virtual void setFontUnderlineFlag( bool value ); /* @@ -251,8 +224,8 @@ namespace glabels */ Q_PROPERTY( ColorNode textColorNode READ textColorNode WRITE setTextColorNode ); - virtual ColorNode textColorNode() { return ColorNode( QColor::fromRgba(0x00000000) ); } - virtual void setTextColorNode( const ColorNode &value ) { } + virtual ColorNode textColorNode() const; + virtual void setTextColorNode( const ColorNode &value ); /* @@ -260,8 +233,8 @@ namespace glabels */ Q_PROPERTY( Qt::Alignment textHAlign READ textHAlign WRITE setTextHAlign ); - virtual Qt::Alignment textHAlign() { return Qt::AlignLeft; } - virtual void setTextHAlign( Qt::Alignment value ) { } + virtual Qt::Alignment textHAlign() const; + virtual void setTextHAlign( Qt::Alignment value ); /* @@ -269,8 +242,8 @@ namespace glabels */ Q_PROPERTY( Qt::Alignment textVAlign READ textVAlign WRITE setTextVAlign ); - virtual Qt::Alignment textVAlign() { return Qt::AlignTop; } - virtual void setTextVAlign( Qt::Alignment value ) { } + virtual Qt::Alignment textVAlign() const; + virtual void setTextVAlign( Qt::Alignment value ); /* @@ -278,8 +251,8 @@ namespace glabels */ Q_PROPERTY( double textLineSpacing READ textLineSpacing WRITE setTextLineSpacing ); - virtual double textLineSpacing() { return 0; } - virtual void setTextLineSpacing( double value ) { } + virtual double textLineSpacing() const; + virtual void setTextLineSpacing( double value ); /////////////////////////////////////////////////////////////// @@ -291,8 +264,8 @@ namespace glabels */ Q_PROPERTY( TextNode filenameNode READ filenameNode WRITE setFilenameNode ); - virtual TextNode filenameNode() { return TextNode(); } - virtual void setFilenameNode( const TextNode &value ) { } + virtual TextNode filenameNode() const; + virtual void setFilenameNode( const TextNode &value ); /////////////////////////////////////////////////////////////// @@ -304,8 +277,8 @@ namespace glabels */ Q_PROPERTY( double lineWidth READ lineWidth WRITE setLineWidth ); - virtual double lineWidth() { return 0; } - virtual void setLineWidth( double value ) { } + virtual double lineWidth() const; + virtual void setLineWidth( double value ); /* @@ -313,8 +286,8 @@ namespace glabels */ Q_PROPERTY( ColorNode lineColorNode READ lineColorNode WRITE setLineColorNode ); - virtual ColorNode lineColorNode() { return ColorNode( QColor::fromRgba(0x00000000) ); } - virtual void setLineColorNode( const ColorNode &value ) { } + virtual ColorNode lineColorNode() const; + virtual void setLineColorNode( const ColorNode &value ); /* @@ -322,8 +295,8 @@ namespace glabels */ Q_PROPERTY( ColorNode fillColorNode READ fillColorNode WRITE setFillColorNode ); - virtual ColorNode fillColorNode() { return ColorNode( QColor::fromRgba(0x00000000) ); } - virtual void setFillColorNode( const ColorNode &value ) { } + virtual ColorNode fillColorNode() const; + virtual void setFillColorNode( const ColorNode &value ); /////////////////////////////////////////////////////////////// @@ -335,8 +308,8 @@ namespace glabels */ Q_PROPERTY( TextNode bcDataNode READ bcDataNode WRITE setBcDataNode ); - virtual TextNode bcDataNode() { return TextNode(); } - virtual void setBcDataNode( const TextNode &value ) { } + virtual TextNode bcDataNode() const; + virtual void setBcDataNode( const TextNode &value ); /* @@ -344,8 +317,8 @@ namespace glabels */ Q_PROPERTY( bool bcTextFlag READ bcTextFlag WRITE setBcTextFlag ); - virtual bool bcTextFlag() { return false; } - virtual void setBcTextFlag( bool value ) { } + virtual bool bcTextFlag() const; + virtual void setBcTextFlag( bool value ); /* @@ -353,8 +326,8 @@ namespace glabels */ Q_PROPERTY( bool bcChecksumFlag READ bcChecksumFlag WRITE setBcChecksumFlag ); - virtual bool bcChecksumFlag() { return false; } - virtual void setBcChecksumFlag( bool value ) { } + virtual bool bcChecksumFlag() const; + virtual void setBcChecksumFlag( bool value ); /* @@ -362,8 +335,8 @@ namespace glabels */ Q_PROPERTY( ColorNode bcColorNode READ bcColorNode WRITE setBcColorNode ); - virtual ColorNode bcColorNode() { return ColorNode( QColor::fromRgba(0x00000000) ); } - virtual void setBcColorNode( const ColorNode &value ) { } + virtual ColorNode bcColorNode() const; + virtual void setBcColorNode( const ColorNode &value ); /* @@ -371,8 +344,8 @@ namespace glabels */ Q_PROPERTY( BarcodeStyle bcStyle READ bcStyle WRITE setBcStyle ); - virtual BarcodeStyle bcStyle() { return BarcodeStyle(); } - virtual void setBcStyle( const BarcodeStyle &value ) { } + virtual BarcodeStyle bcStyle() const; + virtual void setBcStyle( const BarcodeStyle &value ); /* @@ -380,21 +353,18 @@ namespace glabels */ Q_PROPERTY( int bcFormatDigits READ bcFormatDigits WRITE setBcFormatDigits ); - virtual int bcFormatDigits() { return false; } - virtual void setBcFormatDigits( int value ) { } + virtual int bcFormatDigits() const; + virtual void setBcFormatDigits( int value ); /////////////////////////////////////////////////////////////// // Capabilities (Overridden by concrete classes.) /////////////////////////////////////////////////////////////// public: - virtual bool canText() { return false; } - - virtual bool canFill() { return false; } - - virtual bool canLineColor() { return false; } - - virtual bool canLineWidth() { return false; } + virtual bool canText() const; + virtual bool canFill() const; + virtual bool canLineColor() const; + virtual bool canLineWidth() const; /////////////////////////////////////////////////////////////// @@ -402,23 +372,14 @@ namespace glabels /////////////////////////////////////////////////////////////// public: void setPosition( double x0, double y0 ); - void setPositionRelative( double dx, double dy ); - void setSize( double w, double h ); - void setSizeHonorAspect( double w, double h ); - void setWHonorAspect( double w ); - void setHHonorAspect( double h ); - LabelRegion getExtent(); - void rotate( double thetaDegs ); - void flipHoriz(); - void flipVert(); diff --git a/app/MainWindow.cpp b/app/MainWindow.cpp index 1c0ccbb..fe26ff8 100644 --- a/app/MainWindow.cpp +++ b/app/MainWindow.cpp @@ -23,10 +23,17 @@ #include #include #include - +#include +#include +#include +#include +#include +#include #include #include "libglabels/Db.h" +#include "View.h" +#include "LabelModel.h" #include "LabelModelBoxObject.h" #include "Icons.h" #include "File.h" diff --git a/app/MainWindow.h b/app/MainWindow.h index c046f84..9198981 100644 --- a/app/MainWindow.h +++ b/app/MainWindow.h @@ -22,31 +22,48 @@ #define glabels_MainWindow_h #include -#include -#include -#include -#include -#include -#include -#include "View.h" +class QAction; +class QCloseEvent; +class QMenuBar; +class QMenu; +class QToolBar; +class QLabel; namespace glabels { + // Forward References + class View; + + ////////////////////////////////////////////// + ////////////////////////////////////////////// + // MainWindow + ////////////////////////////////////////////// + ////////////////////////////////////////////// class MainWindow : public QMainWindow { Q_OBJECT + + ///////////////////////////////////// + // Lifecycle + ///////////////////////////////////// public: MainWindow(); + ///////////////////////////////////// + // Events + ///////////////////////////////////// protected: void closeEvent( QCloseEvent *event ); + ///////////////////////////////////// + // Slots + ///////////////////////////////////// private slots: void fileNew(); void fileOpen(); @@ -110,6 +127,9 @@ namespace glabels void updateCursorInfo( double, double ); + ///////////////////////////////////// + // Internal Private Methods + ///////////////////////////////////// private: void createActions(); void createMenus(); @@ -125,6 +145,11 @@ namespace glabels void readSettings(); void writeSettings(); + + ///////////////////////////////////// + // Private Data + ///////////////////////////////////// + private: QMenu* fileMenu; QMenu* editMenu; QMenu* viewMenu; diff --git a/app/View.cpp b/app/View.cpp index c289de3..e8d66e9 100644 --- a/app/View.cpp +++ b/app/View.cpp @@ -20,12 +20,17 @@ #include "View.h" +#include +#include #include #include #include #include #include +#include "LabelModel.h" +#include "LabelModelObject.h" + #include "libglabels/Markup.h" #include "libglabels/FrameRect.h" #include "libglabels/FrameRound.h" @@ -164,11 +169,11 @@ namespace glabels { double x_scale = (72.0/physicalDpiX()) * ( width() - ZOOM_TO_FIT_PAD ) / mModel->w(); double y_scale = (72.0/physicalDpiY()) * ( height() - ZOOM_TO_FIT_PAD ) / mModel->h(); - double newZoom = min( x_scale, y_scale ); + double newZoom = std::min( x_scale, y_scale ); // Limits - newZoom = min( newZoom, zoomLevels[0] ); - newZoom = max( newZoom, zoomLevels[nZoomLevels-1] ); + newZoom = std::min( newZoom, zoomLevels[0] ); + newZoom = std::max( newZoom, zoomLevels[nZoomLevels-1] ); setZoomReal( newZoom, true ); } diff --git a/app/View.h b/app/View.h index 1f61d95..91f5a31 100644 --- a/app/View.h +++ b/app/View.h @@ -22,15 +22,23 @@ #define glabels_View_h #include -#include -#include -#include "LabelModel.h" +class QGraphicsScene; +class QGraphicsItemGroup; namespace glabels { + // Forward References + class LabelModel; + class LabelModelObject; + + ////////////////////////////////////////////// + ////////////////////////////////////////////// + // View + ////////////////////////////////////////////// + ////////////////////////////////////////////// class View : public QGraphicsView { Q_OBJECT