[squeak-dev] The Inbox: System-ct.1223.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Mar 10 17:19:44 UTC 2021


A new version of System was added to project The Inbox:
http://source.squeak.org/inbox/System-ct.1223.mcz

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

Name: System-ct.1223
Author: ct
Time: 10 March 2021, 6:19:36.587559 pm
UUID: 4d3c6ad5-a6b9-b44b-8145-87e91f5c90a2
Ancestors: System-mt.1221

Makes the extent of the annotation setup window dynamic. With the next annotation request that is added, the current space will be too small.

=============== Diff against System-mt.1221 ===============

Item was changed:
  ----- Method: Preferences class>>annotationEditingWindow (in category 'support - misc') -----
  annotationEditingWindow
  	"Answer a window affording editing of annotations"
+ 	| info standardHeight standardWidth aPanel ins outs current aWindow aButton |
- 	| aPanel ins outs current aWindow aButton info standardHeight standardWidth |
- 	standardHeight := 200.
- 	standardWidth := (2 sqrt reciprocal * standardHeight) rounded.
  	Smalltalk isMorphic
  		ifFalse: [self error: 'annotations can be edited only in morphic'].
+ 	
+ 	info := self annotationInfo.
+ 	standardHeight := 20 * info size min: self currentWorld height * 0.8 max: 100.
+ 	standardWidth := (2 sqrt reciprocal * standardHeight) rounded.
  	aPanel := AlignmentMorph newRow extent: 2 * standardWidth @ standardHeight.
  	ins := AlignmentMorph newColumn extent: standardWidth @ standardHeight.
  	ins color: Color green muchLighter.
  	ins enableDrop: true;
  		 beSticky.
  	outs := AlignmentMorph newColumn extent: standardWidth @ standardHeight.
  	outs color: Color red muchLighter.
  	outs enableDrop: true;
  		 beSticky.
  	aPanel addMorph: outs;
  		 addMorphFront: ins.
  	outs position: ins position + (standardWidth @ 0).
  	current := self defaultAnnotationRequests.
- 	info := self annotationInfo.
  	current
  		do: [:sym | | pair aMorph | 
  			pair := info
  						detect: [:aPair | aPair first == sym].
  			aMorph := StringMorph new contents: pair first.
  			aMorph setBalloonText: pair last.
  			aMorph enableDrag: true.
  			aMorph
  				on: #startDrag
  				send: #startDrag:with:
  				to: aMorph.
  			ins addMorphBack: aMorph].
  	info
  		do: [:aPair | (current includes: aPair first)
  				ifFalse: [| aMorph |
  					aMorph := StringMorph new contents: aPair first.
  					aMorph setBalloonText: aPair last.
  					aMorph enableDrag: true.
  					aMorph
  						on: #startDrag
  						send: #startDrag:with:
  						to: aMorph.
  					outs addMorph: aMorph]].
  	aPanel layoutChanged.
  	aWindow := SystemWindowWithButton new setLabel: 'Annotations'.
  	aButton := SimpleButtonMorph new target: Preferences;
  				 actionSelector: #acceptAnnotationsFrom:;
  				
  				arguments: (Array with: aWindow);
  				 label: 'apply';
  				 borderWidth: 0;
  				 borderColor: Color transparent;
  				 color: Color transparent.
  	aButton submorphs first color: Color blue.
  	aButton setBalloonText: 'After moving all the annotations you want to the left (green) side, and all the ones you do NOT want to the right (pink) side, hit this "apply" button to have your choices take effect.'.
  	aWindow buttonInTitle: aButton;
  		 adjustExtraButton.
  	^ aPanel wrappedInWindow: aWindow"Preferences annotationEditingWindow openInHand"!



More information about the Squeak-dev mailing list