summaryrefslogtreecommitdiffstats
path: root/tests/barstest/chart.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/barstest/chart.cpp')
-rw-r--r--tests/barstest/chart.cpp65
1 files changed, 45 insertions, 20 deletions
diff --git a/tests/barstest/chart.cpp b/tests/barstest/chart.cpp
index 08ce4d94..e2d4bda4 100644
--- a/tests/barstest/chart.cpp
+++ b/tests/barstest/chart.cpp
@@ -53,18 +53,10 @@ ChartModifier::ChartModifier(Q3DBars *barchart)
m_genericData(new QBarDataProxy),
m_currentAxis(m_fixedRangeAxis)
{
- // Don't set any styles or specifications, start from defaults
// Generate generic labels
- QStringList genericRowLabels;
QStringList genericColumnLabels;
for (int i = 0; i < 200; i++) {
if (i % 5)
- genericRowLabels << QString();
- else
- genericRowLabels << QStringLiteral("Row %1").arg(i);
- }
- for (int i = 0; i < 200; i++) {
- if (i % 5)
genericColumnLabels << QString();
else
genericColumnLabels << QStringLiteral("Column %1").arg(i);
@@ -89,7 +81,6 @@ ChartModifier::ChartModifier(Q3DBars *barchart)
m_fixedRangeAxis->setRange(0.0, 100.0);
m_genericRowAxis->setTitle("Generic Row");
- m_genericRowAxis->setCategoryLabels(genericRowLabels);
m_genericColumnAxis->setTitle("Generic Column");
m_genericColumnAxis->setCategoryLabels(genericColumnLabels);
@@ -101,10 +92,8 @@ ChartModifier::ChartModifier(Q3DBars *barchart)
m_temperatureAxis->setLabelFormat(QString(QStringLiteral("%d ") + celsiusString));
m_yearAxis->setTitle("Year");
- m_yearAxis->setCategoryLabels(m_years);
m_monthAxis->setTitle("Month");
- m_monthAxis->setCategoryLabels(m_months);
m_chart->addAxis(m_autoAdjustingAxis);
m_chart->addAxis(m_fixedRangeAxis);
@@ -249,38 +238,71 @@ void ChartModifier::resetTemperatureData()
// Add data to chart (chart assumes ownership)
- m_temperatureData->resetArray(dataSet);
+ m_temperatureData->resetArray(dataSet, m_years, m_months);
}
+
+static int addCounter = 0;
+static int insertCounter = 0;
+static int changeCounter = 0;
+
void ChartModifier::addRow()
{
QBarDataRow *dataRow = new QBarDataRow(m_columnCount);
- for (float i = 0; i < m_columnCount; i++) {
+ for (float i = 0; i < m_columnCount; i++)
(*dataRow)[i].setValue(((i + 1) / (float)m_columnCount) * (float)(rand() % 100));
- //(*dataRow)[i].setValue(i + m_chart->dataProxy()->rowCount());
+
+ // TODO Needs to be changed to account for data window offset once it is implemented.
+ QString label = QStringLiteral("Add %1").arg(addCounter++);
+ m_chart->activeDataProxy()->addRow(dataRow, label);
+}
+
+void ChartModifier::addRows()
+{
+ QBarDataArray dataArray;
+ QStringList labels;
+ for (int i = 0; i < m_rowCount; i++) {
+ QBarDataRow *dataRow = new QBarDataRow(m_columnCount);
+ for (int j = 0; j < m_columnCount; j++)
+ (*dataRow)[j].setValue(qreal(j + i + m_chart->activeDataProxy()->rowCount()));
+ dataArray.append(dataRow);
+ labels.append(QStringLiteral("Add %1").arg(addCounter++));
}
// TODO Needs to be changed to account for data window offset once it is implemented.
+ m_chart->activeDataProxy()->addRows(dataArray, labels);
+}
+
+void ChartModifier::insertRow()
+{
+ QBarDataRow *dataRow = new QBarDataRow(m_columnCount);
+ for (float i = 0; i < m_columnCount; i++)
+ (*dataRow)[i].setValue(((i + 1) / (float)m_columnCount) * (float)(rand() % 100));
+
+ // TODO Needs to be changed to account for data window offset once it is implemented.
int row = qMax(m_selectedBarPos.x(), 0);
- m_chart->activeDataProxy()->insertRow(row, dataRow);
+ QString label = QStringLiteral("Insert %1").arg(insertCounter++);
+ m_chart->activeDataProxy()->insertRow(row, dataRow, label);
}
-void ChartModifier::addRows()
+void ChartModifier::insertRows()
{
QTime timer;
timer.start();
QBarDataArray dataArray;
+ QStringList labels;
for (int i = 0; i < m_rowCount; i++) {
QBarDataRow *dataRow = new QBarDataRow(m_columnCount);
for (int j = 0; j < m_columnCount; j++)
(*dataRow)[j].setValue(qreal(j + i + m_chart->activeDataProxy()->rowCount()));
dataArray.append(dataRow);
+ labels.append(QStringLiteral("Insert %1").arg(insertCounter++));
}
// TODO Needs to be changed to account for data window offset once it is implemented.
int row = qMax(m_selectedBarPos.x(), 0);
- m_chart->activeDataProxy()->insertRows(row, dataArray);
- qDebug() << "Added" << m_rowCount << "rows, time:" << timer.elapsed();
+ m_chart->activeDataProxy()->insertRows(row, dataArray, labels);
+ qDebug() << "Inserted" << m_rowCount << "rows, time:" << timer.elapsed();
}
void ChartModifier::changeItem()
@@ -302,7 +324,8 @@ void ChartModifier::changeRow()
QBarDataRow *newRow = new QBarDataRow(m_chart->activeDataProxy()->rowAt(row)->size());
for (int i = 0; i < newRow->size(); i++)
(*newRow)[i].setValue(qreal(rand() % 100));
- m_chart->activeDataProxy()->setRow(row, newRow);
+ QString label = QStringLiteral("Change %1").arg(changeCounter++);
+ m_chart->activeDataProxy()->setRow(row, newRow, label);
}
}
@@ -313,13 +336,15 @@ void ChartModifier::changeRows()
if (row >= 0) {
int startRow = qMax(row - 2, 0);
QBarDataArray newArray;
+ QStringList labels;
for (int i = startRow; i <= row; i++ ) {
QBarDataRow *newRow = new QBarDataRow(m_chart->activeDataProxy()->rowAt(i)->size());
for (int j = 0; j < newRow->size(); j++)
(*newRow)[j].setValue(qreal(rand() % 100));
newArray.append(newRow);
+ labels.append(QStringLiteral("Change %1").arg(changeCounter++));
}
- m_chart->activeDataProxy()->setRows(startRow, newArray);
+ m_chart->activeDataProxy()->setRows(startRow, newArray, labels);
}
}