#FEATURE by cg
class: DictionaryInspectorView
more filtering
added:
#doHideNonRefObjectReferences
#doShowNonRefObjectReferences
changed:
#fieldMenu
#indexListForNameSpace
#initialize
--- a/DictionaryInspectorView.st Thu Jan 25 19:32:18 2018 +0100
+++ b/DictionaryInspectorView.st Thu Jan 25 20:08:07 2018 +0100
@@ -19,7 +19,7 @@
instanceVariableNames:'keys hideClassVars hideClasses hideUnloadedClasses hideAliases
hideNilValues hideLiteralValues hideColorsAndImages
hideSignalInstances hideEmptyCollections hideFreeSemaphores
- hideCollectionsHoldingOnlyLiterals'
+ hideCollectionsHoldingOnlyLiterals hideNonRefObjectReferences'
classVariableNames:''
poolDictionaries:''
category:'Interface-Inspector'
@@ -96,6 +96,7 @@
hideEmptyCollections := false.
hideFreeSemaphores := false.
hideCollectionsHoldingOnlyLiterals := false.
+ hideNonRefObjectReferences := false.
! !
!DictionaryInspectorView methodsFor:'menu'!
@@ -230,6 +231,15 @@
('Hide Collections of Literals' doHideCollectionsHoldingOnlyLiterals )
).
].
+ hideNonRefObjectReferences == true ifTrue:[
+ items := items , #(
+ ('Show References to Simple Objects' doShowNonRefObjectReferences )
+ ).
+ ] ifFalse:[
+ items := items , #(
+ ('Hide References to Simple Objects' doHideNonRefObjectReferences )
+ ).
+ ].
] ifFalse:[
items := #(
@@ -397,6 +407,11 @@
self reinspect
!
+doHideNonRefObjectReferences
+ hideNonRefObjectReferences := true.
+ self reinspect
+!
+
doHideSignalInstances
hideSignalInstances := true.
self reinspect
@@ -485,6 +500,11 @@
self reinspect
!
+doShowNonRefObjectReferences
+ hideNonRefObjectReferences := false.
+ self reinspect
+!
+
doShowSignalInstances
hideSignalInstances := false.
self reinspect
@@ -677,8 +697,14 @@
].
(hidden not and:[hideCollectionsHoldingOnlyLiterals == true]) ifTrue:[
o isNil ifTrue:[ o := inspectedObject at:k ifAbsent:nil ].
- (o isCollection and:[o conform:[:el | el isLiteral]]) ifTrue:[
- hidden := true
+ (o isCollection) ifTrue:[
+ (o conform:[:el | el isLiteral]) ifTrue:[
+ hidden := true
+ ] ifFalse:[
+ (o conform:[:el | el isCollection and:[el conform:[:subEl | subEl isLiteral]]]) ifTrue:[
+ hidden := true
+ ].
+ ].
].
].
(hidden not and:[hideFreeSemaphores == true]) ifTrue:[
@@ -689,6 +715,15 @@
hidden := true
].
].
+ (hidden not and:[hideNonRefObjectReferences == true]) ifTrue:[
+ o isNil ifTrue:[ o := inspectedObject at:k ifAbsent:nil ].
+ ((o class == Point)
+ or:[(o class == Rectangle)
+ or:[(o class == Object)]]
+ ) ifTrue:[
+ hidden := true
+ ].
+ ].
hidden ifFalse:[keys add:k]
].