Commit ef3d86b
BUG: Ensure that the min/max values can be reached in ctkDoubleSlider and ctkDoubleRangeSlider
The minimum and maximum values were not always reachable in ctkDoubleSlider and ctkDoubleRangeSlider widgets when moved the slider to the minimum or maximum position.
For example:
```
lo = -1024
hi = 2000
step = (hi - lo) / 1000.
thresholdSlider = ctk.ctkRangeWidget()
thresholdSlider.spinBoxAlignment = qt.Qt.AlignTop
thresholdSlider.setRange(lo, hi)
thresholdSlider.singleStep = step
thresholdSlider.show()
# Impossible to reach 2000.0
slider = ctk.ctkDoubleSlider()
slider.minimum = lo
slider.maximum = hi
slider.singleStep = step
slider.show()
slider.connect("valueChanged(double)", lambda v: print(v))
# Impossible to reach 2000.0
```
The problem was that the integer slider range was determined by rounding, which could result in the integer slider range not covering the entire value range.
Fixed the problem by extending the integer slider range when it did not fully cover the value range.
Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>1 parent 681e208 commit ef3d86b
File tree
5 files changed
+113
-33
lines changed- Libs/Widgets
- Testing/Cpp
5 files changed
+113
-33
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
61 | 87 | | |
62 | 88 | | |
63 | 89 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
226 | | - | |
227 | | - | |
228 | 226 | | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
229 | 239 | | |
230 | 240 | | |
231 | 241 | | |
232 | 242 | | |
233 | 243 | | |
234 | 244 | | |
235 | | - | |
236 | | - | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
237 | 250 | | |
238 | 251 | | |
239 | 252 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
| |||
157 | 158 | | |
158 | 159 | | |
159 | 160 | | |
160 | | - | |
| 161 | + | |
161 | 162 | | |
162 | 163 | | |
163 | 164 | | |
| |||
180 | 181 | | |
181 | 182 | | |
182 | 183 | | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
183 | 201 | | |
184 | 202 | | |
185 | 203 | | |
| |||
226 | 244 | | |
227 | 245 | | |
228 | 246 | | |
229 | | - | |
| 247 | + | |
230 | 248 | | |
231 | 249 | | |
232 | 250 | | |
233 | | - | |
| 251 | + | |
234 | 252 | | |
235 | 253 | | |
236 | 254 | | |
237 | 255 | | |
238 | | - | |
| 256 | + | |
239 | 257 | | |
240 | 258 | | |
241 | 259 | | |
| |||
268 | 286 | | |
269 | 287 | | |
270 | 288 | | |
271 | | - | |
| 289 | + | |
272 | 290 | | |
273 | 291 | | |
274 | 292 | | |
275 | | - | |
| 293 | + | |
276 | 294 | | |
277 | 295 | | |
278 | 296 | | |
279 | 297 | | |
280 | | - | |
| 298 | + | |
281 | 299 | | |
282 | 300 | | |
283 | 301 | | |
| |||
319 | 337 | | |
320 | 338 | | |
321 | 339 | | |
322 | | - | |
| 340 | + | |
323 | 341 | | |
324 | 342 | | |
325 | 343 | | |
326 | | - | |
| 344 | + | |
327 | 345 | | |
328 | 346 | | |
329 | 347 | | |
330 | | - | |
| 348 | + | |
331 | 349 | | |
332 | 350 | | |
333 | 351 | | |
334 | | - | |
| 352 | + | |
335 | 353 | | |
336 | 354 | | |
337 | 355 | | |
338 | | - | |
339 | | - | |
| 356 | + | |
340 | 357 | | |
341 | 358 | | |
342 | 359 | | |
| |||
787 | 804 | | |
788 | 805 | | |
789 | 806 | | |
790 | | - | |
791 | | - | |
| 807 | + | |
| 808 | + | |
792 | 809 | | |
793 | 810 | | |
794 | 811 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
69 | 70 | | |
70 | 71 | | |
71 | 72 | | |
| |||
167 | 168 | | |
168 | 169 | | |
169 | 170 | | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
170 | 188 | | |
171 | 189 | | |
172 | 190 | | |
| |||
236 | 254 | | |
237 | 255 | | |
238 | 256 | | |
239 | | - | |
| 257 | + | |
240 | 258 | | |
241 | 259 | | |
242 | 260 | | |
| |||
365 | 383 | | |
366 | 384 | | |
367 | 385 | | |
368 | | - | |
| 386 | + | |
369 | 387 | | |
370 | 388 | | |
371 | 389 | | |
| |||
529 | 547 | | |
530 | 548 | | |
531 | 549 | | |
532 | | - | |
533 | | - | |
534 | | - | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
535 | 553 | | |
536 | 554 | | |
537 | 555 | | |
| |||
556 | 574 | | |
557 | 575 | | |
558 | 576 | | |
559 | | - | |
560 | | - | |
| 577 | + | |
| 578 | + | |
561 | 579 | | |
562 | 580 | | |
563 | 581 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
372 | 372 | | |
373 | 373 | | |
374 | 374 | | |
| 375 | + | |
375 | 376 | | |
376 | 377 | | |
377 | 378 | | |
378 | 379 | | |
379 | 380 | | |
380 | 381 | | |
381 | 382 | | |
382 | | - | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
383 | 388 | | |
384 | 389 | | |
| 390 | + | |
385 | 391 | | |
386 | 392 | | |
387 | 393 | | |
| |||
0 commit comments