DisplayView extension in Inspector2
authorStefan Vogel <sv@exept.de>
Tue, 09 Aug 2016 12:50:09 +0200
changeset 16789 a3f528d8797d
parent 16788 c658333e6e72
child 16790 9d0de5647332
DisplayView extension in Inspector2
extensions.st
--- a/extensions.st	Tue Aug 09 04:39:24 2016 +0200
+++ b/extensions.st	Tue Aug 09 12:50:09 2016 +0200
@@ -1253,8 +1253,7 @@
 !Image methodsFor:'inspecting'!
 
 inspector2TabImage
-
-    ^self newInspector2Tab
+    ^ self newInspector2Tab
         label: 'Image';
         priority: 50;
         view: ((HVScrollableView for:ImageView) image: self; yourself)
@@ -1265,7 +1264,7 @@
 !Image methodsFor:'inspecting'!
 
 inspector2Tabs
-    ^ super inspector2Tabs , #( inspector2TabImage )
+    ^ super inspector2Tabs copyWith:#inspector2TabImage
 
     "Created: / 11-10-2011 / 17:11:21 / cg"
     "Modified: / 13-02-2015 / 21:02:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -1720,6 +1719,17 @@
 
 !Object methodsFor:'inspecting'!
 
+inspector2TabDisplayObject
+    ^ self newInspector2Tab
+        label: 'DisplayObject';
+        priority: 50;
+        view: ((HVScrollableView for:DisplayObjectView) model: self; yourself)
+
+    "Created: / 11-10-2011 / 17:12:01 / cg"
+! !
+
+!Object methodsFor:'inspecting'!
+
 inspector2TabForBasicInspect
     "a tab, showing the old basic inspector"
 
@@ -1765,6 +1775,12 @@
                 ifTrue:[#( inspector2TabCommon inspector2TabForBasicInspect )]
                 ifFalse:[#( inspector2TabCommon )].
 
+    ((self class whichClassIncludesSelector:#displayOn:x:y:) ~~ Object
+     or:[(self class whichClassIncludesSelector:#displayOn:x:y:opaque:) ~~ Object
+     or:[(self class whichClassIncludesSelector:#displayOpaqueOn:x:y:) ~~ Object]]) ifTrue:[
+        tabs := tabs copyWith:#inspector2TabDisplayObject.
+    ].
+
     "/ Workaround for stc bug
     ((self class lookupMethodFor: #inspector2TabClass) annotationAt: #inspector2Tab) isNil ifTrue:[ 
         tabs := tabs copyWith:#inspector2TabClass