do not close newProjectsNameList after selection,
authorfm
Tue, 03 Nov 2009 11:25:35 +0100
changeset 2705 64aa9ac2e8a1
parent 2704 0791984eef02
child 2706 2ab6062e33ab
do not close newProjectsNameList after selection, but after a double click or pressing Enter
Tools__ProjectBuilderAssistantApplication.st
--- a/Tools__ProjectBuilderAssistantApplication.st	Mon Nov 02 18:01:18 2009 +0100
+++ b/Tools__ProjectBuilderAssistantApplication.st	Tue Nov 03 11:25:35 2009 +0100
@@ -16,7 +16,8 @@
 		selectedStartupClass hasStartupClassSelectedHolder
 		selectedApplicationsComment buildDirectoryHolder makeProcess
 		listOfClassesInProject makeOutputWindow projectBuilder
-		newStartupClassName usedCompilerHolder listOfNewProjectsName'
+		newStartupClassName usedCompilerHolder listOfNewProjectsName
+		newProjectsNameListExtendedComboBox'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'System-Support-Projects'
@@ -1078,6 +1079,7 @@
            (SequenceViewSpec
               name: 'ReferencePoint2'
               layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+              activeHelpKey: listOfNewProjectsName
               model: newProjectsName
               hasHorizontalScrollBar: true
               hasVerticalScrollBar: true
@@ -1085,7 +1087,7 @@
               miniScrollerVertical: false
               useIndex: false
               sequenceList: listOfNewProjectsName
-              activeHelpKey: listOfNewProjectsName
+              doubleClickChannel: newProjectsNameListDoubleClickChannel
             )
            )
          
@@ -1629,6 +1631,27 @@
     ^ newProjectsName.
 !
 
+newProjectsNameListDoubleClickChannel
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+
+    |holder|
+
+    (holder := builder bindingAt:#newProjectsNameListDoubleClickChannel) isNil ifTrue:[
+        holder := TriggerValue new.
+        builder aspectAt:#newProjectsNameListDoubleClickChannel put:holder.
+        holder onChangeEvaluate:[       
+            newProjectsNameListExtendedComboBox notNil ifTrue: [
+                newProjectsNameListExtendedComboBox closeMenu.
+            ]
+        ]
+    ].
+    ^ holder.
+!
+
 newStartupClassName
     <resource: #uiAspect>
 
@@ -1792,21 +1815,24 @@
     makeOutputWindow := aView
 !
 
-postBuildNewProjectsNameListExtendedComboBox:aBox
+postBuildNewProjectsNameListExtendedComboBox:anExtendedComboBox
 
     |menu|
 
     menu := SubCanvas new.
     menu client:self spec:#newProjectsNameListSpec builder:nil.
-    aBox menuWidget:menu.
+    anExtendedComboBox closeOnSelect: false.
+    anExtendedComboBox menuWidget:menu.
 
-    aBox editor 
+    anExtendedComboBox editor 
             immediateAccept:true;
             acceptOnLeave:true;
             acceptOnLostFocus:true;
             acceptOnPointerLeave:true;
             acceptOnReturn:true;
             acceptOnTab:true.
+
+    newProjectsNameListExtendedComboBox := anExtendedComboBox.
 !
 
 postBuildWith:aBuilder