[squeak-dev] Squeak 4.5: ST80Tools-fbs.1.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jan 24 20:01:39 UTC 2014


Chris Muller uploaded a new version of ST80Tools to project Squeak 4.5:
http://source.squeak.org/squeak45/ST80Tools-fbs.1.mcz

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

Name: ST80Tools-fbs.1
Author: fbs
Time: 2 July 2013, 8:41:50.912 pm
UUID: 108ec7bc-d1f5-dd4b-9511-e7a653a71e9f
Ancestors: 

Move Tools' MVC extensions to a separate package, ST80Tools. This makes Tools independent of MVC, at the cost of requiring an extra package to reload/unload MVC.

==================== Snapshot ====================

----- Method: ParagraphEditor>>browseChangeSetsWithSelector (in category '*ST80Tools') -----
browseChangeSetsWithSelector
	"Determine which, if any, change sets have at least one change for the selected selector, independent of class"

	| aSelector |
	self lineSelectAndEmptyCheck: [^ self].
	(aSelector := self selectedSelector) == nil ifTrue: [^ view flash].
	self terminateAndInitializeAround: [ChangeSorter browseChangeSetsWithSelector: aSelector]!

----- Method: ParagraphEditor>>browseItHere (in category '*ST80Tools') -----
browseItHere
	"Retarget the receiver's window to look at the selected class, if appropriate.  3/1/96 sw"
	| aSymbol b |
	(((b := model) isKindOf: Browser) and: [b couldBrowseAnyClass])
		ifFalse: [^ view flash].
	model okToChange ifFalse: [^ view flash].
	self selectionInterval isEmpty ifTrue: [self selectWord].
	(aSymbol := self selectedSymbol) ifNil: [^ view flash].

	self terminateAndInitializeAround:
		[| foundClass |
		foundClass := (Smalltalk at: aSymbol ifAbsent: [nil]).
			foundClass ifNil: [^ view flash].
			(foundClass isKindOf: Class)
				ifTrue:
					[model selectSystemCategory: foundClass category.
		model classListIndex: (model classList indexOf: foundClass name)]]!

----- Method: ParagraphEditor>>debug:receiver:in: (in category '*ST80Tools') -----
debug: aCompiledMethod receiver: anObject in: evalContext

	| guineaPig debugger context |
	guineaPig := [
		aCompiledMethod
			valueWithReceiver: anObject
			 arguments: (evalContext ifNil: [ #() ] ifNotNil: [ { evalContext } ]) ] newProcess.
	context := guineaPig suspendedContext.
	debugger := Debugger new
		process: guineaPig
		controller: ((Smalltalk isMorphic not and: [ScheduledControllers inActiveControllerProcess])
				ifTrue: [ScheduledControllers activeController]
				ifFalse: [nil])
		context: context.
	debugger openFullNoSuspendLabel: 'Debug it'.
	[debugger interruptedContext method == aCompiledMethod]
		whileFalse: [debugger send]!

----- Method: ParagraphEditor>>debugIt (in category '*ST80Tools') -----
debugIt

	| method receiver context |
	(model respondsTo: #doItReceiver) 
		ifTrue: 
			[receiver := model doItReceiver.
			context := model doItContext]
		ifFalse:
			[receiver := context := nil].
	self lineSelectAndEmptyCheck: [^self].
	method := self compileSelectionFor: receiver in: context.
	method notNil ifTrue:
		[self debug: method receiver: receiver in: context].!

----- Method: StringHolderView>>canHaveUnacceptedEdits (in category '*ST80Tools-multi-window support') -----
canHaveUnacceptedEdits
	"Answer if the receiver is an object that can hold unaccepted edits (such as a text editor widget)"

	^true!

----- Method: StringHolderView>>unacceptedEditState (in category '*ST80Tools-multi-window support') -----
unacceptedEditState
	^hasUnacceptedEdits ifTrue: [displayContents text]!

----- Method: StringHolderView>>unacceptedEditState: (in category '*ST80Tools-multi-window support') -----
unacceptedEditState: stateOrNil
	(hasUnacceptedEdits := stateOrNil notNil) ifTrue:
		[self editString: stateOrNil]!

----- Method: ScreenController>>browseRecentLog (in category '*ST80Tools') -----
browseRecentLog
	"Open a changelist browser on changes submitted since the last snapshot.  1/17/96 sw"

	ChangeList browseRecentLog!

----- Method: ScreenController>>chooseDirtyBrowser (in category '*ST80Tools') -----
chooseDirtyBrowser
	"Put up a list of browsers with unsubmitted edits and activate the one selected by the user, if any."
	"ScheduledControllers screenController chooseDirtyBrowser"

	ScheduledControllers findWindowSatisfying:
		[:c | (c model isKindOf: Browser) and: [c model canDiscardEdits not]].
 !

----- Method: ScreenController>>openChangeManager (in category '*ST80Tools') -----
openChangeManager
	"Open a dual change sorter.  For looking at two change sets at once."
	DualChangeSorter new open!

----- Method: ScreenController>>openFile (in category '*ST80Tools') -----
openFile
	FileList openFileDirectly!

----- Method: ScreenController>>openFileList (in category '*ST80Tools') -----
openFileList
	"Create and schedule a FileList view for specifying files to access."

	FileList open!

----- Method: ScreenController>>openPackageBrowser (in category '*ST80Tools') -----
openPackageBrowser 
	"Create and schedule a Browser view for browsing code."

	PackagePaneBrowser openBrowser!

----- Method: ScreenController>>openSelectorBrowser (in category '*ST80Tools') -----
openSelectorBrowser
	"Create and schedule a selector fragment window."

	SelectorBrowser new open!

----- Method: ScreenController>>openSimpleChangeSorter (in category '*ST80Tools') -----
openSimpleChangeSorter
	ChangeSorter new open!



More information about the Squeak-dev mailing list