[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