@@ -821,7 +821,7 @@ void DataSetPackage::setColumnCustomEmptyValues(size_t columnIndex, const string
821821 }
822822}
823823
824- void DataSetPackage::columnsReverseValues (intset columnIndexes)
824+ void DataSetPackage::columnsReverseValues (stringset columnIndexes)
825825{
826826 columnsApply (columnIndexes, [&](Column * column)
827827 {
@@ -830,20 +830,20 @@ void DataSetPackage::columnsReverseValues(intset columnIndexes)
830830 });
831831}
832832
833- void DataSetPackage::columnsSetAutoSortForColumns (std::map<int ,bool > sortPerColumn)
833+ void DataSetPackage::columnsSetAutoSortForColumns (std::map<std::string ,bool > sortPerColumn)
834834{
835- intset cols;
835+ stringset cols;
836836 for (auto colSort : sortPerColumn)
837837 cols.insert (colSort.first );
838838
839839 columnsApply (cols, [&](Column * column, int colIdx)
840840 {
841- column->setAutoSortByValue (sortPerColumn[colIdx ]);
841+ column->setAutoSortByValue (sortPerColumn[column-> name () ]);
842842 return true ;
843843 });
844844
845845 if (cols.size () == 1 )
846- emit chooseColumn (*cols.begin ());
846+ emit chooseColumn (dataSet ()-> getColumnIndex ( *cols.begin () ));
847847}
848848
849849void DataSetPackage::columnsApply (intset columnIndexes, std::function<bool (Column * column, int col)> applyThis)
@@ -876,6 +876,26 @@ void DataSetPackage::columnsApply(intset columnIndexes, std::function<bool(Colum
876876 columnsApply (columnIndexes, [&](Column * column, int ){ return applyThis (column); });
877877}
878878
879+ void DataSetPackage::columnsApply (stringset columnNames, std::function<bool (Column * column)> applyThis)
880+ {
881+ intset columnIndexes;
882+
883+ for (auto & n : columnNames)
884+ columnIndexes.insert (getColumnIndex (n));
885+
886+ columnsApply (columnIndexes, [&](Column * column, int ){ return applyThis (column); });
887+ }
888+
889+ void DataSetPackage::columnsApply (stringset columnNames, std::function<bool (Column * column, int colIndex)> applyThis)
890+ {
891+ intset columnIndexes;
892+
893+ for (auto & n : columnNames)
894+ columnIndexes.insert (getColumnIndex (n));
895+
896+ columnsApply (columnIndexes, applyThis);
897+ }
898+
879899columnType DataSetPackage::getColumnType (size_t columnIndex) const
880900{
881901 return _dataSet && _dataSet->column (columnIndex) ? _dataSet->column (columnIndex)->type () : columnType::unknown;
0 commit comments