GraphiteEditor / GraphiteEditor/Graphite

Tracking Issue: Improve the NumberInput widget UX

Aperta
#313 4 commenti 3 reazioni 1 assegnatario Rivendicata da @Keavon Vedi su GitHub
Web
Lingua principale
Rust
Stelle
27.2k
Fork
1.3k
Merge medio
20h 5m
PR unite (30g)
57

Descrizione

The NumberInput widget should support more common ways of modifying numerical widgets, namely:

- [x] Dragging left/right to adjust the value (#1468)
- [x] When dragging, Shift slows it down by adjusting the next order of magnitude of less precision and Ctrl snaps to increments of the current order of magnitude of precision (#1468)
- [x] When dragging, Escape and right click abort the change (#1468)
- [x] Add an integrated label to be shown on the left side, with the value on the right side, instead of the default value-centered display
- [x] #1471
- [x] Holding down the mouse button on the arrow to change it multiple times; this should probably work like key repeat, with an initial delay and a constant rate of repetition (#2276)
- [ ] While editing the number field, Up/Down arrows should increment/decrement by 1 and Shift+Up/Down by 10
- [ ] Hover mouse over it to copy and paste value
- [ ] Hover mouse over and hit Backspace to reset the value to its default
- [ ] Hover mouse over and hit - to negate the current value
- [ ] Hover mouse over it and hit Enter key to start editing (like clicking)
- [ ] Hover mouse over it and hit / to set the value to its reciprocal
- [ ] Hover mouse over it and Ctrl+scroll wheel to increment/decrement the value
- [ ] Detect and clean up floating point imprecision with numbers like `123.450000000000003` or `0.9999999999997` using a heuristic to convert those to `123.45` and `1.0`.
- [ ] Precision issues with values greater than JS's `Number.MAX_SAFE_INTEGER` (`9007199254740991`) which is still less than Rust's `u64`. Typing certain values like `9007199254740995` and `9007199254740997` both get turned into nearby values like `9007199254740995` for some but not all values. This means we need to use `bigint` more consistently throughout the entire pipeline in the frontend.
- [ ] Unit conversions in the input boxes, blocked on #586

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.