diff --git a/uppsrc/CtrlLib/ArrayCtrl.cpp b/uppsrc/CtrlLib/ArrayCtrl.cpp index 82b78268f..7a3275ef4 100644 --- a/uppsrc/CtrlLib/ArrayCtrl.cpp +++ b/uppsrc/CtrlLib/ArrayCtrl.cpp @@ -2261,10 +2261,15 @@ struct ArrayCtrl::RowOrder : public ArrayCtrl::Order { } }; -void ArrayCtrl::Sort(int (*compare)(const Vector& v1, const Vector& v2)) { +void ArrayCtrl::Sort(int from, int count, int (*compare)(const Vector& v1, const Vector& v2)) +{ RowOrder io; io.compare = compare; - Sort(io); + Sort(from, count, io); +} + +void ArrayCtrl::Sort(int (*compare)(const Vector& v1, const Vector& v2)) { + Sort(0, GetCount(), compare); } struct ArrayCtrl::ItemOrder : public ArrayCtrl::Order { diff --git a/uppsrc/CtrlLib/ArrayCtrl.h b/uppsrc/CtrlLib/ArrayCtrl.h index 71fd9b944..f7f924992 100644 --- a/uppsrc/CtrlLib/ArrayCtrl.h +++ b/uppsrc/CtrlLib/ArrayCtrl.h @@ -471,6 +471,8 @@ public: void Sort(const ArrayCtrl::Order& order); void Sort(int from, int count, const ArrayCtrl::Order& order); void Sort(int (*compare)(const Vector& v1, const Vector& v2)); + void Sort(int from, int count, + int (*compare)(const Vector& v1, const Vector& v2)); void Sort(int ii, int (*compare)(const Value& v1, const Value& v2) = StdValueCompare); void Sort(Id id, int (*compare)(const Value& v1, const Value& v2)