--- 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:[