A more ergonomic NumberBox?

Hi all -
I’m continually frustrated with the clunkiness of my NumberBoxes in SC. For any number of projects, it makes sense to be able to move between more precise adjustments and broader adjustment without having to access the keyboard.

Revisiting the old mailing list, I started working with a little snippet of code that attempts to track the mouse on the X-axis. It works a little like this:
~numBox = {|parent, rect, font, fontsize, maxDecimals|
var itex, divide = rect.width/maxDecimals;
itex = NumberBox(parent, rect)
.font_(Font(font, fontsize))
.maxDecimals_(5)
.mouseDownAction_{|m, x, y|
(itex.value>0).if
{case
{ x<=(divide1.5) } { itex.scroll_step_(1) }
{ x>=(divide
1.5) && (x<=(divide2)) } {itex.scroll_step_(0.1) }
{ x>=(divide
2) && (x<=(divide3)) } {itex.scroll_step_(0.01) }
{ x>=(divide
3) }{ itex.scroll_step_(0.001) }}}
.mouseUpAction_{itex.value};
};

Unfortunately, this doesn’t account for a variety of things… Based on font and number value, there would need to be constant adjustment of the proportions. I also suspect “speed” of motion would be an ideal calculation…

I was wondering if anyone has “solved” this problem - Max/MSP’s number boxes seem to be a gold standard - are there Quarks or anything equivalent that anyone has shared?