[squeak-dev] The Inbox: Tools-fbs.224.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Apr 4 22:15:33 UTC 2010


A new version of Tools was added to project The Inbox:
http://source.squeak.org/inbox/Tools-fbs.224.mcz

==================== Summary ====================

Name: Tools-fbs.224
Author: fbs
Time: 5 April 2010, 12:15:06.808 am
UUID: 2c35ecbd-6dc6-a740-a277-35fc659def4e
Ancestors: Tools-fbs.223

Constant height buttons for the "predebug" Debugger dialog.

=============== Diff against Tools-fbs.223 ===============

Item was changed:
  ----- Method: Debugger>>buildNotifierWith:label:message: (in category 'toolbuilder') -----
  buildNotifierWith: builder label: label message: messageString
  	| windowSpec listSpec textSpec panelSpec quads |
  	windowSpec := builder pluggableWindowSpec new.
  	windowSpec model: self.
  	windowSpec extent: 450 @ 156. "nice and wide to show plenty of the error msg"
  	windowSpec label: label.
  	windowSpec children: OrderedCollection new.
  
  	panelSpec := builder pluggablePanelSpec new.
  	panelSpec children: OrderedCollection new.
  	quads := self preDebugButtonQuads.
  	(self interruptedContext selector == #doesNotUnderstand:) ifTrue: [
  		quads := quads copyWith: 
  			{ 'Create'. #createMethod. #magenta. 'create the missing method' }
  	].
  	quads do:[:spec| | buttonSpec |
  		buttonSpec := builder pluggableButtonSpec new.
  		buttonSpec model: self.
  		buttonSpec label: spec first.
  		buttonSpec action: spec second.
  		buttonSpec help: spec fourth.
+ 		buttonSpec frame: self preDebugButtonQuadFrame. 
  		panelSpec children add: buttonSpec.
  	].
  	panelSpec layout: #horizontal. "buttons"
+ 	panelSpec frame: self preDebugButtonQuadFrame.
- 	panelSpec frame: (0 at 0 corner: 1 at 0.2).
  	windowSpec children add: panelSpec.
  
  	Preferences eToyFriendly | messageString notNil ifFalse:[
  		listSpec := builder pluggableListSpec new.
  		listSpec 
  			model: self;
  			list: #contextStackList; 
  			getIndex: #contextStackIndex; 
  			setIndex: #debugAt:; 
+ 			frame: self contextStackFrame.
- 			frame: (0 at 0.2 corner: 1 at 1).
  		windowSpec children add: listSpec.
  	] ifTrue:[
  		message := messageString.
  		textSpec := builder pluggableTextSpec new.
  		textSpec 
  			model: self;
  			getText: #preDebugMessageString; 
  			setText: nil; 
  			selection: nil; 
  			menu: #debugProceedMenu:;
+ 			frame: self contextStackFrame.
- 			frame: (0 at 0.2corner: 1 at 1).
  		windowSpec children add: textSpec.
  	].
  
  	^windowSpec!

Item was added:
+ ----- Method: Debugger>>preDebugButtonQuadFrame (in category 'toolbuilder') -----
+ preDebugButtonQuadFrame
+ 	^LayoutFrame new
+ 		leftFraction: 0 offset: 0;
+ 		topFraction: 0 offset: 0;
+ 		rightFraction: 1 offset: 0;
+ 		bottomFraction: 0 offset: self buttonHeight.!

Item was added:
+ ----- Method: Debugger>>contextStackFrame (in category 'toolbuilder') -----
+ contextStackFrame
+ 	| spacing topOffset |
+ 	spacing := 3.
+ 	topOffset := self wantsOptionalButtons
+ 		ifTrue: [self buttonHeight + spacing]
+ 		ifFalse: [spacing].
+ 
+ 	^LayoutFrame new
+ 		leftFraction: 0 offset: 0;
+ 		topFraction: 0 offset: topOffset;
+ 		rightFraction: 1 offset: 0;
+ 		bottomFraction: 1 offset: 0!




More information about the Squeak-dev mailing list