Matthew Fulmer uploaded a new version of DeltaStreams-UI to project DeltaStreams: http://www.squeaksource.com/DeltaStreams/DeltaStreams-UI-mtf.5.mcz
==================== Summary ====================
Name: DeltaStreams-UI-mtf.5 Author: mtf Time: 30 May 2008, 12:06:44 pm UUID: 99627652-5268-4b1d-bf06-297e485cd80c Ancestors: DeltaStreams-UI-mtf.4
imported some extension methods got left behind during the package split
Implemented seletion preservation across editor changes
=============== Diff against DeltaStreams-UI-mtf.4 ===============
Item was added: + ----- Method: Rectangle>>scaleFractionalFrom:to: (in category '*DeltaStreams-UI') ----- + scaleFractionalFrom: rect1 to: rect2 + "Produce a rectangle stretched according to the stretch from rect1 to rect2" + ^ (origin scaleFractionalFrom: rect1 to: rect2) + corner: (corner scaleFractionalFrom: rect1 to: rect2)!
Item was changed: ----- Method: DSDeltaStreamBrowser>>preserveSelectionAround: (in category 'as yet unclassified') ----- preserveSelectionAround: aBlock + "saves the selected category/class/protocol/method, evaluates the block, and restores the selection. This method creates many duplicate change notifications. You probably want to wrap it with #queueChangesDuring:" - "saves the selected category/class/protocol/method, evaluates the block, and restores the selection"
+ | category class meta protocol selector | [ + category := self selectedSystemCategoryName. + class := self selectedClass. + meta := self metaClassIndicated. + protocol := self selectedMessageCategoryName. + selector := self selectedMessageName. + aBlock value. + ] ensure: [ + self selectSystemCategoryNamed: category. + self selectClass: class. + self metaClassIndicated: meta. + protocol ifNotNil: [self selectMessageCategoryNamed: protocol]. + self selectedMessageName: selector. + ]! - aBlock value - " - self selectCategoryForClass: classEditor theNonMetaClass. - self selectClass: classEditor theNonMetaClass. - self metaClassIndicated: classEditor isMeta. - self selectMessageCategoryNamed: methodEditor category. - self selectedMessageName: methodEditor selector. - "!
Item was added: + ----- Method: Point>>scaleFractionalFrom:to: (in category '*DeltaStreams-UI') ----- + scaleFractionalFrom: rect1 to: rect2 + "Produce a point stretched according to the stretch from rect1 to rect2" + ^ rect2 topLeft + (((x-rect1 left) * rect2 width / rect1 width) + @ ((y-rect1 top) * rect2 height / rect1 height))!
Item was added: + ----- Method: OrderedCollection>>ensureIndex:fillWith: (in category '*DeltaStreams-UI') ----- + ensureIndex: index fillWith: anObject + "Become larger if index is out of bounds, filing new elements with anObject" + | newArray newSize newLast | + index <= self size ifTrue: [^ self]. "if is within the collection size, do nothing" + newLast := index + firstIndex - 1. + newLast <= array size ifFalse: ["Must grow" + newSize := (array size + self growSize) max: (array size // 4 + newLast). + newArray := Array new: newSize. + newArray replaceFrom: 1 to: array size with: array startingAt: 1. + array := newArray]. + anObject ifNotNil: [array from: lastIndex + 1 to: newLast put: anObject]. + lastIndex := newLast. + !
Item was changed: ----- Method: DSDeltaStreamBrowser>>changeListShowAll (in category 'change list menu') ----- changeListShowAll shownChangeIndexes := nil. + self refreshSystemEditor.! - self computeSystemEditor. - self changed: #changeList. - self changed: #systemCategoryList.!
Item was added: + ----- Method: DSDeltaStreamBrowser>>refreshSystemEditor (in category 'as yet unclassified') ----- + refreshSystemEditor + "Recompute the system editor and update the view" + self queueChangesDuring: [self preserveSelectionAround: [ + self computeSystemEditor. + self changed: #changeList. + self changed: #systemCategoryList + ]]!
Item was added: + ----- Method: Browser>>selectSystemCategoryNamed: (in category '*DeltaStreams-UI') ----- + selectSystemCategoryNamed: aSymbol + + self systemCategoryListIndex: (self systemCategoryList indexOf: aSymbol) + !
Item was changed: + ----- Method: DSDeltaStreamBrowser>>computeSystemEditor (in category 'as yet unclassified') ----- - ----- Method: DSDeltaStreamBrowser>>computeSystemEditor (in category 'change list') ----- computeSystemEditor + "rebuild the system editor from the currently visible change list" delta ifNil: [self editor: nil. ^ self]. self editor: SystemEditorUIModel new. changeApplier := DSUIApplier on: self editor. changeApplier validate: self isValidating. self shownChangesDo: [:change | change applyUsing: changeApplier]!
Item was changed: ----- Method: DSDeltaStreamBrowser>>shownChangesSelectVisible: (in category 'change list') ----- shownChangesSelectVisible: aBlock "Select which changes to keep visible by evaluating aBlock with each change and its selected status" | newShownChangeIndexes | newShownChangeIndexes := OrderedCollection new. self shownChangesWithIndexAndHighlightDo: [:change :index :selected | (aBlock value: change value: selected) ifTrue: [newShownChangeIndexes add: index]]. changeListIndex := 0. changeListSelection := nil. shownChangeIndexes := newShownChangeIndexes. + self refreshSystemEditor.! - self halt. - self computeSystemEditor. - self changed: #changeList. - self changed: #systemCategoryList!
Item was added: + ----- Method: Browser>>addLowerPanesTo:at:with: (in category '*DeltaStreams-UI-override') ----- + addLowerPanesTo: window at: nominalFractions with: editString + | commentPane | + super addLowerPanesTo: window at: nominalFractions with: editString. + commentPane := self buildMorphicCommentPane. + window addMorph: commentPane fullFrame: (LayoutFrame fractions: ((0@0.6 corner: 1@1) scaleFractionalFrom: (0@0 corner: 1@1) to: nominalFractions)). + self changed: #editSelection.!