--- a/Tools_ProjectList.st Wed Oct 18 13:10:37 2006 +0200
+++ b/Tools_ProjectList.st Wed Oct 18 13:11:24 2006 +0200
@@ -9,7 +9,6 @@
other person. No title to or ownership of the software is
hereby transferred.
"
-
"{ Package: 'stx:libtool' }"
"{ NameSpace: Tools }"
@@ -212,7 +211,7 @@
!ProjectList methodsFor:'change & update'!
delayedUpdate:something with:aParameter from:changedObject
- |cls sel pkg mthd newSel|
+ |cls sel pkg mthd newSel allIdx|
self inSlaveModeOrInvisible
"/ (self slaveMode value == true)
@@ -238,7 +237,12 @@
listValid == true ifFalse:[
self updateList.
].
- newSel := changedObject value collect:[:val | projectList value indexOf:val].
+ allIdx := projectList value indexOf:(self class nameListEntryForALL).
+ newSel := changedObject value
+ collect:[:val | |i|
+ i := projectList value indexOf:val.
+ i == 0 ifTrue:[allIdx] ifFalse:[i]]
+ thenSelect:[:idx | idx ~~ 0].
newSel ~= self selectionIndexHolder value ifTrue:[
self selectionIndexHolder value:newSel
].
@@ -323,8 +327,8 @@
].
super delayedUpdate:something with:aParameter from:changedObject
- "Created: / 17.2.2000 / 23:41:02 / cg"
- "Modified: / 26.2.2000 / 01:21:49 / cg"
+ "Created: / 17-02-2000 / 23:41:02 / cg"
+ "Modified: / 17-10-2006 / 18:43:40 / cg"
!
selectionChangedByClick
@@ -356,45 +360,63 @@
].
].
super update:something with:aParameter from:changedObject
+
+ "Modified: / 17-10-2006 / 18:40:17 / cg"
! !
!ProjectList methodsFor:'drag & drop'!
canDropContext:aDropContext
- |methodsOrClasses package|
+ |objects package|
+
+ objects := aDropContext dropObjects collect:[:obj | obj theObject].
- methodsOrClasses := aDropContext dropObjects collect:[:obj | obj theObject].
- (methodsOrClasses conform:[:aMethodOrClass | (aMethodOrClass isMethod or:[aMethodOrClass isClass]) ]) ifFalse:[^ false].
+ (self objectsAreClassFiles:objects) ifTrue:[^ true].
+
+ (objects conform:[:aMethodOrClass | (aMethodOrClass isMethod or:[aMethodOrClass isClass]) ]) ifFalse:[^ false].
package := self packageAtTargetPointOf:aDropContext.
package isNil ifTrue:[^ false].
- (methodsOrClasses contains:[:aMethodOrClass | aMethodOrClass package ~= package]) ifFalse:[^ false].
+ (objects contains:[:aMethodOrClass | aMethodOrClass package ~= package]) ifFalse:[^ false].
^ true
- "Modified: / 13-09-2006 / 11:45:38 / cg"
+ "Modified: / 17-10-2006 / 18:30:32 / cg"
!
doDropContext:aDropContext
- |package methodsOrClasses methods classes|
+ |package objects methods classes|
- methodsOrClasses := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
- (methodsOrClasses conform:[:something | (something isMethod or:[something isClass])]) ifFalse:[^ self].
-
- methods := methodsOrClasses select:[:something | something isMethod].
- classes := methodsOrClasses select:[:something | something isClass].
+ objects := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
+ (objects conform:[:something | (something isMethod or:[something isClass])]) ifTrue:[
+ methods := objects select:[:something | something isMethod].
+ classes := objects select:[:something | something isClass].
- package := self packageAtTargetPointOf:aDropContext.
- package notNil ifTrue:[
- methods notEmpty ifTrue:[
- self masterApplication moveMethods:methods toProject:package.
+ package := self packageAtTargetPointOf:aDropContext.
+ package notNil ifTrue:[
+ methods notEmpty ifTrue:[
+ self masterApplication moveMethods:methods toProject:package.
+ ].
+ classes notEmpty ifTrue:[
+ self masterApplication moveClasses:classes toProject:package.
+ ]
].
- classes notEmpty ifTrue:[
- self masterApplication moveClasses:classes toProject:package.
- ]
+ ^ self
].
- "Modified: / 13-09-2006 / 11:45:59 / cg"
+ (objects conform:[:something | something isFilename]) ifTrue:[
+ |p|
+
+ p := (self selectedProjects value ? #()) firstIfEmpty:Project noProjectID.
+
+ Class packageQuerySignal answer:p
+ do:[
+ self dropClassFiles:objects.
+ ].
+ ^ self
+ ].
+
+ "Modified: / 17-10-2006 / 18:34:43 / cg"
!
packageAtTargetPointOf:aDropContext
@@ -784,5 +806,5 @@
!ProjectList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.26 2006-09-22 14:43:41 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.27 2006-10-18 11:11:24 cg Exp $'
! !