From 2c789973398274c950c84167960210fc7d2baa67 Mon Sep 17 00:00:00 2001 From: Benjamin Nauck Date: Tue, 1 Apr 2025 08:02:42 +0200 Subject: [PATCH] Refactor mapToInt/mapToUint --- src/Gui/SpinBox.cpp | 38 +++++++++++--------- src/Tools/plugins/widget/customwidgets.cpp | 40 ++++++++++++---------- 2 files changed, 44 insertions(+), 34 deletions(-) diff --git a/src/Gui/SpinBox.cpp b/src/Gui/SpinBox.cpp index d25b0a201c..bc26dc7658 100644 --- a/src/Gui/SpinBox.cpp +++ b/src/Gui/SpinBox.cpp @@ -292,34 +292,40 @@ public: UnsignedValidator * mValidator{nullptr}; UIntSpinBoxPrivate() = default; - uint mapToUInt( int v ) const + unsigned mapToUInt( int v ) const { - uint ui; - if ( v == std::numeric_limits::min() ) { + using int_limits = std::numeric_limits; + using uint_limits = std::numeric_limits; + + unsigned ui; + if ( v == int_limits::min() ) { ui = 0; - } else if ( v == std::numeric_limits::max() ) { - ui = std::numeric_limits::max(); + } else if ( v == int_limits::max() ) { + ui = uint_limits::max(); } else if ( v < 0 ) { - v -= std::numeric_limits::min(); - ui = static_cast(v); + v -= int_limits::min(); + ui = static_cast(v); } else { - ui = static_cast(v); - ui -= std::numeric_limits::min(); + ui = static_cast(v); + ui -= int_limits::min(); } return ui; } - int mapToInt( uint v ) const + int mapToInt( unsigned v ) const { + using int_limits = std::numeric_limits; + using uint_limits = std::numeric_limits; + int in; - if ( v == std::numeric_limits::max() ) { - in = std::numeric_limits::max(); + if ( v == uint_limits::max() ) { + in = int_limits::max(); } else if ( v == 0 ) { - in = std::numeric_limits::min(); - } else if ( v > std::numeric_limits::max() ) { - v += std::numeric_limits::min(); + in = int_limits::min(); + } else if ( v > int_limits::max() ) { + v += int_limits::min(); in = static_cast(v); } else { in = v; - in += std::numeric_limits::min(); + in += int_limits::min(); } return in; } }; diff --git a/src/Tools/plugins/widget/customwidgets.cpp b/src/Tools/plugins/widget/customwidgets.cpp index 9444ae48b4..79836644b2 100644 --- a/src/Tools/plugins/widget/customwidgets.cpp +++ b/src/Tools/plugins/widget/customwidgets.cpp @@ -1520,43 +1520,47 @@ public: UIntSpinBoxPrivate() : mValidator(0) {} - uint mapToUInt(int v) const + unsigned mapToUInt(int v) const { - using limits = std::numeric_limits; - uint ui; - if (v == limits::min()) { + using int_limits = std::numeric_limits; + using uint_limits = std::numeric_limits; + + unsigned ui; + if (v == int_limits::min()) { ui = 0; } - else if (v == limits::max()) { - ui = limits::max(); + else if (v == int_limits::max()) { + ui = uint_limits::max(); } else if (v < 0) { - v -= limits::min(); - ui = static_cast(v); + v -= int_limits::min(); + ui = static_cast(v); } else { - ui = static_cast(v); - ui -= limits::min(); + ui = static_cast(v); + ui -= int_limits::min(); } return ui; } - int mapToInt(uint v) const + int mapToInt(unsigned v) const { - using limits = std::numeric_limits; + using int_limits = std::numeric_limits; + using uint_limits = std::numeric_limits; + int in; - if (v == limits::max()) { - in = limits::max(); + if (v == uint_limits::max()) { + in = int_limits::max(); } else if (v == 0) { - in = limits::min(); + in = int_limits::min(); } - else if (v > limits::max()) { - v += limits::min(); + else if (v > int_limits::max()) { + v += int_limits::min(); in = static_cast(v); } else { in = v; - in += limits::min(); + in += int_limits::min(); } return in; }