--- a/DebugView.st Thu Dec 01 09:29:26 2016 +0000
+++ b/DebugView.st Sat Dec 03 09:29:15 2016 +0000
@@ -7190,8 +7190,8 @@
|rcvr|
^ (selectedContext notNil
- and:[ (rcvr := selectedContext receiver) isView
- or:[ rcvr isKindOf: ApplicationModel ]])
+ and:[(rcvr := selectedContext receiver) isProtoObject not
+ and:[rcvr isView or:[rcvr isKindOf: ApplicationModel]]])
or:[
self canBrowseProcessesApplication
]
--- a/InspectorView.st Thu Dec 01 09:29:26 2016 +0000
+++ b/InspectorView.st Sat Dec 03 09:29:15 2016 +0000
@@ -2896,7 +2896,7 @@
s nextPutAll:' ...'.
^ s contents.
].
- s := someValue classNameWithArticle.
+ s := someValue class nameWithArticle.
displayStringMessage == #displayString ifTrue:[
s := s , ' "error in displayString: ' , ex description , '"'
] ifFalse:[
@@ -2971,10 +2971,8 @@
sel := self listEntryAt:idx.
sel isNil ifTrue:[^ someValue].
- object isProtoObject ifFalse:[
- extraAttributes := object inspectorExtraAttributes.
- ].
- (extraAttributes notNil and:[extraAttributes includesKey:sel]) ifTrue:[
+ extraAttributes := self myObjectsInspectorExtraAttributes.
+ (extraAttributes includesKey:sel) ifTrue:[
^ someValue "(extraAttributes at:sel) value" printString
].
@@ -3273,18 +3271,7 @@
!
derivedFields
- "the check below is not sufficient - if some proxy catches messages, for example.
- Therefore, we do a manual lookup here:"
-
- (object class whichClassIncludesSelector:#inspectorExtraAttributes) isNil ifTrue:[
- ^ #()
- ].
- ^ [object inspectorExtraAttributes]
- on: MessageNotUnderstood
- do: [:ex | ex return: #() ]
-
- "Created: / 17-07-2006 / 11:02:32 / cg"
- "Modified: / 29-08-2006 / 13:03:31 / cg"
+ ^ self myObjectsInspectorExtraAttributes
!
extraNamedFieldNames
@@ -3638,6 +3625,21 @@
"Created: / 16-05-2012 / 17:53:39 / cg"
!
+myObjectsInspectorExtraAttributes
+
+ "the MessageNotUnderstood check below is not sufficient - if some proxy catches messages, for example.
+ Therefore, we do a manual lookup here:"
+ (object class canUnderstand:#inspectorExtraAttributes) ifFalse:[
+ ^ #()
+ ].
+ ^ [object inspectorExtraAttributes]
+ on: MessageNotUnderstood
+ do: [:ex | ex return: #() ]
+
+ "Created: / 17-07-2006 / 11:02:32 / cg"
+ "Modified: / 29-08-2006 / 13:03:31 / cg"
+!
+
namedFieldAt:idx
|val|
@@ -3927,8 +3929,8 @@
valueForSpecialLine:line
|idx fieldEntry extraAttributes fields|
- extraAttributes := object inspectorExtraAttributes.
- (extraAttributes notNil and:[ extraAttributes includesKey:line ]) ifTrue:[
+ extraAttributes := self myObjectsInspectorExtraAttributes.
+ (extraAttributes includesKey:line) ifTrue:[
^ (extraAttributes at:line) value
].
--- a/Tools__Inspector2.st Thu Dec 01 09:29:26 2016 +0000
+++ b/Tools__Inspector2.st Sat Dec 03 09:29:15 2016 +0000
@@ -1491,13 +1491,13 @@
| tab |
[
- selector == #inspector2TabForBasicInspect ifTrue:[
- "kludge for ProtoObject, which does not implement this selector
+ (selector == #inspector2TabForBasicInspect and:[theObject isProtoObject]) ifTrue:[
+ "kludge for ProtoObject, which does neither implement this selector
nor #perform:"
tab := Tools::Inspector2Tab new
priority: 90;
label:'Basic';
- view: (InspectorView new inspect:self);
+ view: (InspectorView new inspect:theObject);
yourself
] ifFalse:[
tab := theObject perform:selector.
--- a/extensions.st Thu Dec 01 09:29:26 2016 +0000
+++ b/extensions.st Sat Dec 03 09:29:15 2016 +0000
@@ -1915,11 +1915,7 @@
"return an extra tab to be used inside an inspector"
"Use Smalltalk>>at: to trick the dependency detector"
- "/ why do we need this hack - the Tools::Inspector2Tab class and this
- "/ extension are in the same package anyway?!!
- ^(Smalltalk at: #'Tools::Inspector2Tab')
- ifNil:[self error:'Inspector2 not available!! Something is rotten...']
- ifNotNil:[(Smalltalk at: #'Tools::Inspector2Tab') new]
+ ^ Smalltalk at: #'Tools::Inspector2Tab' new.
! !
!OrderedCollection methodsFor:'misc ui support'!