checkin from browser
authorClaus Gittinger <cg@exept.de>
Tue, 30 Mar 1999 21:09:38 +0200
changeset 1099 965cfbbf4bf2
parent 1098 5f4b4338a68f
child 1100 bf884041701f
checkin from browser
ProjectBrowser.st
--- a/ProjectBrowser.st	Tue Mar 30 20:59:37 1999 +0200
+++ b/ProjectBrowser.st	Tue Mar 30 21:09:38 1999 +0200
@@ -917,11 +917,11 @@
        #(#WindowSpec
           #label: 'ProjectBrowser'
           #name: 'ProjectBrowser'
-          #layout: #(#LayoutFrame 218 0 107 0 781 0 497 0)
+          #layout: #(#LayoutFrame 216 0 173 0 779 0 563 0)
           #level: 0
           #min: #(#Point 10 10)
           #max: #(#Point 1024 768)
-          #bounds: #(#Rectangle 218 107 782 498)
+          #bounds: #(#Rectangle 216 173 780 564)
           #menu: #mainMenu
           #usePreferredExtent: false
           #returnIsOKInDialog: true
@@ -945,7 +945,7 @@
                 #collection: #(
                  #(#SelectionInTreeViewSpec
                     #name: 'TreeList1'
-                    #model: #selectedTreeNode
+                    #model: #selectedTreeNodeHolder
                     #menu: #itemMenuHolder
                     #performer: #itemMenuPerformer
                     #hasHorizontalScrollBar: true
@@ -955,6 +955,7 @@
                     #showDirectoryIndicatorForRoot: false
                     #showDirectoryIndicator: true
                     #valueChangeSelector: #itemSelected:
+                    #doubleClickSelector: #itemDoubleClicked:
                     #hierarchicalList: #projectTreeHolder
                     #selectConditionSelector: #selectionChangeAllowed
                     #highlightMode: #label
@@ -1433,6 +1434,14 @@
      )
 ! !
 
+!ProjectBrowser methodsFor:'accessing'!
+
+selectedTreeNode
+    "automatically generated by UIPainter ..."
+
+    ^ self selectedTreeNodeHolder value
+! !
+
 !ProjectBrowser methodsFor:'aspects'!
 
 browseClass
@@ -1440,7 +1449,7 @@
 
     self hasClassNodeSelected ifFalse:[^ self].
 
-    node := self selectedTreeNode value.
+    node := self selectedTreeNode.
     className := node contents value.
     cls := Smalltalk at:className.
     cls isNil ifTrue:[
@@ -1805,13 +1814,13 @@
     "Created: / 23.3.1999 / 14:18:05 / cg"
 !
 
-selectedTreeNode
+selectedTreeNodeHolder
     "automatically generated by UIPainter ..."
 
     |holder|
 
-    (holder := builder bindingAt:#selectedTreeNode) isNil ifTrue:[
-        builder aspectAt:#selectedTreeNode put:(holder :=  ValueHolder new).
+    (holder := builder bindingAt:#selectedTreeNodeHolder) isNil ifTrue:[
+        builder aspectAt:#selectedTreeNodeHolder put:(holder :=  ValueHolder new).
     ].
     ^ holder.
 ! !
@@ -1933,7 +1942,7 @@
 currentProject
     |node|
 
-    node := self selectedTreeNode value.
+    node := self selectedTreeNode.
     node isNil ifTrue:[^ nil].
 
     [node notNil and:[node isProjectNode not]] whileTrue:[
@@ -1949,7 +1958,7 @@
 hasClassNodeSelected
     |selectedNode|
 
-    selectedNode := self selectedTreeNode value.
+    selectedNode := self selectedTreeNode.
     selectedNode isNil ifTrue:[^ false].
 
     ^ selectedNode contents isAssociation
@@ -1960,7 +1969,7 @@
 hasClassesNodeSelected
     |selectedNode|
 
-    selectedNode := self selectedTreeNode value.
+    selectedNode := self selectedTreeNode.
     selectedNode isNil ifTrue:[^ false].
 
     ^ selectedNode contents == #classes
@@ -1968,14 +1977,14 @@
 !
 
 hasNodeSelected
-    ^ self selectedTreeNode value notNil
+    ^ self selectedTreeNode notNil
 
 !
 
 hasProjectNodeSelected
     |selectedNode|
 
-    selectedNode := self selectedTreeNode value.
+    selectedNode := self selectedTreeNode.
     selectedNode isNil ifTrue:[^ false].
 
     ^ selectedNode isProjectNode
@@ -1985,7 +1994,7 @@
 hasSubProjectsNodeSelected
     |selectedNode|
 
-    selectedNode := self selectedTreeNode value.
+    selectedNode := self selectedTreeNode.
     selectedNode isNil ifTrue:[^ false].
 
     ^ selectedNode contents == #subprojects
@@ -2104,7 +2113,7 @@
 
     p := self currentProject.
     p notNil ifTrue:[
-        self selectedTreeNode value contents == #comment ifTrue:[
+        self selectedTreeNode contents == #comment ifTrue:[
             self rightCanvasTextHolder value:p comment.
         ].
 
@@ -2176,7 +2185,7 @@
     self selectedProjectInPrerequisites value:nil.
     self selectedRequiredProjectInPrerequisites value:nil.
 
-    selectedNode := self selectedTreeNode value.
+    selectedNode := self selectedTreeNode.
     selectedNode isNil ifTrue:[
         self setupCanvasForNoSelection.
         ^ self
@@ -2287,6 +2296,21 @@
     self readAspectsFromProject
 !
 
+itemDoubleClicked:index
+    |node className cls|
+
+    self hasClassNodeSelected ifTrue:[
+        node := self selectedTreeNode.
+        className := node contents value.
+        cls := Smalltalk at:className.
+        cls isNil ifTrue:[
+            self information:'The class is not (yet) loaded'.
+            ^ self
+        ].
+        SystemBrowser browseClass:cls.
+    ].
+!
+
 itemSelected:index
     |item action|
 
@@ -2327,7 +2351,7 @@
     |project selectedNode|
 
     self hasProjectNodeSelected ifTrue:[
-        selectedNode := self selectedTreeNode value.
+        selectedNode := self selectedTreeNode.
         project := selectedNode contents.
 
         Project current:project.
@@ -2352,7 +2376,7 @@
 newSubProject
     |selectedNode subProjectsNode newNode parentProject newProject|
 
-    selectedNode := self selectedTreeNode value.
+    selectedNode := self selectedTreeNode.
 
     self hasProjectNodeSelected ifTrue:[
         parentProject := selectedNode contents.
@@ -2403,7 +2427,7 @@
     |projectToRemove selectedNode subNode newNode parentNode parentProject newProject|
 
     self hasProjectNodeSelected ifTrue:[
-        selectedNode := self selectedTreeNode value.
+        selectedNode := self selectedTreeNode.
         projectToRemove := selectedNode contents.
 
         (self confirm:'Really remove the project ?') ifTrue:[
@@ -2419,7 +2443,7 @@
     |nm selectedNode selectedProject|
 
     self hasProjectNodeSelected ifTrue:[
-        selectedNode := self selectedTreeNode value.
+        selectedNode := self selectedTreeNode.
         selectedProject := selectedNode contents.
 
         nm := Dialog 
@@ -2472,7 +2496,7 @@
 
     self currentCanvasHolder value:(self class rightCanvasSpecForEditableText).
 
-    node := self selectedTreeNode value.
+    node := self selectedTreeNode.
     className := node contents value.
     cls := Smalltalk at:className.
     cls isNil ifTrue:[