[squeak-dev] The Trunk: Tools-mt.1106.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Jan 14 16:25:55 UTC 2022
Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.1106.mcz
==================== Summary ====================
Name: Tools-mt.1106
Author: mt
Time: 14 January 2022, 5:25:52.988796 pm
UUID: b34a81cd-911f-374c-921e-a40071c98798
Ancestors: Tools-mt.1105
Revise last commit in favor of what Christoph (ct) proposed.
Note that I am still not so sure that it is a good idea to integrate debugging tools into regular widgets like this. Warnings seem much better suited for this case, leaving the UI clean.
=============== Diff against Tools-mt.1105 ===============
Item was removed:
- Warning subclass: #MenuBuilderFailed
- instanceVariableNames: 'builderError'
- classVariableNames: ''
- poolDictionaries: ''
- category: 'Tools-Menus'!
Item was removed:
- ----- Method: MenuBuilderFailed class>>signal:for: (in category 'instance creation') -----
- signal: signalerText for: builderError
-
- ^ self suppressed
- ifTrue: [nil]
- ifFalse: [self new
- builderError: builderError;
- signal: signalerText]!
Item was removed:
- ----- Method: MenuBuilderFailed>>builderError (in category 'accessing') -----
- builderError
-
- ^ builderError!
Item was removed:
- ----- Method: MenuBuilderFailed>>builderError: (in category 'accessing') -----
- builderError: anObject
-
- builderError := anObject.!
Item was removed:
- ----- Method: MenuBuilderFailed>>defaultAction (in category 'priv handling') -----
- defaultAction
-
- super defaultAction.
- self builderError pass.!
Item was changed:
----- Method: Model>>buildMenu:withBuilders:shifted: (in category '*Tools-pluggable menus') -----
buildMenu: aMenu withBuilders: builders shifted: aBoolean
" We let every builder modify the menu. Skip erroneous builders silently.
The builder should indicate whether to abort by returning nil."
| menu |
menu := aMenu.
+ builders do: [:builder | | buildBlock |
+ buildBlock := [menu := self perform: builder method selector withEnoughArguments: {menu . aBoolean}].
+ buildBlock
+ on: Error, Warning, Halt do: [:ex |
+ menu add: ('<menu builder failed: {1}>' translated format: {ex}) action: buildBlock]].
+ ^ menu!
- builders do: [:builder |
- menu := [self perform: builder method selector withEnoughArguments: { menu . aBoolean }]
- on: Error do: [:ex |
- MenuBuilderFailed
- signal: ('Menu builder failed.\\{1}\\Proceed to debug the error. Suppress and cancel this warning to not see it again. Read on.' withCRs translated format: {ex message})
- for: ex.
- menu].
- menu ifNil: [^ aMenu]].
- ^ menu
- !
More information about the Squeak-dev
mailing list
|