Commit 72bae05
Add dirty indicator bullet style for CTabFolder tabs
When enabled via CTabFolder.setDirtyIndicatorCloseStyle(true), dirty
tabs show a filled circle at the close button location instead of the
traditional '*' prefix. The bullet transforms into the close button on
hover, matching the behavior of VS Code and similar editors.
This is opt-in (disabled by default) to preserve backward compatibility.
The feature adds:
- CTabFolder.setDirtyIndicatorCloseStyle(boolean) / getDirtyIndicatorCloseStyle()
- CTabItem.setShowDirty(boolean) / getShowDirty()
- Rendering via fillOval for cross-platform consistency
- Snippet391 demonstrating the feature
Based on the approach from PR #1632 by schneidermic0, with fixes for
the copy-paste bug, preference toggle support per PMC request, and
fillOval rendering instead of drawString for pixel-perfect results.
See: #1632
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 12b37f8 commit 72bae05
File tree
5 files changed
+225
-12
lines changed- bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom
- examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets
- tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit
5 files changed
+225
-12
lines changedLines changed: 49 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
| 203 | + | |
203 | 204 | | |
204 | 205 | | |
205 | 206 | | |
| |||
2794 | 2795 | | |
2795 | 2796 | | |
2796 | 2797 | | |
2797 | | - | |
| 2798 | + | |
2798 | 2799 | | |
2799 | 2800 | | |
2800 | 2801 | | |
| |||
2896 | 2897 | | |
2897 | 2898 | | |
2898 | 2899 | | |
2899 | | - | |
| 2900 | + | |
2900 | 2901 | | |
2901 | 2902 | | |
2902 | 2903 | | |
| |||
2980 | 2981 | | |
2981 | 2982 | | |
2982 | 2983 | | |
2983 | | - | |
| 2984 | + | |
2984 | 2985 | | |
2985 | 2986 | | |
2986 | 2987 | | |
| |||
3687 | 3688 | | |
3688 | 3689 | | |
3689 | 3690 | | |
| 3691 | + | |
| 3692 | + | |
| 3693 | + | |
| 3694 | + | |
| 3695 | + | |
| 3696 | + | |
| 3697 | + | |
| 3698 | + | |
| 3699 | + | |
| 3700 | + | |
| 3701 | + | |
| 3702 | + | |
| 3703 | + | |
| 3704 | + | |
| 3705 | + | |
| 3706 | + | |
| 3707 | + | |
| 3708 | + | |
| 3709 | + | |
| 3710 | + | |
| 3711 | + | |
| 3712 | + | |
| 3713 | + | |
| 3714 | + | |
| 3715 | + | |
| 3716 | + | |
| 3717 | + | |
| 3718 | + | |
| 3719 | + | |
| 3720 | + | |
| 3721 | + | |
| 3722 | + | |
| 3723 | + | |
| 3724 | + | |
| 3725 | + | |
| 3726 | + | |
| 3727 | + | |
| 3728 | + | |
| 3729 | + | |
| 3730 | + | |
| 3731 | + | |
| 3732 | + | |
| 3733 | + | |
| 3734 | + | |
3690 | 3735 | | |
3691 | 3736 | | |
3692 | 3737 | | |
| |||
4021 | 4066 | | |
4022 | 4067 | | |
4023 | 4068 | | |
4024 | | - | |
| 4069 | + | |
4025 | 4070 | | |
4026 | 4071 | | |
4027 | 4072 | | |
| |||
Lines changed: 46 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
363 | 363 | | |
364 | 364 | | |
365 | 365 | | |
366 | | - | |
| 366 | + | |
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
| |||
383 | 383 | | |
384 | 384 | | |
385 | 385 | | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
386 | 396 | | |
387 | 397 | | |
388 | 398 | | |
| |||
880 | 890 | | |
881 | 891 | | |
882 | 892 | | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
883 | 897 | | |
884 | 898 | | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
885 | 908 | | |
886 | 909 | | |
887 | 910 | | |
| |||
912 | 935 | | |
913 | 936 | | |
914 | 937 | | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
915 | 949 | | |
916 | 950 | | |
917 | 951 | | |
| |||
1420 | 1454 | | |
1421 | 1455 | | |
1422 | 1456 | | |
1423 | | - | |
| 1457 | + | |
1424 | 1458 | | |
1425 | 1459 | | |
1426 | 1460 | | |
| |||
1473 | 1507 | | |
1474 | 1508 | | |
1475 | 1509 | | |
1476 | | - | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
1477 | 1513 | | |
1478 | 1514 | | |
1479 | 1515 | | |
1480 | 1516 | | |
1481 | 1517 | | |
1482 | 1518 | | |
1483 | 1519 | | |
1484 | | - | |
| 1520 | + | |
1485 | 1521 | | |
1486 | 1522 | | |
1487 | 1523 | | |
| |||
1646 | 1682 | | |
1647 | 1683 | | |
1648 | 1684 | | |
1649 | | - | |
| 1685 | + | |
1650 | 1686 | | |
1651 | 1687 | | |
1652 | 1688 | | |
| |||
1662 | 1698 | | |
1663 | 1699 | | |
1664 | 1700 | | |
1665 | | - | |
| 1701 | + | |
1666 | 1702 | | |
1667 | 1703 | | |
1668 | 1704 | | |
| |||
1679 | 1715 | | |
1680 | 1716 | | |
1681 | 1717 | | |
1682 | | - | |
1683 | | - | |
| 1718 | + | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
1684 | 1722 | | |
1685 | 1723 | | |
1686 | 1724 | | |
| |||
Lines changed: 44 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
| |||
276 | 277 | | |
277 | 278 | | |
278 | 279 | | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
279 | 300 | | |
280 | 301 | | |
281 | 302 | | |
| |||
490 | 511 | | |
491 | 512 | | |
492 | 513 | | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
493 | 537 | | |
494 | 538 | | |
495 | 539 | | |
| |||
Lines changed: 66 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
| |||
76 | 78 | | |
77 | 79 | | |
78 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
79 | 99 | | |
0 commit comments