DictionaryInspectorView.st
changeset 8403 7f6e4d9aab97
parent 8024 2eec1213d292
child 8470 2bec16caeefb
--- a/DictionaryInspectorView.st	Wed Nov 05 15:02:00 2008 +0100
+++ b/DictionaryInspectorView.st	Wed Nov 05 15:07:15 2008 +0100
@@ -12,8 +12,8 @@
 "{ Package: 'stx:libtool' }"
 
 InspectorView subclass:#DictionaryInspectorView
-	instanceVariableNames:'keys hideClassVars hideClasses hideAliases hideNilValues
-		hideLiteralValues'
+	instanceVariableNames:'keys hideClassVars hideClasses hideUnloadedClasses hideAliases
+		hideNilValues hideLiteralValues'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Interface-Inspector'
@@ -63,6 +63,19 @@
     super keyPress:key x:x y:y
 ! !
 
+!DictionaryInspectorView methodsFor:'initialization & release'!
+
+initialize
+    super initialize.
+
+    hideClassVars := false.
+    hideClasses := false.
+    hideUnloadedClasses := false.
+    hideAliases := false.
+    hideLiteralValues := false.
+    hideNilValues := false.
+! !
+
 !DictionaryInspectorView methodsFor:'menu'!
 
 fieldMenu
@@ -108,6 +121,15 @@
                            ('Hide Classes'     doHideClasses )
                        ).
         ].
+        hideUnloadedClasses == true ifTrue:[
+            items := items , #(
+                           ('Show Unloaded Classes'     doShowUnloadedClasses )
+                       ).
+        ] ifFalse:[
+            items := items , #(
+                           ('Hide UnloadedClasses'     doHideUnloadedClasses )
+                       ).
+        ].
         hideAliases == true ifTrue:[
             items := items , #(
                            ('Show Aliases'     doShowAliases )
@@ -258,6 +280,11 @@
     self reinspect
 !
 
+doHideUnloadedClasses
+    hideUnloadedClasses := true.
+    self reinspect
+!
+
 doInspectKey
     "inspect selected items key"
 
@@ -315,6 +342,11 @@
     self reinspect
 !
 
+doShowUnloadedClasses
+    hideUnloadedClasses := false.
+    self reinspect
+!
+
 showKeyReferences
     "show users of selected key (i.e. global).
      Only useful when inspecting smalltalk"
@@ -356,7 +388,8 @@
     "return a list of indexes to show in the selectionList.
      Set hasMore to true, if a '...' entry should be added."
 
-    (inspectedObject isNameSpace or:[inspectedObject isSharedPool]) ifTrue:[
+    (inspectedObject isNameSpace 
+    or:[inspectedObject isSharedPool]) ifTrue:[
         ^ self indexListForNameSpace.
     ].
 
@@ -374,63 +407,60 @@
 
     keys := SortedCollection new:1000.
 
-    (hideClassVars or:[hideClasses or:[hideAliases]]) ifTrue:[
-        inspectedObject keysDo:[:k |
-            |hidden i o|
+    inspectedObject keysDo:[:k |
+        |hidden i o|
 
-            hidden := false.
-            hideClassVars == true ifTrue:[
-                (i := k lastIndexOf:$:) ~~ 0 ifTrue:[
-                    (i > 1 and:[(k at:i-1) ~~ $:]) ifTrue:[
+        hidden := false.
+        hideClassVars == true ifTrue:[
+            (i := k lastIndexOf:$:) ~~ 0 ifTrue:[
+                (i > 1 and:[(k at:i-1) ~~ $:]) ifTrue:[
+                    hidden := true
+                ].
+            ].
+        ].
+        (hidden not and:[hideNilValues == true]) ifTrue:[
+            o isNil ifTrue:[ o := inspectedObject at:k ifAbsent:nil ].
+            o isNil ifTrue:[
+                hidden := true
+            ].
+        ].
+        (hidden not and:[hideClasses == true]) ifTrue:[
+            o isNil ifTrue:[ o := inspectedObject at:k ifAbsent:nil ].
+            o isBehavior ifTrue:[
+                inspectedObject == Smalltalk ifTrue:[
+                    o name == k ifTrue:[
+                        hidden := true
+                    ]
+                ] ifFalse:[
+                    o nameWithoutNameSpacePrefix = k ifTrue:[
+                        hidden := true
+                    ]
+                ]
+            ].
+        ].
+        (hidden not and:[hideAliases == true]) ifTrue:[
+            o isNil ifTrue:[ o := inspectedObject at:k ifAbsent:nil ].
+            o isBehavior ifTrue:[
+                inspectedObject == Smalltalk ifTrue:[
+                    o name ~~ k ifTrue:[
+                        hidden := true
+                    ]
+                ] ifFalse:[
+                    o nameWithoutNameSpacePrefix ~= k ifTrue:[
                         hidden := true
                     ].
                 ].
             ].
-            (hidden not and:[hideClasses == true]) ifTrue:[
-                o := inspectedObject at:k ifAbsent:nil.
-                o isBehavior ifTrue:[
-                    inspectedObject == Smalltalk ifTrue:[
-                        o name == k ifTrue:[
-                            hidden := true
-                        ]
-                    ] ifFalse:[
-                        o nameWithoutNameSpacePrefix = k ifTrue:[
-                            hidden := true
-                        ]
-                    ]
-                ].
+        ].
+        (hidden not and:[hideLiteralValues == true]) ifTrue:[
+self halt.
+            o isNil ifTrue:[ o := inspectedObject at:k ifAbsent:nil ].
+            o isLiteral ifTrue:[
+                hidden := true
             ].
-            (hidden not and:[hideAliases == true]) ifTrue:[
-                o := inspectedObject at:k ifAbsent:nil.
-                o isBehavior ifTrue:[
-                    inspectedObject == Smalltalk ifTrue:[
-                        o name ~~ k ifTrue:[
-                            hidden := true
-                        ]
-                    ] ifFalse:[
-                        o nameWithoutNameSpacePrefix ~= k ifTrue:[
-                            hidden := true
-                        ].
-                    ].
-                ].
-            ].
-            (hidden not and:[hideLiteralValues == true]) ifTrue:[
-                o := inspectedObject at:k ifAbsent:nil.
-                (o isLiteral) ifTrue:[
-                    hidden := true
-                ].
-            ].
-            (hidden not and:[hideNilValues == true]) ifTrue:[
-                o := inspectedObject at:k ifAbsent:nil.
-                o isNil ifTrue:[
-                    hidden := true
-                ].
-            ].
+        ].
 
-            hidden ifFalse:[keys add:k]
-        ].
-    ] ifFalse:[
-        inspectedObject keysDo:[:k | keys add:k].
+        hidden ifFalse:[keys add:k]
     ].
     ^ keys
 !
@@ -533,5 +563,5 @@
 !DictionaryInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.63 2008-03-14 10:22:40 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.64 2008-11-05 14:07:15 cg Exp $'
 ! !