4124 |menu allViewsAndLabels| |
4124 |menu allViewsAndLabels| |
4125 |
4125 |
4126 menu := Menu new receiver: self. |
4126 menu := Menu new receiver: self. |
4127 allViewsAndLabels := self allTopViewsAndLabelsSortedFilteringWindowGroups:nil. |
4127 allViewsAndLabels := self allTopViewsAndLabelsSortedFilteringWindowGroups:nil. |
4128 allViewsAndLabels do:[:assoc | |
4128 allViewsAndLabels do:[:assoc | |
4129 |view label submenu likeThis info| |
4129 |view label submenu likeThis info item| |
4130 |
4130 |
4131 view := assoc value. |
4131 view := assoc value. |
4132 label := assoc key. |
4132 label := assoc key. |
4133 |
4133 |
4134 submenu := Menu new. |
4134 submenu := Menu new. |
4135 submenu addItem:(MenuItem new |
4135 submenu addItem:(MenuItem new |
4136 label: 'Raise Deiconified'; |
4136 label: 'Raise Deiconified'; |
4137 itemValue: [view raiseDeiconified; setForegroundWindow]; |
4137 itemValue: [view raiseDeiconified; setForegroundWindow]; |
4138 translateLabel: true). |
4138 translateLabel: true). |
4139 submenu addItem:(MenuItem new |
4139 submenu addItem:(item := MenuItem new |
4140 label: 'Iconify'; |
4140 label: 'Iconify'; |
4141 itemValue: [view collapse]; |
4141 itemValue: [view collapse]; |
4142 translateLabel: true). |
4142 translateLabel: true). |
4143 submenu addItem:(MenuItem new |
4143 view topView isCollapsed ifTrue:[ |
4144 label: 'Migrate'; |
4144 item disable |
4145 itemValue: [self migrateWindow:view]; |
4145 ]. |
4146 enabled:(view windowGroup isModal not); |
4146 submenu addItem:(MenuItem new |
4147 translateLabel: true). |
4147 label: 'Migrate...'; |
4148 |
4148 itemValue: [self migrateWindow:view]; |
4149 submenu addSeparator. |
4149 enabled:(view windowGroup isModal not); |
4150 submenu addItem:(MenuItem new |
4150 translateLabel: true). |
4151 label: 'Hardcopy'; |
4151 |
4152 itemValue: [self hardcopyOfView:view]; |
4152 submenu addSeparator. |
4153 translateLabel: true). |
4153 submenu addItem:(MenuItem new |
4154 submenu addItem:(MenuItem new |
4154 label: 'Hardcopy'; |
4155 label: 'Inspect View'; |
4155 itemValue: [self hardcopyOfView:view]; |
4156 itemValue: [view inspect]; |
4156 translateLabel: true). |
4157 translateLabel: true). |
4157 submenu addItem:(MenuItem new |
4158 submenu addItem:(MenuItem new |
4158 label: 'Inspect View'; |
4159 label: 'Inspect Application'; |
4159 itemValue: [view inspect]; |
4160 itemValue: [view application inspect]; |
4160 translateLabel: true). |
4161 enabled:(view application notNil); |
4161 submenu addItem:(MenuItem new |
4162 translateLabel: true). |
4162 label: 'Inspect Application'; |
4163 submenu addSeparator. |
4163 itemValue: [view application inspect]; |
4164 submenu addItem:(MenuItem new |
4164 enabled:(view application notNil); |
4165 label: 'Browse View Class'; |
4165 translateLabel: true). |
4166 itemValue: [view class browse]; |
4166 submenu addSeparator. |
4167 translateLabel: true). |
4167 submenu addItem:(MenuItem new |
4168 submenu addItem:(MenuItem new |
4168 label: 'Browse View Class'; |
4169 label: 'Browse Application Class'; |
4169 itemValue: [view class browse]; |
4170 itemValue: [view application class browse]; |
4170 translateLabel: true). |
4171 enabled:(view application notNil); |
4171 submenu addItem:(MenuItem new |
4172 translateLabel: true). |
4172 label: 'Browse Application Class'; |
4173 submenu addItem:(MenuItem new |
4173 itemValue: [view application class browse]; |
4174 label: 'Debug Application'; |
4174 enabled:(view application notNil); |
4175 itemValue: [Debugger openOn:view windowGroup process]; |
4175 translateLabel: true). |
4176 translateLabel: true). |
4176 submenu addItem:(MenuItem new |
4177 |
4177 label: 'Debug Application'; |
4178 submenu addSeparator. |
4178 itemValue: [Debugger openOn:view windowGroup process]; |
4179 submenu addItem:(MenuItem new |
4179 translateLabel: true). |
4180 label: 'Close'; |
4180 |
4181 itemValue: [view destroy]; |
4181 submenu addSeparator. |
4182 translateLabel: true). |
4182 submenu addItem:(MenuItem new |
4183 |
4183 label: 'Close'; |
4184 likeThis := |
4184 itemValue: [view destroy]; |
4185 allViewsAndLabels |
4185 translateLabel: true). |
4186 select:[:assoc | |
4186 |
4187 |otherView| |
4187 likeThis := |
4188 |
4188 allViewsAndLabels |
4189 otherView := assoc value. |
4189 select:[:assoc | |
4190 otherView class == view class |
4190 |otherView| |
4191 and:[ otherView application class == view application class] |
4191 |
4192 ] |
4192 otherView := assoc value. |
4193 thenCollect:[:assoc | assoc value ]. |
4193 otherView class == view class |
4194 |
4194 and:[ otherView application class == view application class] |
4195 likeThis size > 1 ifTrue:[ |
4195 ] |
4196 info := view application notNil |
4196 thenCollect:[:assoc | assoc value ]. |
4197 ifTrue:[ view application class name ] |
4197 |
4198 ifFalse:[ view class name ]. |
4198 likeThis size > 1 ifTrue:[ |
4199 info := ' ("',info,'")'. |
4199 info := view application notNil |
4200 ] ifFalse:[ |
4200 ifTrue:[ view application class name ] |
4201 info := '' |
4201 ifFalse:[ view class name ]. |
4202 ]. |
4202 info := ' ("',info,'")'. |
4203 |
4203 ] ifFalse:[ |
4204 submenu addItem:(MenuItem new |
4204 info := '' |
4205 label: ('Close all like This%1' bindWith:info); |
4205 ]. |
4206 itemValue: [likeThis do:[:eachView | eachView destroy]]; |
4206 |
4207 translateLabel: true; |
4207 submenu addItem:(MenuItem new |
4208 enabled:(likeThis size > 1)). |
4208 label: ('Close all like This%1' bindWith:info); |
4209 |
4209 itemValue: [likeThis do:[:eachView | eachView destroy]]; |
4210 menu addItem:(MenuItem new |
4210 translateLabel: true; |
4211 label: label; |
4211 enabled:(likeThis size > 1)). |
4212 submenu: submenu; |
4212 |
4213 itemValue: [view raiseDeiconified; setForegroundWindow]; |
4213 menu addItem:(MenuItem new |
4214 translateLabel: false). |
4214 label: label; |
|
4215 submenu: submenu; |
|
4216 itemValue: [view raiseDeiconified; setForegroundWindow]; |
|
4217 translateLabel: false). |
4215 ]. |
4218 ]. |
4216 |
4219 |
4217 menu findGuiResourcesIn:self. |
4220 menu findGuiResourcesIn:self. |
4218 ^menu |
4221 ^menu |
4219 |
4222 |