Skip to content

Commit

Permalink
use dropLevels in checking levels
Browse files Browse the repository at this point in the history
  • Loading branch information
JorisGoosen committed Feb 13, 2025
1 parent d9501fe commit ded1fd5
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 8 deletions.
25 changes: 17 additions & 8 deletions CommonData/column.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1013,6 +1013,11 @@ int Column::nonFilteredNumericsCount()
if(_data->filter()->filtered()[r] && !isEmptyValue(_dbls[r]))
numerics.insert(_dbls[r]);

if(!_data->filter()->shouldDropLevels())
for(Label * label : _labels)
if(label->originalValue().isDouble())
numerics.insert(label->originalValue().asDouble());

_nonFilteredNumericsCount = numerics.size();
}

Expand All @@ -1023,27 +1028,31 @@ stringvec Column::nonFilteredLevels()
{
if (_nonFilteredLevels.empty())
{
stringset levels;
stringset levels;
for(size_t r=0; r<_data->rowCount(); r++)
if(_data->filter()->filtered()[r])
{
if(_ints[r] != Label::DOUBLE_LABEL_VALUE)
{
Label * label = labelByIntsId(_ints[r]);
if(label && !label->isEmptyValue())
levels.insert(label->label());
levels.insert(label->label());
}
else if(!isEmptyValue(_dbls[r]))
levels.insert(ColumnUtils::doubleToString(_dbls[r]));
}

// Use the right label order
for (std::string& label : _labelsTemp)
if (levels.find(label) != levels.end())
_nonFilteredLevels.push_back(label);
}
if(!_data->filter()->shouldDropLevels())
for(Label * label : _labels)
levels.insert(label->label());

// Use the right label order
for (std::string& label : _labelsTemp)
if (levels.find(label) != levels.end())
_nonFilteredLevels.push_back(label);
}

return _nonFilteredLevels;
return _nonFilteredLevels;
}

void Column::nonFilteredCountersReset()
Expand Down
3 changes: 3 additions & 0 deletions Desktop/data/filtermodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ void FilterModel::setDropLevels(bool dropLevels)
DataSetPackage::filter()->setDropLevels(dropLevels);
emit dropLevelsChanged();
emit refreshAllCompCols();
emit refreshAllAnalyses();

emit filterUpdated();
}

bool FilterModel::_setRFilter(const QString& newRFilter)
Expand Down

0 comments on commit ded1fd5

Please sign in to comment.