Tools__Inspector2Tab.st
branchjv
changeset 17379 028adf14bc05
parent 16727 639ebd184cf4
parent 17266 86241d1b895d
child 17459 9f54cb54204c
--- a/Tools__Inspector2Tab.st	Wed Jan 25 19:02:59 2017 +0000
+++ b/Tools__Inspector2Tab.st	Wed Feb 01 11:36:30 2017 +0000
@@ -36,6 +36,64 @@
 "
 ! !
 
+!Inspector2Tab class methodsFor:'special instance creation'!
+
+toBrowseClass:aClass selector:initialSelectorOrNil label:label
+    "create and return an inspector tab containing
+     a browser on aClass (and optional initialSelector).
+     This is a utility to be used by inspector2TabXXX methods, which want to embed a clas browser."
+     
+    |makeView view|
+
+    makeView := 
+        [
+            |spec browser navigationState canvas|
+
+
+            (view isNil ifTrue:[
+                "/ spec := #singleClassBrowserSpec.
+                spec := #multipleClassBrowserSpec.
+
+                browser := Tools::NewSystemBrowser new.
+                browser isEmbeddedBrowser:true.
+                browser createBuilder.
+
+                navigationState := browser navigationState.
+                navigationState canvasType:spec.
+                browser browserCanvasType:spec.
+
+                canvas := browser browserCanvas value.
+                canvas builder:(browser builder).
+                navigationState canvas:canvas.
+                "/ browser switchToClassHierarchyView.
+                "/ browser showInheritedMethods.
+
+                navigationState classList value:(aClass theNonMetaclass withAllSuperclasses).
+                navigationState meta value:(aClass isMetaclass).
+                browser classListGenerator value:(aClass theNonMetaclass withAllSuperclasses).
+                browser sortByNameAndInheritance value:true.
+                browser
+                    selectClass:aClass;
+                    selectProtocol: (Tools::BrowserList nameListEntryForALL). 
+                browser switchToClass:aClass selector:initialSelectorOrNil updateHistory: false.
+                view := ApplicationSubView new client: browser spec: spec.
+                "/ sigh must be done after postbuild
+                navigationState classListApplication addOwnerClasses value:false.
+            ]).
+            view
+        ].
+
+    ^ self new
+            priority: 0;
+            label:label;
+            viewHolder: makeView;
+            yourself
+
+    "
+     GenericToolbarIconLibrary systemBrowserIcon inspect
+    "
+! !
+
 !Inspector2Tab methodsFor:'accessing'!
 
 application
@@ -144,6 +202,10 @@
 
 !Inspector2Tab class methodsFor:'documentation'!
 
+version
+    ^ '$Header$'
+!
+
 version_CVS
     ^ '$Header$'
 !