[QGIS Commit] r9237 - in trunk/qgis/src: app/composer core/composer
gui
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Mon Sep 1 13:14:59 EDT 2008
Author: mhugent
Date: 2008-09-01 13:14:59 -0400 (Mon, 01 Sep 2008)
New Revision: 9237
Modified:
trunk/qgis/src/app/composer/qgscomposer.cpp
trunk/qgis/src/app/composer/qgscomposerlabelwidget.cpp
trunk/qgis/src/core/composer/qgscomposerlabel.cpp
trunk/qgis/src/core/composer/qgscomposerpicture.cpp
trunk/qgis/src/core/composer/qgscomposerscalebar.cpp
trunk/qgis/src/core/composer/qgscomposerscalebar.h
trunk/qgis/src/core/composer/qgscomposition.cpp
trunk/qgis/src/core/composer/qgsscalebarstyle.cpp
trunk/qgis/src/gui/qgscomposerview.cpp
Log:
Fix for some font size problems and for loading composer scalebar from xml
Modified: trunk/qgis/src/app/composer/qgscomposer.cpp
===================================================================
--- trunk/qgis/src/app/composer/qgscomposer.cpp 2008-09-01 06:41:50 UTC (rev 9236)
+++ trunk/qgis/src/app/composer/qgscomposer.cpp 2008-09-01 17:14:59 UTC (rev 9237)
@@ -1422,6 +1422,9 @@
addComposerLabel( newLabel );
mComposition->addItem( newLabel );
mComposition->update();
+ mComposition->clearSelection();
+ newLabel->setSelected(true);
+ showItemOptions(newLabel);
}
//composer maps
@@ -1434,6 +1437,9 @@
addComposerMap( newMap );
mComposition->addItem( newMap );
mComposition->update();
+ mComposition->clearSelection();
+ newMap->setSelected(true);
+ showItemOptions(newMap);
}
//composer scalebars
@@ -1446,6 +1452,9 @@
addComposerScaleBar( newScaleBar );
mComposition->addItem( newScaleBar );
mComposition->update();
+ mComposition->clearSelection();
+ newScaleBar->setSelected(true);
+ showItemOptions(newScaleBar);
}
//composer legends
@@ -1458,6 +1467,9 @@
addComposerLegend( newLegend );
mComposition->addItem( newLegend );
mComposition->update();
+ mComposition->clearSelection();
+ newLegend->setSelected(true);
+ showItemOptions(newLegend);
}
//composer pictures
@@ -1470,6 +1482,9 @@
addComposerPicture( newPicture );
mComposition->addItem( newPicture );
mComposition->update();
+ mComposition->clearSelection();
+ newPicture->setSelected(true);
+ showItemOptions(newPicture);
}
mComposition->sortZList();
Modified: trunk/qgis/src/app/composer/qgscomposerlabelwidget.cpp
===================================================================
--- trunk/qgis/src/app/composer/qgscomposerlabelwidget.cpp 2008-09-01 06:41:50 UTC (rev 9236)
+++ trunk/qgis/src/app/composer/qgscomposerlabelwidget.cpp 2008-09-01 17:14:59 UTC (rev 9237)
@@ -64,7 +64,6 @@
if ( mComposerLabel )
{
mComposerLabel->setMargin( d );
- mComposerLabel->adjustSizeToText();
mComposerLabel->update();
}
}
Modified: trunk/qgis/src/core/composer/qgscomposerlabel.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgscomposerlabel.cpp 2008-09-01 06:41:50 UTC (rev 9236)
+++ trunk/qgis/src/core/composer/qgscomposerlabel.cpp 2008-09-01 17:14:59 UTC (rev 9237)
@@ -51,8 +51,8 @@
//support multiline labels
double penWidth = pen().widthF();
- QRectF painterRect( penWidth, penWidth, rect().width() - 2 * penWidth,
- rect().height() - 2 * penWidth );
+ QRectF painterRect( penWidth + mMargin, penWidth + mMargin, rect().width() - 2 * penWidth - 2 * mMargin,
+ rect().height() - 2 * penWidth - 2 * mMargin);
painter->drawText( painterRect, Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap, mText );
Modified: trunk/qgis/src/core/composer/qgscomposerpicture.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgscomposerpicture.cpp 2008-09-01 06:41:50 UTC (rev 9236)
+++ trunk/qgis/src/core/composer/qgscomposerpicture.cpp 2008-09-01 17:14:59 UTC (rev 9237)
@@ -226,5 +226,5 @@
mRotation = itemElem.attribute( "rotation" ).toDouble();
- return false; //soon...
+ return true;
}
Modified: trunk/qgis/src/core/composer/qgscomposerscalebar.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgscomposerscalebar.cpp 2008-09-01 06:41:50 UTC (rev 9236)
+++ trunk/qgis/src/core/composer/qgscomposerscalebar.cpp 2008-09-01 17:14:59 UTC (rev 9237)
@@ -268,7 +268,6 @@
QFont QgsComposerScaleBar::font() const
{
-#if 0 //needed by scale bar style, therefore don't convert back to points
if ( mComposition ) //make pixel to point conversion to show correct point value in dialogs
{
double pointSize = mComposition->pointFontSize( mFont.pixelSize() );
@@ -276,7 +275,10 @@
returnFont.setPointSize( pointSize );
return returnFont;
}
-#endif //0
+}
+
+QFont QgsComposerScaleBar::fontPixelSize() const
+{
return mFont;
}
@@ -311,6 +313,7 @@
composerScaleBarElem.setAttribute( "numSegments", mNumSegments );
composerScaleBarElem.setAttribute( "numSegmentsLeft", mNumSegmentsLeft );
composerScaleBarElem.setAttribute( "numUnitsPerSegment", mNumUnitsPerSegment );
+ composerScaleBarElem.setAttribute( "segmentMM", mSegmentMM );
composerScaleBarElem.setAttribute( "numMapUnitsPerScaleBarUnit", mNumMapUnitsPerScaleBarUnit );
composerScaleBarElem.setAttribute( "font", mFont.toString() );
composerScaleBarElem.setAttribute( "outlineWidth", mPen.widthF() );
@@ -353,6 +356,7 @@
mNumSegments = itemElem.attribute( "numSegments", "2" ).toInt();
mNumSegmentsLeft = itemElem.attribute( "numSegmentsLeft", "0" ).toInt();
mNumUnitsPerSegment = itemElem.attribute( "numUnitsPerSegment", "1.0" ).toDouble();
+ mSegmentMM = itemElem.attribute("segmentMM", "0.0").toDouble();
mNumMapUnitsPerScaleBarUnit = itemElem.attribute( "numMapUnitsPerScaleBarUnit", "1.0" ).toDouble();
mPen.setWidthF( itemElem.attribute( "outlineWidth", "1.0" ).toDouble() );
mUnitLabeling = itemElem.attribute( "unitLabel" );
Modified: trunk/qgis/src/core/composer/qgscomposerscalebar.h
===================================================================
--- trunk/qgis/src/core/composer/qgscomposerscalebar.h 2008-09-01 06:41:50 UTC (rev 9236)
+++ trunk/qgis/src/core/composer/qgscomposerscalebar.h 2008-09-01 17:14:59 UTC (rev 9237)
@@ -56,6 +56,10 @@
void setUnitLabeling( const QString& label ) {mUnitLabeling = label;}
QFont font() const;
+
+ /**Returns font that has size set in pixels. Used from QgsComposerScaleBarStyle*/
+ QFont fontPixelSize() const;
+
void setFont( const QFont& font );
QPen pen() const {return mPen;}
Modified: trunk/qgis/src/core/composer/qgscomposition.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgscomposition.cpp 2008-09-01 06:41:50 UTC (rev 9236)
+++ trunk/qgis/src/core/composer/qgscomposition.cpp 2008-09-01 17:14:59 UTC (rev 9237)
@@ -139,7 +139,7 @@
{
//in QgsComposition, one unit = one mm
double sizeMM = pointSize * 0.3527;
- return sizeMM;
+ return (sizeMM + 0.5); //round to nearest mm
}
double QgsComposition::pointFontSize( int pixelSize ) const
Modified: trunk/qgis/src/core/composer/qgsscalebarstyle.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgsscalebarstyle.cpp 2008-09-01 06:41:50 UTC (rev 9236)
+++ trunk/qgis/src/core/composer/qgsscalebarstyle.cpp 2008-09-01 17:14:59 UTC (rev 9237)
@@ -43,9 +43,9 @@
p->save();
- p->setFont( mScaleBar->font() );
+ p->setFont( mScaleBar->fontPixelSize() );
- QFontMetricsF fontMetrics( mScaleBar->font() );
+ QFontMetricsF fontMetrics( mScaleBar->fontPixelSize() );
QString firstLabel = mScaleBar->firstLabelString();
double xOffset = fontMetrics.width( firstLabel ) / 2;
@@ -107,7 +107,7 @@
}
- QFontMetricsF fontMetrics( mScaleBar->font() );
+ QFontMetricsF fontMetrics( mScaleBar->fontPixelSize() );
//consider centered first label
double firstLabelLeft = fontMetrics.width( mScaleBar->firstLabelString() ) / 2;
Modified: trunk/qgis/src/gui/qgscomposerview.cpp
===================================================================
--- trunk/qgis/src/gui/qgscomposerview.cpp 2008-09-01 06:41:50 UTC (rev 9236)
+++ trunk/qgis/src/gui/qgscomposerview.cpp 2008-09-01 17:14:59 UTC (rev 9237)
@@ -86,7 +86,6 @@
t.translate( scenePoint.x(), scenePoint.y() );
mRubberBandItem->setTransform( t );
mRubberBandItem->setZValue( 100 );
-
scene()->addItem( mRubberBandItem );
scene()->update();
}
More information about the QGIS-commit
mailing list