David T. Lewis uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-dtl.103.mcz==================== Summary ====================
Name: ST80-dtl.103
Author: dtl
Time: 10 February 2010, 5:50:52.685 pm
UUID: 40d2429b-a12d-460b-aa93-7204569c95f6
Ancestors: ST80-dtl.102
Handle #saveContents update from Workspace in PluggableTextView. Removes MVC/Morphic dependency in Workspace.
Handle #close update from TranscriptStream in PluggableTextView. Removes MVC/Morphic dependency in Workspace.
Add PluggableTextView>>isTextView to support TranscriptStream>>countOpenTranscripts without #isKindOf: tests on MVC and Morphic views.
=============== Diff against ST80-dtl.102 ===============
Item was changed:
----- Method: PluggableTextView>>update: (in category 'updating') -----
update: aSymbol
"Refer to the comment in View|update:. Do nothing if the given symbol does not match any action. "
aSymbol == #wantToChange ifTrue:
[self canDiscardEdits ifFalse: [self promptForCancel]. ^ self].
aSymbol == #flash ifTrue: [^ controller flash].
aSymbol == getTextSelector ifTrue: [^ self updateDisplayContents].
aSymbol == getSelectionSelector ifTrue: [^ self setSelection: self getSelection].
aSymbol == #clearUserEdits ifTrue: [^ self hasUnacceptedEdits: false].
(aSymbol == #autoSelect and: [getSelectionSelector ~~ nil]) ifTrue:
[ParagraphEditor abandonChangeText. "no replacement!!"
^ controller setSearch: model autoSelectString;
againOrSame: true].
aSymbol == #appendEntry ifTrue:
[^ controller doOccluded: [controller appendEntry]].
aSymbol == #clearText ifTrue:
[^ controller doOccluded:
[controller changeText: Text new]].
aSymbol == #bs ifTrue:
[^ controller doOccluded:
[controller bsText]].
aSymbol == #codeChangedElsewhere ifTrue:
+ [^ self hasEditingConflicts: true].
+ aSymbol == #saveContents ifTrue:
+ [^self controller saveContentsInFile].
+ aSymbol == #close ifTrue:
+ [^self topView controller closeAndUnscheduleNoTerminate]
- [^ self hasEditingConflicts: true]
!
Item was added:
+ ----- Method: PluggableTextView>>isTextView (in category 'testing') -----
+ isTextView
+ "True if the reciever is a view on a text model, such as a view on a TranscriptStream"
+ ^true!