summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-09-11 07:53:08 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-09-11 08:42:50 +0300
commitd315336b202ec1c1260f96945a23fde6d2c41b69 (patch)
tree2bdd613eb9f738e93869547e45d824e49dd308af
parent83ac130c30d7452a35f253c7014563fef2683257 (diff)
Widget example changes
Task-number: QTRD-2239 + Changed bar type and selection mode to comboboxes Change-Id: If3cfad2bafa5770e319e856af6f7bc2108180bde Change-Id: If3cfad2bafa5770e319e856af6f7bc2108180bde Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
-rw-r--r--examples/widget/chart.cpp59
-rw-r--r--examples/widget/chart.h9
-rw-r--r--examples/widget/main.cpp43
3 files changed, 54 insertions, 57 deletions
diff --git a/examples/widget/chart.cpp b/examples/widget/chart.cpp
index 5a3a2be0..d124a10b 100644
--- a/examples/widget/chart.cpp
+++ b/examples/widget/chart.cpp
@@ -38,7 +38,9 @@ ChartModifier::ChartModifier(Q3DBars *barchart)
m_temperatureAxis(new Q3DValueAxis),
m_yearAxis(new Q3DCategoryAxis),
m_monthAxis(new Q3DCategoryAxis),
- m_temperatureData(new QBarDataProxy)
+ m_temperatureData(new QBarDataProxy),
+ m_style(QDataVis::BevelBars),
+ m_smooth(false)
{
m_months << "January" << "February" << "March" << "April" << "May" << "June" << "July" << "August" << "September" << "October" << "November" << "December";
m_years << "2006" << "2007" << "2008" << "2009" << "2010" << "2011" << "2012";
@@ -125,44 +127,10 @@ void ChartModifier::resetTemperatureData()
m_temperatureData->resetArray(dataSet);
}
-void ChartModifier::changeStyle()
-{
- static int model = 9;
- switch (model) {
- case 0:
- m_chart->setBarType(QDataVis::Cylinders, false);
- break;
- case 1:
- m_chart->setBarType(QDataVis::Cylinders, true);
- break;
- case 2:
- m_chart->setBarType(QDataVis::Cones, false);
- break;
- case 3:
- m_chart->setBarType(QDataVis::Cones, true);
- break;
- case 4:
- m_chart->setBarType(QDataVis::Bars, false);
- break;
- case 5:
- m_chart->setBarType(QDataVis::Bars, true);
- break;
- case 6:
- m_chart->setBarType(QDataVis::Pyramids, false);
- break;
- case 7:
- m_chart->setBarType(QDataVis::Pyramids, true);
- break;
- case 8:
- m_chart->setBarType(QDataVis::BevelBars, false);
- break;
- case 9:
- m_chart->setBarType(QDataVis::BevelBars, true);
- break;
- }
- model++;
- if (model > 9)
- model = 0;
+void ChartModifier::changeStyle(int style)
+{
+ m_style = QDataVis::MeshStyle(style);
+ m_chart->setBarType(m_style, m_smooth);
}
void ChartModifier::changePresetCamera()
@@ -190,13 +158,8 @@ void ChartModifier::changeTransparency()
transparency = QDataVis::TransparencyNone;
}
-void ChartModifier::changeSelectionMode()
+void ChartModifier::changeSelectionMode(int selectionMode)
{
- static int selectionMode = m_chart->selectionMode();
-
- if (++selectionMode > QDataVis::ModeSliceColumn)
- selectionMode = QDataVis::ModeNone;
-
m_chart->setSelectionMode((QDataVis::SelectionMode)selectionMode);
}
@@ -250,3 +213,9 @@ void ChartModifier::setGridEnabled(int enabled)
{
m_chart->setGridVisible((bool)enabled);
}
+
+void ChartModifier::setSmoothBars(int smooth)
+{
+ m_smooth = bool(smooth);
+ m_chart->setBarType(m_style, m_smooth);
+}
diff --git a/examples/widget/chart.h b/examples/widget/chart.h
index cb16e24b..3b1f2682 100644
--- a/examples/widget/chart.h
+++ b/examples/widget/chart.h
@@ -36,21 +36,22 @@ public:
~ChartModifier();
void resetTemperatureData();
- void changeStyle();
void changePresetCamera();
void changeTransparency();
- void changeSelectionMode();
void changeFont(const QFont &font);
void changeFontSize(int fontsize);
void rotateX(int rotation);
void rotateY(int rotation);
void setBackgroundEnabled(int enabled);
void setGridEnabled(int enabled);
+ void setSmoothBars(int smooth);
void start();
public slots:
- void changeShadowQuality(int quality);
+ void changeStyle(int style);
+ void changeSelectionMode(int selectionMode);
void changeTheme(int theme);
+ void changeShadowQuality(int quality);
void shadowQualityUpdatedByVisual(QDataVis::ShadowQuality shadowQuality);
signals:
@@ -71,6 +72,8 @@ private:
Q3DCategoryAxis *m_yearAxis;
Q3DCategoryAxis *m_monthAxis;
QBarDataProxy *m_temperatureData;
+ QDataVis::MeshStyle m_style;
+ bool m_smooth;
};
#endif
diff --git a/examples/widget/main.cpp b/examples/widget/main.cpp
index 340b3c4c..3c369063 100644
--- a/examples/widget/main.cpp
+++ b/examples/widget/main.cpp
@@ -66,14 +66,30 @@ int main(int argc, char **argv)
QPushButton *labelButton = new QPushButton(widget);
labelButton->setText(QStringLiteral("Change label style"));
- QPushButton *styleButton = new QPushButton(widget);
- styleButton->setText(QStringLiteral("Change bar style"));
+ QCheckBox *smoothCheckBox = new QCheckBox(widget);
+ smoothCheckBox->setText(QStringLiteral("Smooth bars"));
+ smoothCheckBox->setChecked(false);
+
+ QComboBox *barStyleList = new QComboBox(widget);
+ barStyleList->addItem(QStringLiteral("Bars"));
+ barStyleList->addItem(QStringLiteral("Pyramids"));
+ barStyleList->addItem(QStringLiteral("Cones"));
+ barStyleList->addItem(QStringLiteral("Cylinders"));
+ barStyleList->addItem(QStringLiteral("Beveled Bars"));
+ barStyleList->setCurrentIndex(4);
QPushButton *cameraButton = new QPushButton(widget);
cameraButton->setText(QStringLiteral("Change camera preset"));
- QPushButton *selectionButton = new QPushButton(widget);
- selectionButton->setText(QStringLiteral("Change selection mode"));
+ QComboBox *selectionModeList = new QComboBox(widget);
+ selectionModeList->addItem(QStringLiteral("None"));
+ selectionModeList->addItem(QStringLiteral("Bar"));
+ selectionModeList->addItem(QStringLiteral("Bar and Row"));
+ selectionModeList->addItem(QStringLiteral("Bar and Column"));
+ selectionModeList->addItem(QStringLiteral("Bar, Row and Column"));
+ selectionModeList->addItem(QStringLiteral("Slice into Row"));
+ selectionModeList->addItem(QStringLiteral("Slice into Column"));
+ selectionModeList->setCurrentIndex(1);
QCheckBox *backgroundCheckBox = new QCheckBox(widget);
backgroundCheckBox->setText(QStringLiteral("Show background"));
@@ -118,11 +134,14 @@ int main(int argc, char **argv)
vLayout->addWidget(new QLabel(QStringLiteral("Rotate vertically")));
vLayout->addWidget(rotationSliderY, 0, Qt::AlignTop);
vLayout->addWidget(labelButton, 0, Qt::AlignTop);
- vLayout->addWidget(styleButton, 0, Qt::AlignTop);
vLayout->addWidget(cameraButton, 0, Qt::AlignTop);
- vLayout->addWidget(selectionButton, 0, Qt::AlignTop);
vLayout->addWidget(backgroundCheckBox);
vLayout->addWidget(gridCheckBox);
+ vLayout->addWidget(smoothCheckBox, 0, Qt::AlignTop);
+ vLayout->addWidget(new QLabel(QStringLiteral("Change bar style")));
+ vLayout->addWidget(barStyleList);
+ vLayout->addWidget(new QLabel(QStringLiteral("Change selection mode")));
+ vLayout->addWidget(selectionModeList);
vLayout->addWidget(new QLabel(QStringLiteral("Change theme")));
vLayout->addWidget(themeList);
vLayout->addWidget(new QLabel(QStringLiteral("Adjust shadow quality")));
@@ -141,22 +160,28 @@ int main(int argc, char **argv)
QObject::connect(labelButton, &QPushButton::clicked, modifier,
&ChartModifier::changeTransparency);
- QObject::connect(styleButton, &QPushButton::clicked, modifier, &ChartModifier::changeStyle);
QObject::connect(cameraButton, &QPushButton::clicked, modifier,
&ChartModifier::changePresetCamera);
- QObject::connect(selectionButton, &QPushButton::clicked, modifier,
- &ChartModifier::changeSelectionMode);
QObject::connect(backgroundCheckBox, &QCheckBox::stateChanged, modifier,
&ChartModifier::setBackgroundEnabled);
QObject::connect(gridCheckBox, &QCheckBox::stateChanged, modifier,
&ChartModifier::setGridEnabled);
+ QObject::connect(smoothCheckBox, &QCheckBox::stateChanged, modifier,
+ &ChartModifier::setSmoothBars);
+
+ QObject::connect(barStyleList, SIGNAL(currentIndexChanged(int)), modifier,
+ SLOT(changeStyle(int)));
+
+ QObject::connect(selectionModeList, SIGNAL(currentIndexChanged(int)), modifier,
+ SLOT(changeSelectionMode(int)));
QObject::connect(themeList, SIGNAL(currentIndexChanged(int)), modifier,
SLOT(changeTheme(int)));
QObject::connect(shadowQuality, SIGNAL(currentIndexChanged(int)), modifier,
SLOT(changeShadowQuality(int)));
+
QObject::connect(modifier, &ChartModifier::shadowQualityChanged, shadowQuality,
&QComboBox::setCurrentIndex);
QObject::connect(widgetchart, &Q3DBars::shadowQualityChanged, modifier,