NewLauncher.st
changeset 12501 cf091b9c64a9
parent 12335 5281423297a8
child 12509 28d69e7e526e
child 12517 3a904476a8d2
equal deleted inserted replaced
12500:5e05cf44bd94 12501:cf091b9c64a9
  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 
  4942 ! !
  4945 ! !
  4943 
  4946 
  4944 !NewLauncher class methodsFor:'documentation'!
  4947 !NewLauncher class methodsFor:'documentation'!
  4945 
  4948 
  4946 version
  4949 version
  4947     ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.450 2013-01-26 21:04:03 cg Exp $'
  4950     ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.451 2013-03-21 20:55:36 cg Exp $'
  4948 !
  4951 !
  4949 
  4952 
  4950 version_CVS
  4953 version_CVS
  4951     ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.450 2013-01-26 21:04:03 cg Exp $'
  4954     ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.451 2013-03-21 20:55:36 cg Exp $'
  4952 !
  4955 !
  4953 
  4956 
  4954 version_SVN
  4957 version_SVN
  4955     ^ '§Id: NewLauncher.st 7772 2011-06-08 21:59:15Z vranyj1 §'
  4958     ^ '§Id: NewLauncher.st 7772 2011-06-08 21:59:15Z vranyj1 §'
  4956 ! !
  4959 ! !