diff --git a/glabels/CMakeLists.txt b/glabels/CMakeLists.txt index df38b2f..4f7534a 100644 --- a/glabels/CMakeLists.txt +++ b/glabels/CMakeLists.txt @@ -48,7 +48,6 @@ set (glabels_sources LabelModelLineObject.cpp LabelModelShapeObject.cpp LabelModelTextObject.cpp - LabelRegion.cpp MainWindow.cpp MergeView.cpp ObjectEditor.cpp @@ -59,6 +58,7 @@ set (glabels_sources PropertiesView.cpp Preview.cpp PreviewOverlayItem.cpp + Region.cpp SelectProductDialog.cpp Settings.cpp SimplePreview.cpp diff --git a/glabels/LabelEditor.h b/glabels/LabelEditor.h index 49ee1e2..ca17071 100644 --- a/glabels/LabelEditor.h +++ b/glabels/LabelEditor.h @@ -25,7 +25,7 @@ #include #include -#include "LabelRegion.h" +#include "Region.h" // Forward References @@ -191,7 +191,7 @@ private: /* ArrowSelectRegion state */ bool mSelectRegionVisible; - LabelRegion mSelectRegion; + Region mSelectRegion; /* ArrowMove state */ glabels::Distance mMoveLastX; diff --git a/glabels/LabelModel.cpp b/glabels/LabelModel.cpp index 16f8b46..5d398ab 100644 --- a/glabels/LabelModel.cpp +++ b/glabels/LabelModel.cpp @@ -28,7 +28,7 @@ #include "Merge/None.h" #include "LabelModelObject.h" -#include "LabelRegion.h" +#include "Region.h" #include "XmlLabelCreator.h" #include "XmlLabelParser.h" @@ -496,7 +496,7 @@ void LabelModel::unselectAll() /// /// Select Region /// -void LabelModel::selectRegion( const LabelRegion ®ion ) +void LabelModel::selectRegion( const Region ®ion ) { glabels::Distance rX1 = min( region.x1(), region.x2() ); glabels::Distance rY1 = min( region.y1(), region.y2() ); @@ -505,7 +505,7 @@ void LabelModel::selectRegion( const LabelRegion ®ion ) foreach ( LabelModelObject* object, mObjectList ) { - LabelRegion objectExtent = object->getExtent(); + Region objectExtent = object->getExtent(); if ( (objectExtent.x1() >= rX1) && (objectExtent.x2() <= rX2) && @@ -820,14 +820,14 @@ void LabelModel::alignSelectionLeft() glabels::Distance x1_min = 7200; /// Start with a very large value: 7200pts = 100in foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); if ( r.x1() < x1_min ) x1_min = r.x1(); } /// Now adjust the object positions to line up the left edges at left-most edge. foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); glabels::Distance dx = x1_min - r.x1(); object->setPositionRelative( dx, 0 ); } @@ -854,14 +854,14 @@ void LabelModel::alignSelectionRight() glabels::Distance x1_max = -7200; /// Start with a very large negative value: 7200pts = 100in foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); if ( r.x1() > x1_max ) x1_max = r.x1(); } /// Now adjust the object positions to line up the right edges at right-most edge. foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); glabels::Distance dx = x1_max - r.x1(); object->setPositionRelative( dx, 0 ); } @@ -889,7 +889,7 @@ void LabelModel::alignSelectionHCenter() int n = 0; foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); xsum += (r.x1() + r.x2()) / 2.0; n++; } @@ -900,7 +900,7 @@ void LabelModel::alignSelectionHCenter() glabels::Distance dxmin = fabs( xavg - xcenter ); foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); glabels::Distance dx = fabs( xavg - (r.x1() + r.x2())/2.0 ); if ( dx < dxmin ) { @@ -912,7 +912,7 @@ void LabelModel::alignSelectionHCenter() /// Now adjust the object positions to line up with the center of this object. foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); glabels::Distance dx = xcenter - (r.x1() + r.x2())/2.0; object->setPositionRelative( dx, 0 ); } @@ -939,14 +939,14 @@ void LabelModel::alignSelectionTop() glabels::Distance y1_min = 7200; /// Start with a very large value: 7200pts = 100in foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); if ( r.y1() < y1_min ) y1_min = r.y1(); } /// Now adjust the object positions to line up the top edges at top-most edge. foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); glabels::Distance dy = y1_min - r.y1(); object->setPositionRelative( 0, dy ); } @@ -973,14 +973,14 @@ void LabelModel::alignSelectionBottom() glabels::Distance y1_max = -7200; /// Start with a very large negative value: 7200pts = 100in foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); if ( r.y1() > y1_max ) y1_max = r.y1(); } /// Now adjust the object positions to line up the bottom edges at bottom-most edge. foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); glabels::Distance dy = y1_max - r.y1(); object->setPositionRelative( 0, dy ); } @@ -1008,7 +1008,7 @@ void LabelModel::alignSelectionVCenter() int n = 0; foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); ysum += (r.y1() + r.y2()) / 2.0; n++; } @@ -1019,7 +1019,7 @@ void LabelModel::alignSelectionVCenter() glabels::Distance dymin = fabs( yavg - ycenter ); foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); glabels::Distance dy = fabs( yavg - (r.y1() + r.y2())/2.0 ); if ( dy < dymin ) { @@ -1031,7 +1031,7 @@ void LabelModel::alignSelectionVCenter() /// Now adjust the object positions to line up with the center of this object. foreach ( LabelModelObject* object, selectedList ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); glabels::Distance dy = ycenter - (r.y1() + r.y2())/2.0; object->setPositionRelative( 0, dy ); } @@ -1053,7 +1053,7 @@ void LabelModel::centerSelectionHoriz() { if ( object->isSelected() ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); glabels::Distance xObjectCenter = (r.x1() + r.x2()) / 2.0; glabels::Distance dx = xLabelCenter - xObjectCenter; object->setPositionRelative( dx, 0 ); @@ -1077,7 +1077,7 @@ void LabelModel::centerSelectionVert() { if ( object->isSelected() ) { - LabelRegion r = object->getExtent(); + Region r = object->getExtent(); glabels::Distance yObjectCenter = (r.y1() + r.y2()) / 2.0; glabels::Distance dy = yLabelCenter - yObjectCenter; object->setPositionRelative( 0, dy ); diff --git a/glabels/LabelModel.h b/glabels/LabelModel.h index fd2b80b..b7c1e10 100644 --- a/glabels/LabelModel.h +++ b/glabels/LabelModel.h @@ -35,7 +35,7 @@ // Forward References class LabelModelObject; class Handle; -class LabelRegion; +class Region; class ColorNode; @@ -133,7 +133,7 @@ public: void unselectObject( LabelModelObject* object ); void selectAll(); void unselectAll(); - void selectRegion( const LabelRegion& region ); + void selectRegion( const Region& region ); bool isSelectionEmpty(); bool isSelectionAtomic(); diff --git a/glabels/LabelModelObject.cpp b/glabels/LabelModelObject.cpp index 6415120..9962e04 100644 --- a/glabels/LabelModelObject.cpp +++ b/glabels/LabelModelObject.cpp @@ -26,7 +26,7 @@ #include "ColorNode.h" #include "TextNode.h" #include "BarcodeStyle.h" -#include "LabelRegion.h" +#include "Region.h" #include "Size.h" @@ -927,7 +927,7 @@ void LabelModelObject::setHHonorAspect( const glabels::Distance& h ) /// /// Get Extent of Bounding Box /// -LabelRegion LabelModelObject::getExtent() +Region LabelModelObject::getExtent() { using namespace glabels; @@ -941,7 +941,7 @@ LabelRegion LabelModelObject::getExtent() a3 = mMatrix.map( a3 ); a4 = mMatrix.map( a4 ); - LabelRegion region; + Region region; region.setX1( min( a1.x(), min( a2.x(), min( a3.x(), a4.x() ) ) ) + mX0 ); region.setY1( min( a1.y(), min( a2.y(), min( a3.y(), a4.y() ) ) ) + mY0 ); region.setX2( max( a1.x(), max( a2.x(), max( a3.x(), a4.x() ) ) ) + mX0 ); diff --git a/glabels/LabelModelObject.h b/glabels/LabelModelObject.h index c1b01a2..ef93cd3 100644 --- a/glabels/LabelModelObject.h +++ b/glabels/LabelModelObject.h @@ -36,7 +36,7 @@ // Forward References -class LabelRegion; +class Region; class Size; @@ -341,7 +341,7 @@ public: void setSizeHonorAspect( const glabels::Distance& w, const glabels::Distance& h ); void setWHonorAspect( const glabels::Distance& w ); void setHHonorAspect( const glabels::Distance& h ); - LabelRegion getExtent(); + Region getExtent(); void rotate( double thetaDegs ); void flipHoriz(); void flipVert(); diff --git a/glabels/LabelRegion.cpp b/glabels/Region.cpp similarity index 63% rename from glabels/LabelRegion.cpp rename to glabels/Region.cpp index 574f49b..854c107 100644 --- a/glabels/LabelRegion.cpp +++ b/glabels/Region.cpp @@ -1,4 +1,4 @@ -/* LabelRegion.cpp +/* Region.cpp * * Copyright (C) 2013-2016 Jim Evins * @@ -18,13 +18,31 @@ * along with gLabels-qt. If not, see . */ -#include "LabelRegion.h" +#include "Region.h" + + +/// +/// Constructor +/// +Region::Region() : mX1(0), mY1(0), mX2(0), mY2(0) +{ +} + + +/// +/// Constructor +/// +Region::Region( const glabels::Distance& x1, const glabels::Distance& y1, + const glabels::Distance& x2, const glabels::Distance& y2 ) + : mX1(x1), mY1(y1), mX2(x2), mY2(y2) +{ +} /// /// Get x1 /// -glabels::Distance LabelRegion::x1( void ) const +glabels::Distance Region::x1( void ) const { return mX1; } @@ -33,7 +51,7 @@ glabels::Distance LabelRegion::x1( void ) const /// /// Set x1 /// -void LabelRegion::setX1( const glabels::Distance& value ) +void Region::setX1( const glabels::Distance& value ) { mX1 = value; } @@ -42,7 +60,7 @@ void LabelRegion::setX1( const glabels::Distance& value ) /// /// Get y1 /// -glabels::Distance LabelRegion::y1( void ) const +glabels::Distance Region::y1( void ) const { return mY1; } @@ -51,7 +69,7 @@ glabels::Distance LabelRegion::y1( void ) const /// /// Set y1 /// -void LabelRegion::setY1( const glabels::Distance& value ) +void Region::setY1( const glabels::Distance& value ) { mY1 = value; } @@ -60,7 +78,7 @@ void LabelRegion::setY1( const glabels::Distance& value ) /// /// Get x2 /// -glabels::Distance LabelRegion::x2( void ) const +glabels::Distance Region::x2( void ) const { return mX2; } @@ -69,7 +87,7 @@ glabels::Distance LabelRegion::x2( void ) const /// /// Set x2 /// -void LabelRegion::setX2( const glabels::Distance& value ) +void Region::setX2( const glabels::Distance& value ) { mX2 = value; } @@ -78,7 +96,7 @@ void LabelRegion::setX2( const glabels::Distance& value ) /// /// Get y2 /// -glabels::Distance LabelRegion::y2( void ) const +glabels::Distance Region::y2( void ) const { return mY2; } @@ -87,7 +105,7 @@ glabels::Distance LabelRegion::y2( void ) const /// /// Set y2 /// -void LabelRegion::setY2( const glabels::Distance& value ) +void Region::setY2( const glabels::Distance& value ) { mY2 = value; } @@ -96,7 +114,7 @@ void LabelRegion::setY2( const glabels::Distance& value ) /// /// Convert to a QRectF /// -QRectF LabelRegion::rect() const +QRectF Region::rect() const { QRectF r; diff --git a/glabels/LabelRegion.h b/glabels/Region.h similarity index 83% rename from glabels/LabelRegion.h rename to glabels/Region.h index d722d04..f4b4adf 100644 --- a/glabels/LabelRegion.h +++ b/glabels/Region.h @@ -1,4 +1,4 @@ -/* LabelRegion.h +/* Region.h * * Copyright (C) 2013 Jim Evins * @@ -18,8 +18,8 @@ * along with gLabels-qt. If not, see . */ -#ifndef LabelRegion_h -#define LabelRegion_h +#ifndef Region_h +#define Region_h #include #include "libglabels/Distance.h" @@ -28,9 +28,18 @@ /// /// Label Region Type /// -struct LabelRegion +struct Region { + ///////////////////////////////// + // Constructors + ///////////////////////////////// +public: + Region(); + Region( const glabels::Distance& x1, const glabels::Distance& y1, + const glabels::Distance& x2, const glabels::Distance& y2 ); + + ///////////////////////////////// // Properties ///////////////////////////////// @@ -82,4 +91,4 @@ private: }; -#endif // LabelRegion_h +#endif // Region_h