Skip to content

Commit

Permalink
Rework Dataset::updateSampleDataStrings() method.
Browse files Browse the repository at this point in the history
  • Loading branch information
przemek83 committed Jan 22, 2025
1 parent 9018ed2 commit ed1520f
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 15 deletions.
34 changes: 19 additions & 15 deletions src/Datasets/Dataset.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -233,28 +233,32 @@ void Dataset::rebuildUsingActiveColumns()
activeColumns_.clear();
}

void Dataset::fillStringsInColumn(QVector<QVector<QVariant>>& data,
int column) const
{
for (auto& sampleDataRow : data)
{
if (sampleDataRow[column].typeId() == QMetaType::Int)
{
const int index{sampleDataRow[column].toInt()};
if (index > sharedStrings_.size())
sampleDataRow[column] = 0;
else
sampleDataRow[column] = sharedStrings_[index];
}
}
}

void Dataset::updateSampleDataStrings(QVector<QVector<QVariant>>& data) const
{
if (sharedStrings_.isEmpty())
return;

const int count{columnCount()};
for (int i{0}; i < count; ++i)
for (int column{0}; column < count; ++column)
{
if (columnTypes_.at(i) == ColumnType::STRING)
{
for (auto& sampleDataRow : data)
{
if (sampleDataRow[i].typeId() == QMetaType::Int)
{
const int index{sampleDataRow[i].toInt()};
if (index > sharedStrings_.size())
sampleDataRow[i] = 0;
else
sampleDataRow[i] = sharedStrings_[index];
}
}
}
if (columnTypes_.at(column) == ColumnType::STRING)
fillStringsInColumn(data, column);
}
}

Expand Down
3 changes: 3 additions & 0 deletions src/Datasets/Dataset.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ class Dataset : public QObject

virtual void closeZip() = 0;

void fillStringsInColumn(QVector<QVector<QVariant>>& data,
int column) const;

void updateSampleDataStrings(QVector<QVector<QVariant>>& data) const;

QVector<QVariant> sharedStrings_;
Expand Down

0 comments on commit ed1520f

Please sign in to comment.