summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-04-26 12:49:13 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-04-26 12:52:11 +0300
commit8de575f99afac171f656fc5ebba4febaeac9c373 (patch)
tree5c89c5f70dcfc2e05c274e39dd8a3ac689581c1f /examples
parent2675b0faeb9ae25cde5f708392ea20ebbf353f88 (diff)
Added font changing to widget example
Change-Id: I519a042e53ccda3a4d24f98328749b562d27e002 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/datavis3d/widget/chart.cpp16
-rw-r--r--examples/datavis3d/widget/chart.h4
-rw-r--r--examples/datavis3d/widget/main.cpp21
3 files changed, 40 insertions, 1 deletions
diff --git a/examples/datavis3d/widget/chart.cpp b/examples/datavis3d/widget/chart.cpp
index a09f770b..0f84c689 100644
--- a/examples/datavis3d/widget/chart.cpp
+++ b/examples/datavis3d/widget/chart.cpp
@@ -54,7 +54,8 @@ ChartModifier::ChartModifier(Q3DBars *barchart)
m_barWidth(1.0f),
m_barDepth(1.0f),
m_barSpacingX(0.1f),
- m_barSpacingZ(0.1f)
+ m_barSpacingZ(0.1f),
+ m_fontSize(20)
{
// Don't set any styles or specifications, start from defaults
}
@@ -220,6 +221,19 @@ void ChartModifier::changeSelectionMode()
selectionMode = 0;
}
+void ChartModifier::changeFont(const QFont &font)
+{
+ QFont newFont = font;
+ newFont.setPixelSize(m_fontSize);
+ m_chart->setFont(newFont);
+}
+
+void ChartModifier::changeFontSize(int fontsize)
+{
+ m_fontSize = fontsize;
+ m_chart->setFontSize((GLfloat)m_fontSize);
+}
+
void ChartModifier::rotateX(int rotation)
{
m_xRotation = rotation;
diff --git a/examples/datavis3d/widget/chart.h b/examples/datavis3d/widget/chart.h
index d1968ac3..6ad90a83 100644
--- a/examples/datavis3d/widget/chart.h
+++ b/examples/datavis3d/widget/chart.h
@@ -51,6 +51,7 @@ using namespace QtDataVis3D;
class ChartModifier : public QObject
{
+ Q_OBJECT
public:
explicit ChartModifier(Q3DBars *barchart);
~ChartModifier();
@@ -62,6 +63,8 @@ public:
void changeTheme();
void changeTransparency();
void changeSelectionMode();
+ void changeFont(const QFont &font);
+ void changeFontSize(int fontsize);
void rotateX(int rotation);
void rotateY(int rotation);
void setSpecsX(int barwidth);
@@ -84,6 +87,7 @@ private:
float m_barDepth;
float m_barSpacingX;
float m_barSpacingZ;
+ int m_fontSize;
};
#endif
diff --git a/examples/datavis3d/widget/main.cpp b/examples/datavis3d/widget/main.cpp
index cbcce66c..9a34fe1f 100644
--- a/examples/datavis3d/widget/main.cpp
+++ b/examples/datavis3d/widget/main.cpp
@@ -47,8 +47,10 @@
#include <QPushButton>
#include <QCheckBox>
#include <QSlider>
+#include <QFontComboBox>
#include <QLabel>
#include <QScreen>
+#include <QFontDatabase>
int main(int argc, char **argv)
{
@@ -146,6 +148,14 @@ int main(int argc, char **argv)
sampleSliderZ->setMaximum(100);
sampleSliderZ->setEnabled(false);
+ QSlider *fontSizeSlider = new QSlider(Qt::Horizontal);
+ fontSizeSlider->setTickInterval(1);
+ fontSizeSlider->setMinimum(1);
+ fontSizeSlider->setValue(20);
+ fontSizeSlider->setMaximum(100);
+
+ QFontComboBox *fontList = new QFontComboBox();
+
vLayout->addWidget(staticCheckBox, 0, Qt::AlignTop);
vLayout->addWidget(rotationCheckBox, 0, Qt::AlignTop);
vLayout->addWidget(rotationSliderX, 0, Qt::AlignTop);
@@ -165,6 +175,11 @@ int main(int argc, char **argv)
vLayout->addWidget(styleButton, 0, Qt::AlignTop);
vLayout->addWidget(cameraButton, 0, Qt::AlignTop);
vLayout->addWidget(selectionButton, 0, Qt::AlignTop);
+ vLayout->addWidget(new QLabel(QStringLiteral("Change font")));
+ vLayout->addWidget(fontList);
+ vLayout->addWidget(new QLabel(QStringLiteral("Adjust font size")));
+ vLayout->addWidget(fontSizeSlider, 0, Qt::AlignTop);
+ // TODO: Add example for setMeshFileName
widget->show();
@@ -186,6 +201,9 @@ int main(int argc, char **argv)
QObject::connect(sampleSliderZ, &QSlider::valueChanged, modifier,
&ChartModifier::setSampleCountZ);
+ QObject::connect(fontSizeSlider, &QSlider::valueChanged, modifier,
+ &ChartModifier::changeFontSize);
+
QObject::connect(styleButton, &QPushButton::clicked, modifier, &ChartModifier::changeStyle);
QObject::connect(cameraButton, &QPushButton::clicked, modifier,
&ChartModifier::changePresetCamera);
@@ -196,6 +214,9 @@ int main(int argc, char **argv)
QObject::connect(selectionButton, &QPushButton::clicked, modifier,
&ChartModifier::changeSelectionMode);
+ QObject::connect(fontList, &QFontComboBox::currentFontChanged, modifier,
+ &ChartModifier::changeFont);
+
QObject::connect(rotationCheckBox, &QCheckBox::stateChanged, rotationSliderX,
&QSlider::setEnabled);
QObject::connect(rotationCheckBox, &QCheckBox::stateChanged, rotationSliderX,