[QGIS Commit] r8646 - in branches/advanced_printing_branch/src:
app/composer ui
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Wed Jun 11 02:22:32 EDT 2008
Author: mhugent
Date: 2008-06-11 02:22:32 -0400 (Wed, 11 Jun 2008)
New Revision: 8646
Modified:
branches/advanced_printing_branch/src/app/composer/qgscomposerlabel.cpp
branches/advanced_printing_branch/src/app/composer/qgscomposerlabel.h
branches/advanced_printing_branch/src/app/composer/qgscomposerlabelwidget.cpp
branches/advanced_printing_branch/src/app/composer/qgscomposerlabelwidget.h
branches/advanced_printing_branch/src/ui/qgscomposerlabelwidgetbase.ui
Log:
Margin between label text and box
Modified: branches/advanced_printing_branch/src/app/composer/qgscomposerlabel.cpp
===================================================================
--- branches/advanced_printing_branch/src/app/composer/qgscomposerlabel.cpp 2008-06-10 19:01:33 UTC (rev 8645)
+++ branches/advanced_printing_branch/src/app/composer/qgscomposerlabel.cpp 2008-06-11 06:22:32 UTC (rev 8646)
@@ -18,7 +18,7 @@
#include "qgscomposerlabel.h"
#include <QPainter>
-QgsComposerLabel::QgsComposerLabel( QgsComposition *composition, int id): QgsComposerItem(0)
+QgsComposerLabel::QgsComposerLabel( QgsComposition *composition, int id): QgsComposerItem(0), mMargin(0.0)
{
mId = id;
}
@@ -40,7 +40,7 @@
outputFont.setPointSizeF(mFont.pointSizeF() * fontPointScaleFactor(painter));
painter->setFont(outputFont);
- painter->drawText(rect(), Qt::AlignLeft, mText, 0);
+ painter->drawText(QRectF(mMargin, mMargin, rect().width(), rect().height()), Qt::AlignLeft, mText, 0);
drawFrame(painter);
if(isSelected())
@@ -57,8 +57,12 @@
void QgsComposerLabel::adjustSizeToText()
{
//find out width and hight mText and set bounding box to it
- QFontMetricsF fontInfo(mFont);
- setSceneRect(QRectF(transform().dx(), transform().dy(), fontInfo.width(mText), fontInfo.xHeight()));
+ QFont scaledFont(mFont);
+ scaledFont.setPointSizeF(mFont.pointSizeF() * (25.4 / 120 / 0.376)); //how to find out the 120 dpi of QGraphicsView?
+
+
+ QFontMetricsF fontInfo(scaledFont);
+ setSceneRect(QRectF(transform().dx(), transform().dy(), fontInfo.width(mText) + 2 * mMargin, fontInfo.ascent() + 2 * mMargin));
}
Modified: branches/advanced_printing_branch/src/app/composer/qgscomposerlabel.h
===================================================================
--- branches/advanced_printing_branch/src/app/composer/qgscomposerlabel.h 2008-06-10 19:01:33 UTC (rev 8645)
+++ branches/advanced_printing_branch/src/app/composer/qgscomposerlabel.h 2008-06-11 06:22:32 UTC (rev 8646)
@@ -36,6 +36,8 @@
QFont font() {return mFont;}
void setFont(const QFont& f){mFont = f;}
void setFontSize(double size);
+ double margin(){return mMargin;}
+ void setMargin(double m){mMargin = m;}
private:
// Text
@@ -43,6 +45,9 @@
// Font
QFont mFont;
+
+ // Border between text and fram (in mm)
+ double mMargin;
};
#endif
Modified: branches/advanced_printing_branch/src/app/composer/qgscomposerlabelwidget.cpp
===================================================================
--- branches/advanced_printing_branch/src/app/composer/qgscomposerlabelwidget.cpp 2008-06-10 19:01:33 UTC (rev 8645)
+++ branches/advanced_printing_branch/src/app/composer/qgscomposerlabelwidget.cpp 2008-06-11 06:22:32 UTC (rev 8646)
@@ -77,5 +77,15 @@
}
}
+void QgsComposerLabelWidget::on_mMarginDoubleSpinBox_valueChanged(double d)
+{
+ if(mComposerLabel)
+ {
+ mComposerLabel->setMargin(d);
+ mComposerLabel->adjustSizeToText();
+ mComposerLabel->update();
+ }
+}
+
Modified: branches/advanced_printing_branch/src/app/composer/qgscomposerlabelwidget.h
===================================================================
--- branches/advanced_printing_branch/src/app/composer/qgscomposerlabelwidget.h 2008-06-10 19:01:33 UTC (rev 8645)
+++ branches/advanced_printing_branch/src/app/composer/qgscomposerlabelwidget.h 2008-06-11 06:22:32 UTC (rev 8646)
@@ -33,6 +33,7 @@
void on_mTextEdit_textChanged();
void on_mFontButton_clicked();
void on_mBoxCheckBox_stateChanged(int state);
+ void on_mMarginDoubleSpinBox_valueChanged(double d);
private:
QgsComposerLabel* mComposerLabel;
Modified: branches/advanced_printing_branch/src/ui/qgscomposerlabelwidgetbase.ui
===================================================================
--- branches/advanced_printing_branch/src/ui/qgscomposerlabelwidgetbase.ui 2008-06-10 19:01:33 UTC (rev 8645)
+++ branches/advanced_printing_branch/src/ui/qgscomposerlabelwidgetbase.ui 2008-06-11 06:22:32 UTC (rev 8646)
@@ -5,7 +5,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>215</width>
+ <width>217</width>
<height>341</height>
</rect>
</property>
@@ -18,30 +18,15 @@
<property name="windowTitle" >
<string>Label Options</string>
</property>
- <layout class="QVBoxLayout" >
- <property name="spacing" >
- <number>6</number>
- </property>
- <property name="leftMargin" >
- <number>9</number>
- </property>
- <property name="topMargin" >
- <number>9</number>
- </property>
- <property name="rightMargin" >
- <number>9</number>
- </property>
- <property name="bottomMargin" >
- <number>9</number>
- </property>
- <item>
+ <layout class="QGridLayout" >
+ <item row="0" column="0" colspan="2" >
<widget class="QTextEdit" name="mTextEdit" >
<property name="lineWrapMode" >
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</item>
- <item>
+ <item row="1" column="0" colspan="2" >
<widget class="QPushButton" name="mFontButton" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
@@ -54,14 +39,24 @@
</property>
</widget>
</item>
- <item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="mMarginTextLabel" >
+ <property name="text" >
+ <string>Margin (mm):</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QDoubleSpinBox" name="mMarginDoubleSpinBox" />
+ </item>
+ <item row="3" column="0" colspan="2" >
<widget class="QCheckBox" name="mBoxCheckBox" >
<property name="text" >
<string>Box</string>
</property>
</widget>
</item>
- <item>
+ <item row="4" column="0" colspan="2" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
@@ -72,7 +67,7 @@
<property name="sizeHint" >
<size>
<width>197</width>
- <height>71</height>
+ <height>31</height>
</size>
</property>
</spacer>
More information about the QGIS-commit
mailing list