Commit b945716
committed
[Win32] Encapsulate ToolItem's access to tool bar image lists
ToolItem manipulated ToolBar's three normal/hot/disabled ImageLists
directly: reading them via ToolBar's getters, creating them inline
when absent, and calling add()/put() on each of them itself. This
spread the bookkeeping for a single item's images across both
classes and made ToolItem responsible for details that are really
ToolBar's to own, such as lazily creating the image lists sized to
the first image added.
With this change, ToolBar exposes addImage/putImage/clearImage
instead, and ToolItem goes through these instead of touching
ImageList directly. ToolBar's internal representation (three
separate ImageList fields, and their existing
setImageList/setHotImageList/setDisabledImageList synchronization
methods) is otherwise unchanged.
This is a behavior-preserving refactoring: the image lists are still
created, filled and synchronized with the same values as before.
The disabledImageList != null guard in ToolItem.updateImages is
dropped rather than moved: in that branch the item already has an
image index, so all three image lists necessarily exist, as they are
only ever created together in addImage and cleared together in
destroyItem and releaseWidget.
Related to
#34661 parent bb1b092 commit b945716
2 files changed
Lines changed: 57 additions & 44 deletions
Lines changed: 45 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
| 58 | + | |
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| |||
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
146 | 174 | | |
147 | 175 | | |
148 | 176 | | |
| |||
199 | 227 | | |
200 | 228 | | |
201 | 229 | | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
202 | 234 | | |
203 | 235 | | |
204 | 236 | | |
| |||
869 | 901 | | |
870 | 902 | | |
871 | 903 | | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
872 | 916 | | |
873 | 917 | | |
874 | 918 | | |
| |||
Lines changed: 12 additions & 43 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
535 | 535 | | |
536 | 536 | | |
537 | 537 | | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
| 538 | + | |
544 | 539 | | |
545 | 540 | | |
546 | 541 | | |
| |||
1099 | 1094 | | |
1100 | 1095 | | |
1101 | 1096 | | |
1102 | | - | |
1103 | | - | |
1104 | | - | |
1105 | 1097 | | |
1106 | | - | |
1107 | | - | |
1108 | | - | |
1109 | | - | |
1110 | | - | |
1111 | | - | |
1112 | | - | |
1113 | | - | |
1114 | | - | |
1115 | | - | |
1116 | | - | |
1117 | 1098 | | |
1118 | 1099 | | |
1119 | 1100 | | |
| |||
1134 | 1115 | | |
1135 | 1116 | | |
1136 | 1117 | | |
1137 | | - | |
1138 | | - | |
1139 | | - | |
1140 | | - | |
1141 | | - | |
1142 | | - | |
| 1118 | + | |
1143 | 1119 | | |
1144 | 1120 | | |
1145 | | - | |
1146 | | - | |
1147 | | - | |
1148 | | - | |
1149 | | - | |
1150 | | - | |
1151 | | - | |
1152 | | - | |
1153 | | - | |
1154 | | - | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
1155 | 1129 | | |
1156 | 1130 | | |
1157 | | - | |
1158 | 1131 | | |
1159 | 1132 | | |
1160 | 1133 | | |
| |||
1167 | 1140 | | |
1168 | 1141 | | |
1169 | 1142 | | |
1170 | | - | |
1171 | | - | |
1172 | | - | |
1173 | | - | |
1174 | | - | |
1175 | | - | |
| 1143 | + | |
| 1144 | + | |
1176 | 1145 | | |
1177 | 1146 | | |
1178 | 1147 | | |
| |||
0 commit comments