[QGIS Commit] r8804 -
branches/advanced_printing_branch/src/app/composer
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Thu Jul 17 07:25:10 EDT 2008
Author: mhugent
Date: 2008-07-17 07:25:09 -0400 (Thu, 17 Jul 2008)
New Revision: 8804
Modified:
branches/advanced_printing_branch/src/app/composer/qgscomposerscalebar.cpp
branches/advanced_printing_branch/src/app/composer/qgscomposerscalebarwidget.cpp
branches/advanced_printing_branch/src/app/composer/qgsticksmiddlescalebarstyle.cpp
branches/advanced_printing_branch/src/app/composer/qgsticksmiddlescalebarstyle.h
Log:
Support ticks up/down/middle position
Modified: branches/advanced_printing_branch/src/app/composer/qgscomposerscalebar.cpp
===================================================================
--- branches/advanced_printing_branch/src/app/composer/qgscomposerscalebar.cpp 2008-07-17 10:54:44 UTC (rev 8803)
+++ branches/advanced_printing_branch/src/app/composer/qgscomposerscalebar.cpp 2008-07-17 11:25:09 UTC (rev 8804)
@@ -202,9 +202,21 @@
{
mStyle = new QgsDoubleBoxScaleBarStyle(this);
}
- else if(styleName == tr("Line Ticks Middle"))
+ else if(styleName == tr("Line Ticks Middle") || styleName == tr("Line Ticks Down") || styleName == tr("Line Ticks Up"))
{
mStyle = new QgsTicksMiddleScaleBarStyle(this);
+ /*if(styleName == tr("Line Ticks Middle"))
+ {
+ mStyle->setTickPosition(QgsTicksScaleBarStyle::MIDDLE);
+ }
+ else if(styleName == tr("Line Ticks Down"))
+ {
+ mStyle->setTickPosition(QgsTicksScaleBarStyle::DOWN);
+ }
+ else if(styleName == tr("Line Ticks Up"))
+ {
+ mStyle->setTickPosition(QgsTicksScaleBarStyle::UP);
+ }*/
}
else if(styleName == tr("Numeric"))
{
Modified: branches/advanced_printing_branch/src/app/composer/qgscomposerscalebarwidget.cpp
===================================================================
--- branches/advanced_printing_branch/src/app/composer/qgscomposerscalebarwidget.cpp 2008-07-17 10:54:44 UTC (rev 8803)
+++ branches/advanced_printing_branch/src/app/composer/qgscomposerscalebarwidget.cpp 2008-07-17 11:25:09 UTC (rev 8804)
@@ -28,7 +28,9 @@
mStyleComboBox->insertItem(0, tr("Single Box"));
mStyleComboBox->insertItem(1, tr("Double Box"));
mStyleComboBox->insertItem(2, tr("Line Ticks Middle"));
- mStyleComboBox->insertItem(3, tr("Numeric"));
+ mStyleComboBox->insertItem(3, tr("Line Ticks Down"));
+ mStyleComboBox->insertItem(4, tr("Line Ticks Up"));
+ mStyleComboBox->insertItem(5, tr("Numeric"));
setGuiElements(); //set the GUI elements to the state of scaleBar
}
Modified: branches/advanced_printing_branch/src/app/composer/qgsticksmiddlescalebarstyle.cpp
===================================================================
--- branches/advanced_printing_branch/src/app/composer/qgsticksmiddlescalebarstyle.cpp 2008-07-17 10:54:44 UTC (rev 8803)
+++ branches/advanced_printing_branch/src/app/composer/qgsticksmiddlescalebarstyle.cpp 2008-07-17 11:25:09 UTC (rev 8804)
@@ -20,12 +20,12 @@
QgsTicksMiddleScaleBarStyle::QgsTicksMiddleScaleBarStyle(const QgsComposerScaleBar* bar): QgsScaleBarStyle(bar)
{
-
+ mTickPosition = MIDDLE;
}
QgsTicksMiddleScaleBarStyle::QgsTicksMiddleScaleBarStyle(): QgsScaleBarStyle(0)
{
-
+ mTickPosition = MIDDLE;
}
QgsTicksMiddleScaleBarStyle::~QgsTicksMiddleScaleBarStyle()
@@ -46,6 +46,7 @@
}
double barTopPosition = mScaleBar->fontHeight() + mScaleBar->labelBarSpace() + mScaleBar->boxContentSpace();
double middlePosition = barTopPosition + mScaleBar->height()/2.0;
+ double bottomPosition = barTopPosition + mScaleBar->height();
p->save();
p->setPen(mScaleBar->pen());
@@ -57,7 +58,18 @@
for(; segmentIt != segmentInfo.constEnd(); ++segmentIt)
{
p->drawLine(segmentIt->first, barTopPosition, segmentIt->first, barTopPosition + mScaleBar->height());
- p->drawLine(segmentIt->first, middlePosition, segmentIt->first + mScaleBar->segmentMM(), middlePosition);
+ switch(mTickPosition)
+ {
+ case DOWN:
+ p->drawLine(segmentIt->first, barTopPosition, segmentIt->first + mScaleBar->segmentMM(), barTopPosition);
+ break;
+ case MIDDLE:
+ p->drawLine(segmentIt->first, middlePosition, segmentIt->first + mScaleBar->segmentMM(), middlePosition);
+ break;
+ case UP:
+ p->drawLine(segmentIt->first, bottomPosition, segmentIt->first + mScaleBar->segmentMM(), bottomPosition);
+ break;
+ }
}
//draw last tick
Modified: branches/advanced_printing_branch/src/app/composer/qgsticksmiddlescalebarstyle.h
===================================================================
--- branches/advanced_printing_branch/src/app/composer/qgsticksmiddlescalebarstyle.h 2008-07-17 10:54:44 UTC (rev 8803)
+++ branches/advanced_printing_branch/src/app/composer/qgsticksmiddlescalebarstyle.h 2008-07-17 11:25:09 UTC (rev 8804)
@@ -22,6 +22,13 @@
class QgsTicksMiddleScaleBarStyle: public QgsScaleBarStyle
{
public:
+ enum TickPosition
+ {
+ UP,
+ DOWN,
+ MIDDLE
+ };
+
QgsTicksMiddleScaleBarStyle(const QgsComposerScaleBar* bar);
~QgsTicksMiddleScaleBarStyle();
@@ -29,8 +36,12 @@
void draw(QPainter* p) const;
+ void setTickPosition(TickPosition p){mTickPosition = p;}
+
private:
QgsTicksMiddleScaleBarStyle(); //forbidden
+
+ TickPosition mTickPosition;
};
#endif
More information about the QGIS-commit
mailing list