Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ul.423.mcz ==================== Summary ==================== Name: Tools-ul.423 Author: ul Time: 4 September 2012, 2:25:58.433 am UUID: 2ca7cf6f-060f-d847-95d4-e52506e7b5e7 Ancestors: Tools-ul.422 - enh: IndentingListItemMorph's color is set by its complextContent's preferred and highlighted colors instead of hardcoded black. - enh: PointerExplorerWrapper is gray instead of black if the wrapped item only has a weak reference to the object. The downside is that when the element is highlighted the text is hardly readable. It's because #highlightingColor is not taking into account the selection's color. - enh: #highlightingColor is never nil, so don't check for that Note: there are two different highlighting mechanisms. See #highlightColor vs #highlightingColor =============== Diff against Tools-ul.422 =============== Item was added: + ----- Method: IndentingListItemMorph>>defaultColor (in category 'initialization') ----- + defaultColor + + ^complexContents + ifNil: [ super defaultColor ] + ifNotNil: [ complexContents preferredColor ]! Item was changed: ----- Method: IndentingListItemMorph>>highlight (in category 'private-container protocol') ----- highlight + self color: complexContents highlightingColor. - complexContents highlightingColor ifNotNil: [self color: complexContents highlightingColor]. self changed. ! Item was changed: ----- Method: IndentingListItemMorph>>unhighlight (in category 'drawing') ----- unhighlight + self color: complexContents preferredColor. - complexContents highlightingColor ifNotNil: [self color: Color black]. self changed. ! Item was changed: ObjectExplorerWrapper subclass: #PointerExplorerWrapper + instanceVariableNames: 'weakOnly' - instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Tools-Explorer'! !PointerExplorerWrapper commentStamp: 'avi 8/21/2004 19:58' prior: 0! A subclass of ObjectExplorerWrapper for use with PointerExplorer. #contents is overridden to work backwards: it returns wrappers for the objects pointing to item rather than for the objects that item points to.! Item was changed: ----- Method: PointerExplorerWrapper>>contents (in category 'accessing') ----- contents "Return the wrappers with the objects holding references to item. Eldest objects come first, weak only referencers are at the end and have parentheses around their identity hash." | objects weakOnlyReferences | objects := item inboundPointersExcluding: { self. model }. weakOnlyReferences := OrderedCollection new. objects removeAllSuchThat: [ :each | each class == self class or: [ each class == PointerExplorer or: [ (each class == MethodContext and: [ each receiver class == PointerExplorer ] ) or: [ (each pointsOnlyWeaklyTo: item) ifTrue: [ weakOnlyReferences add: each. true ] ifFalse: [ false ] ] ] ] ]. ^(objects replace: [ :each | self class with: each name: each identityHash asString model: item ]) addAll: (weakOnlyReferences replace: [ :each | + (self class with: each name: '(', each identityHash asString, ')' model: item) + weakOnly: true; + yourself ]); - self class with: each name: '(', each identityHash asString, ')' model: item ]); yourself! Item was added: + ----- Method: PointerExplorerWrapper>>isWeakOnly (in category 'testing') ----- + isWeakOnly + + ^weakOnly ifNil: [ false ] "This #ifNil: message is only here to avoid errors when updating an image with opened PointerExplorers."! Item was added: + ----- Method: PointerExplorerWrapper>>preferredColor (in category 'accessing') ----- + preferredColor + + ^self isWeakOnly + ifTrue: [ Color gray ] + ifFalse: [ Color black ]! Item was added: + ----- Method: PointerExplorerWrapper>>weakOnly: (in category 'accessing') ----- + weakOnly: aBoolean + + weakOnly := aBoolean! |
Free forum by Nabble | Edit this page |