class: Tools::ProjectList
authorClaus Gittinger <cg@exept.de>
Thu, 05 Feb 2015 00:15:15 +0100
changeset 15201 4b6a65f302f2
parent 15200 9e2705b68633
child 15202 31fdbb042c81
class: Tools::ProjectList added: #postBuildProjectListView: changed: #aspectSelectors #windowSpec dragging of packages.
Tools__ProjectList.st
--- a/Tools__ProjectList.st	Wed Feb 04 23:34:40 2015 +0100
+++ b/Tools__ProjectList.st	Thu Feb 05 00:15:15 2015 +0100
@@ -95,79 +95,84 @@
      the UIPainter may not be able to read the specification."
 
     "
-     UIPainter new openOnClass:ProjectList andSelector:#windowSpec
-     ProjectList new openInterface:#windowSpec
-     ProjectList open
+     UIPainter new openOnClass:Tools::ProjectList andSelector:#windowSpec
+     Tools::ProjectList new openInterface:#windowSpec
+     Tools::ProjectList open
     "
 
     <resource: #canvas>
 
     ^ 
-     #(#FullSpec
-        #name: #windowSpec
-        #window: 
-       #(#WindowSpec
-          #label: 'ProjectList'
-          #name: 'ProjectList'
-          #min: #(#Point 0 0)
-          #bounds: #(#Rectangle 13 23 313 323)
-        )
-        #component: 
-       #(#SpecCollection
-          #collection: #(
-           #(#SequenceViewSpec
-              #name: 'List'
-              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
-              #tabable: true
-              #model: #selectionIndexHolder
-              #menu: #menuHolder
-              #hasHorizontalScrollBar: true
-              #hasVerticalScrollBar: true
-              #miniScrollerHorizontal: true
-              #isMultiSelect: true
-              #valueChangeSelector: #selectionChangedByClick
-              #useIndex: true
-              #sequenceList: #projectNameList
-              #doubleClickChannel: #doubleClickChannel
-              #properties: 
-             #(#PropertyListDictionary
-                #dragArgument: nil
-                #dropArgument: nil
-                #canDropSelector: #canDropContext:
-                #dropSelector: #doDropContext:
-              )
-            )
+    #(FullSpec
+       name: windowSpec
+       window: 
+      (WindowSpec
+         label: 'ProjectList'
+         name: 'ProjectList'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 300 300)
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (SequenceViewSpec
+             name: 'List'
+             layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+             tabable: true
+             model: selectionIndexHolder
+             menu: menuHolder
+             hasHorizontalScrollBar: true
+             hasVerticalScrollBar: true
+             miniScrollerHorizontal: true
+             isMultiSelect: true
+             valueChangeSelector: selectionChangedByClick
+             useIndex: true
+             sequenceList: projectNameList
+             doubleClickChannel: doubleClickChannel
+             postBuildCallback: postBuildProjectListView:
+             properties: 
+            (PropertyListDictionary
+               canDropSelector: canDropContext:
+               dropArgument: nil
+               dropSelector: doDropContext:
+               dragArgument: nil
+             )
            )
-
-        )
-      )
-
-    "Created: / 17.2.2000 / 23:45:47 / cg"
-    "Modified: / 17.2.2000 / 23:47:53 / cg"
+          )
+        
+       )
+     )
 ! !
 
-!ProjectList class methodsFor:'queries-plugin'!
+!ProjectList class methodsFor:'plugIn spec'!
 
 aspectSelectors
-    ^ #( 
-        environmentHolder
-        #(#doubleClickChannel #action )
-        immediateUpdate 
-        selectedProjects 
-        menuHolder 
-        outGeneratorHolder 
-        inGeneratorHolder 
-        selectionChangeCondition
-        updateTrigger
-        forceGeneratorTrigger
-        hideUnloadedClasses
-        organizerMode
-        slaveMode
-       )
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this. If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "Return a description of exported aspects;
+     these can be connected to aspects of an embedding application
+     (if this app is embedded in a subCanvas)."
 
-    "Created: / 17-02-2000 / 23:46:18 / cg"
-    "Modified: / 25-02-2000 / 22:32:10 / cg"
-    "Modified: / 24-02-2014 / 10:37:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    ^ #(
+        #(doubleClickChannel action)
+        #environmentHolder
+        #forceGeneratorTrigger
+        #hideUnloadedClasses
+        #immediateUpdate
+        #inGeneratorHolder
+        #menuHolder
+        #organizerMode
+        #outGeneratorHolder
+        #selectedProjects
+        #selectionChangeCondition
+        #slaveMode
+        #updateTrigger
+      ).
+
 ! !
 
 !ProjectList methodsFor:'accessing'!
@@ -680,6 +685,17 @@
     "Created: / 14-12-2010 / 15:41:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+postBuildProjectListView:projectListView
+    projectListView allowDrag:true.
+    projectListView 
+        dragObjectConverter:[:obj :idx | 
+            |project|
+
+            project := projectList value at:idx.
+            DropObject newProject:project.
+        ].
+!
+
 release
     super release.
 
@@ -1029,10 +1045,10 @@
 !ProjectList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectList.st,v 1.73 2015-01-31 12:47:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectList.st,v 1.74 2015-02-04 23:15:15 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectList.st,v 1.73 2015-01-31 12:47:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectList.st,v 1.74 2015-02-04 23:15:15 cg Exp $'
 ! !