Commit 1891c6e
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 16e501f commit 1891c6e
File tree
5 files changed
+225
-13
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
-13
lines changedLines changed: 50 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
199 | 199 | | |
200 | 200 | | |
201 | 201 | | |
| 202 | + | |
202 | 203 | | |
203 | 204 | | |
204 | 205 | | |
| |||
2791 | 2792 | | |
2792 | 2793 | | |
2793 | 2794 | | |
2794 | | - | |
| 2795 | + | |
2795 | 2796 | | |
2796 | 2797 | | |
2797 | 2798 | | |
| |||
2892 | 2893 | | |
2893 | 2894 | | |
2894 | 2895 | | |
2895 | | - | |
| 2896 | + | |
2896 | 2897 | | |
2897 | 2898 | | |
2898 | 2899 | | |
| |||
2976 | 2977 | | |
2977 | 2978 | | |
2978 | 2979 | | |
2979 | | - | |
2980 | | - | |
| 2980 | + | |
| 2981 | + | |
2981 | 2982 | | |
2982 | 2983 | | |
2983 | 2984 | | |
| |||
3662 | 3663 | | |
3663 | 3664 | | |
3664 | 3665 | | |
| 3666 | + | |
| 3667 | + | |
| 3668 | + | |
| 3669 | + | |
| 3670 | + | |
| 3671 | + | |
| 3672 | + | |
| 3673 | + | |
| 3674 | + | |
| 3675 | + | |
| 3676 | + | |
| 3677 | + | |
| 3678 | + | |
| 3679 | + | |
| 3680 | + | |
| 3681 | + | |
| 3682 | + | |
| 3683 | + | |
| 3684 | + | |
| 3685 | + | |
| 3686 | + | |
| 3687 | + | |
| 3688 | + | |
| 3689 | + | |
| 3690 | + | |
| 3691 | + | |
| 3692 | + | |
| 3693 | + | |
| 3694 | + | |
| 3695 | + | |
| 3696 | + | |
| 3697 | + | |
| 3698 | + | |
| 3699 | + | |
| 3700 | + | |
| 3701 | + | |
| 3702 | + | |
| 3703 | + | |
| 3704 | + | |
| 3705 | + | |
| 3706 | + | |
| 3707 | + | |
| 3708 | + | |
| 3709 | + | |
3665 | 3710 | | |
3666 | 3711 | | |
3667 | 3712 | | |
| |||
3996 | 4041 | | |
3997 | 4042 | | |
3998 | 4043 | | |
3999 | | - | |
| 4044 | + | |
4000 | 4045 | | |
4001 | 4046 | | |
4002 | 4047 | | |
| |||
Lines changed: 45 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
265 | 265 | | |
266 | 266 | | |
267 | 267 | | |
268 | | - | |
| 268 | + | |
269 | 269 | | |
270 | 270 | | |
271 | 271 | | |
| |||
285 | 285 | | |
286 | 286 | | |
287 | 287 | | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
288 | 297 | | |
289 | 298 | | |
290 | 299 | | |
| |||
683 | 692 | | |
684 | 693 | | |
685 | 694 | | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
686 | 699 | | |
687 | 700 | | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
688 | 710 | | |
689 | 711 | | |
690 | 712 | | |
| |||
715 | 737 | | |
716 | 738 | | |
717 | 739 | | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
718 | 751 | | |
719 | 752 | | |
720 | 753 | | |
| |||
1061 | 1094 | | |
1062 | 1095 | | |
1063 | 1096 | | |
1064 | | - | |
| 1097 | + | |
1065 | 1098 | | |
1066 | 1099 | | |
1067 | 1100 | | |
| |||
1109 | 1142 | | |
1110 | 1143 | | |
1111 | 1144 | | |
1112 | | - | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
1113 | 1148 | | |
1114 | 1149 | | |
1115 | 1150 | | |
1116 | 1151 | | |
1117 | 1152 | | |
1118 | 1153 | | |
1119 | 1154 | | |
1120 | | - | |
| 1155 | + | |
1121 | 1156 | | |
1122 | 1157 | | |
1123 | 1158 | | |
| |||
1248 | 1283 | | |
1249 | 1284 | | |
1250 | 1285 | | |
1251 | | - | |
| 1286 | + | |
1252 | 1287 | | |
1253 | 1288 | | |
1254 | 1289 | | |
| |||
1264 | 1299 | | |
1265 | 1300 | | |
1266 | 1301 | | |
1267 | | - | |
| 1302 | + | |
1268 | 1303 | | |
1269 | 1304 | | |
1270 | 1305 | | |
| |||
1281 | 1316 | | |
1282 | 1317 | | |
1283 | 1318 | | |
1284 | | - | |
1285 | | - | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
1286 | 1323 | | |
1287 | 1324 | | |
1288 | 1325 | | |
| |||
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