[squeak-dev] The Trunk: Collections-fbs.555.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Dec 30 10:04:14 UTC 2013


Frank Shearar uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-fbs.555.mcz

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

Name: Collections-fbs.555
Author: fbs
Time: 30 December 2013, 9:59:59.491 am
UUID: 3b044956-1e6b-3e4e-a427-7fd939032a30
Ancestors: Collections-fbs.554

Move Transcripter out of Collections to a new home, in System-Recovery.

=============== Diff against Collections-fbs.554 ===============

Item was changed:
  WriteStream subclass: #TranscriptStream
  	instanceVariableNames: 'lastChar'
  	classVariableNames: 'AccessSema'
  	poolDictionaries: ''
  	category: 'Collections-Streams'!
  
+ !TranscriptStream commentStamp: 'fbs 12/30/2013 09:53' prior: 0!
+ This class is a much simpler implementation of Transcript protocol that supports multiple views and very simple conversion to morphic.  Because it inherits from Stream, it is automatically compatible with code that is designed to write to streams.!
- !TranscriptStream commentStamp: '<historical>' prior: 0!
- This class is a much simpler implementation of Transcript protocol that supports multiple views and very simple conversion to morphic.  Because it inherits from Stream, it is automatically compatible with code that is designe to write to streams.!

Item was removed:
- ReadWriteStream subclass: #Transcripter
- 	instanceVariableNames: 'frame para'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'Collections-Streams'!
- 
- !Transcripter commentStamp: '<historical>' prior: 0!
- Transcripter is a dog-simple scrolling stream with display.  It is intended to operate with no support from MVC or color in a minimal, or headless version of Squeak.  No attention has been paid to appearance or performance.!

Item was removed:
- ----- Method: Transcripter class>>emergencyEvaluator (in category 'utilities') -----
- emergencyEvaluator
- 	(Transcripter newInFrame: (0 at 0 corner: 320 at 200))
- 		show: 'Type ''revert'' to revert your last method change.
- Type ''exit'' to exit the emergency evaluator.';
- 		readEvalPrint!

Item was removed:
- ----- Method: Transcripter class>>newInFrame: (in category 'instance creation') -----
- newInFrame: frame
- "
- (Transcripter newInFrame: (0 at 0 extent: 100 at 200))
- 	nextPutAll: 'Hello there'; endEntry;
- 	cr; print: 355.0/113; endEntry;
- 	readEvalPrint.
- "
- 	| transcript |
- 	transcript := self on: (String new: 100).
- 	transcript initInFrame: frame.
- 	^ transcript clear!

Item was removed:
- ----- Method: Transcripter class>>startTranscriptProcess (in category 'instance creation') -----
- startTranscriptProcess   "Transcripter startTranscriptProcess"
- 	| activeProcess |
- 	Transcript := self newInFrame: Display boundingBox.
- 	activeProcess := [Transcript readEvalPrint.
- 					Smalltalk processShutDownList: true; quitPrimitive]
- 						newProcess
- 					priority: Processor userSchedulingPriority.
- 	activeProcess resume.
- 	Processor terminateActive
- !

Item was removed:
- ----- Method: Transcripter>>black (in category 'private') -----
- black
- 	Display depth = 1 ifTrue: [^ Bitmap with: 16rFFFFFFFF "Works without color support"].
- 	^ Color black!

Item was removed:
- ----- Method: Transcripter>>clear (in category 'accessing') -----
- clear
- 	Display fill: (frame insetBy: -2) fillColor: self black;
- 			fill: frame fillColor: self white.
- 	self on: (String new: 100); endEntry!

Item was removed:
- ----- Method: Transcripter>>confirm: (in category 'command line') -----
- confirm: queryString 
- 
- 	| choice |
- 	[choice := self request: queryString , '
- Please type yes or no followed by return'.
- 	choice first asUppercase = $Y ifTrue: [^ true].
- 		choice first asUppercase = $N ifTrue: [^ false]] repeat!

Item was removed:
- ----- Method: Transcripter>>endEntry (in category 'accessing') -----
- endEntry
- 	| c d cb |
- 	c := self contents.
- 	Display extent ~= DisplayScreen actualScreenSize ifTrue:
- 		["Handle case of user resizing physical window"
- 		DisplayScreen startUp.
- 		frame := frame intersect: Display boundingBox.
- 		^ self clear; show: c].
- 	Project current displayTranscripter: self.
- 	d := para compositionRectangle bottom - frame bottom.
- 	d > 0 ifTrue:
- 		["Scroll up to keep all contents visible"
- 		cb := para characterBlockAtPoint: para compositionRectangle topLeft
- 											+ (0@(d+para lineGrid)).
- 		self on: (c copyFrom: cb stringIndex to: c size).
- 		readLimit:= position:= collection size.
- 		^ self endEntry].
- !

Item was removed:
- ----- Method: Transcripter>>initInFrame: (in category 'initialization') -----
- initInFrame: rect
- 	frame := rect insetBy: 2.  "Leave room for border"
- 	Project current initializeParagraphForTranscripter: self
- !

Item was removed:
- ----- Method: Transcripter>>readEvalPrint (in category 'command line') -----
- readEvalPrint
- 	| line okToRevert |
- 	okToRevert := true.
- 	[#('quit' 'exit' 'done' ) includes: (line := self request: '>')]
- 		whileFalse:
- 		[line = 'revert'
- 		ifTrue: [okToRevert
- 			ifTrue: [RecentMessages default revertMostRecent.
- 					self cr; show: 'reverted: ' , RecentMessages default mostRecent.
- 					okToRevert := false]
- 			ifFalse: [self cr; show: 'Only one level of revert currently supported']]
- 		ifFalse: [self cr; show: ([Compiler evaluate: line] ifError: [:err :ex | err])]]!

Item was removed:
- ----- Method: Transcripter>>request: (in category 'command line') -----
- request: prompt
- 	| startPos char contents | 
- 	self cr; show: prompt.
- 	startPos := position.
- 	[[Sensor keyboardPressed] whileFalse.
- 	(char := Sensor keyboard) = Character cr]
- 		whileFalse:
- 		[char = Character backspace
- 			ifTrue: [readLimit := position := (position - 1 max: startPos)]
- 			ifFalse: [self nextPut: char].
- 		self endEntry].
- 	contents := self contents.
- 	^ contents copyFrom: startPos + 1 to: contents size!

Item was removed:
- ----- Method: Transcripter>>show: (in category 'accessing') -----
- show: anObject
- 	self nextPutAll: anObject asString; endEntry!

Item was removed:
- ----- Method: Transcripter>>white (in category 'private') -----
- white
- 	Display depth = 1 ifTrue: [^ Bitmap with: 0 "Works without color support"].
- 	^ Color white!



More information about the Squeak-dev mailing list