*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Tue, 20 Feb 2007 12:55:22 +0100
changeset 7655 5b8973eaa701
parent 7654 74d4d8b035ac
child 7656 caba1e40cd22
*** empty log message ***
NewSystemBrowser.st
Tools__NewSystemBrowser.st
--- a/NewSystemBrowser.st	Tue Feb 20 10:29:53 2007 +0100
+++ b/NewSystemBrowser.st	Tue Feb 20 12:55:22 2007 +0100
@@ -18664,31 +18664,11 @@
     self 
         generateUndoableChangeOverSelectedClasses:('Include %(singleClassNameOrNumberOfClasses) in Project (Make Compiled Class)') 
         via:[:generator :eachClass |
-            |def className newCode|
-
-            className := eachClass theNonMetaclass name.
-            def := ProjectDefinition definitionClassForPackage:eachClass package.
-            (def compiled_classNames includes:className) ifFalse:[
-                |oldSpec newSpec idx|
-
-                oldSpec := def classNamesAndAttributes.
-                idx := oldSpec findFirst:[:entry | entry first = className].
-                idx == 0 ifTrue:[
-                    newSpec := oldSpec copyWith:(Array with:className)
-                ] ifFalse:[
-                    newSpec := oldSpec copy.
-                    newSpec at:idx put:((oldSpec at:idx) copyWithout:#autoload)
-                ].
-                newCode := def classNamesAndAttributes_codeFor:newSpec.
-
-                generator  
-                    compile:newCode
-                    forClass:def theMetaclass
-                    inCategory:'description - contents'.
-            ].
+            self includeClassInProject:eachClass using:generator.
         ].
 
     "Created: / 19-02-2007 / 16:46:16 / cg"
+    "Modified: / 20-02-2007 / 10:39:30 / cg"
 !
 
 classMenuInitialize
@@ -20348,6 +20328,33 @@
     generator executeCollectedChangesNamed:(nameOfOperation expandPlaceholdersWith:dict)
 !
 
+includeClassInProject:aClass using:compiler
+    |def className newCode|
+
+    className := aClass theNonMetaclass name.
+    def := ProjectDefinition definitionClassForPackage:aClass package.
+    (def compiled_classNames includes:className) ifFalse:[
+        |oldSpec newSpec idx|
+
+        oldSpec := def classNamesAndAttributes.
+        idx := oldSpec findFirst:[:entry | entry first = className].
+        idx == 0 ifTrue:[
+            newSpec := oldSpec copyWith:(Array with:className)
+        ] ifFalse:[
+            newSpec := oldSpec copy.
+            newSpec at:idx put:((oldSpec at:idx) copyWithout:#autoload)
+        ].
+        newCode := def classNamesAndAttributes_codeFor:newSpec.
+
+        compiler
+            compile:newCode
+            forClass:def theMetaclass
+            inCategory:'description - contents'.
+    ].
+
+    "Created: / 20-02-2007 / 10:39:01 / cg"
+!
+
 moveClasses:classes toCategory:newCategory
     "change the class-category of the given classes"
 
@@ -21099,10 +21106,42 @@
     "check a bunch of classes into the source repository.
      If logInfoOrNil isNil, ask for one."
 
+    |classesNotInPackage msg|
+
     SourceCodeManagerUtilities 
         checkinClasses:aCollectionOfClasses 
         withInfo:logInfoOrNil 
         withCheck:doCheck.
+
+    classesNotInPackage := aCollectionOfClasses select:[:cls |
+                                |pkg def|
+
+                                pkg := cls package.
+                                pkg notNil ifTrue:[
+                                    def := ProjectDefinition definitionClassForPackage:pkg.
+                                ].
+                                def notNil and:[
+                                    (def compiled_classNames includes:cls name) not]
+                           ].
+    classesNotInPackage := classesNotInPackage collect:[:cls | cls theNonMetaclass].
+
+    classesNotInPackage notEmpty ifTrue:[
+        classesNotInPackage size > 1 ifTrue:[
+            msg := 'Add %2 classes to their Package definition (Make compiled) ?'
+        ] ifFalse:[
+            msg := 'Add %1 to its Package definition (Make compiled) ?'
+        ].
+        (Dialog confirm:(resources string:msg 
+                                     with:classesNotInPackage first name
+                                     with:classesNotInPackage size))
+        ifTrue:[
+            classesNotInPackage do:[:eachClass |
+                self includeClassInProject:eachClass using:Compiler
+            ].
+        ].
+    ].
+
+    "Modified: / 20-02-2007 / 10:39:45 / cg"
 !
 
 checkOutClass:aClass askForRevision:askForRevision
@@ -40663,7 +40702,7 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.1138 2007-02-20 09:29:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.1139 2007-02-20 11:55:22 cg Exp $'
 ! !
 
 NewSystemBrowser initialize!
--- a/Tools__NewSystemBrowser.st	Tue Feb 20 10:29:53 2007 +0100
+++ b/Tools__NewSystemBrowser.st	Tue Feb 20 12:55:22 2007 +0100
@@ -18664,31 +18664,11 @@
     self 
         generateUndoableChangeOverSelectedClasses:('Include %(singleClassNameOrNumberOfClasses) in Project (Make Compiled Class)') 
         via:[:generator :eachClass |
-            |def className newCode|
-
-            className := eachClass theNonMetaclass name.
-            def := ProjectDefinition definitionClassForPackage:eachClass package.
-            (def compiled_classNames includes:className) ifFalse:[
-                |oldSpec newSpec idx|
-
-                oldSpec := def classNamesAndAttributes.
-                idx := oldSpec findFirst:[:entry | entry first = className].
-                idx == 0 ifTrue:[
-                    newSpec := oldSpec copyWith:(Array with:className)
-                ] ifFalse:[
-                    newSpec := oldSpec copy.
-                    newSpec at:idx put:((oldSpec at:idx) copyWithout:#autoload)
-                ].
-                newCode := def classNamesAndAttributes_codeFor:newSpec.
-
-                generator  
-                    compile:newCode
-                    forClass:def theMetaclass
-                    inCategory:'description - contents'.
-            ].
+            self includeClassInProject:eachClass using:generator.
         ].
 
     "Created: / 19-02-2007 / 16:46:16 / cg"
+    "Modified: / 20-02-2007 / 10:39:30 / cg"
 !
 
 classMenuInitialize
@@ -20348,6 +20328,33 @@
     generator executeCollectedChangesNamed:(nameOfOperation expandPlaceholdersWith:dict)
 !
 
+includeClassInProject:aClass using:compiler
+    |def className newCode|
+
+    className := aClass theNonMetaclass name.
+    def := ProjectDefinition definitionClassForPackage:aClass package.
+    (def compiled_classNames includes:className) ifFalse:[
+        |oldSpec newSpec idx|
+
+        oldSpec := def classNamesAndAttributes.
+        idx := oldSpec findFirst:[:entry | entry first = className].
+        idx == 0 ifTrue:[
+            newSpec := oldSpec copyWith:(Array with:className)
+        ] ifFalse:[
+            newSpec := oldSpec copy.
+            newSpec at:idx put:((oldSpec at:idx) copyWithout:#autoload)
+        ].
+        newCode := def classNamesAndAttributes_codeFor:newSpec.
+
+        compiler
+            compile:newCode
+            forClass:def theMetaclass
+            inCategory:'description - contents'.
+    ].
+
+    "Created: / 20-02-2007 / 10:39:01 / cg"
+!
+
 moveClasses:classes toCategory:newCategory
     "change the class-category of the given classes"
 
@@ -21099,10 +21106,42 @@
     "check a bunch of classes into the source repository.
      If logInfoOrNil isNil, ask for one."
 
+    |classesNotInPackage msg|
+
     SourceCodeManagerUtilities 
         checkinClasses:aCollectionOfClasses 
         withInfo:logInfoOrNil 
         withCheck:doCheck.
+
+    classesNotInPackage := aCollectionOfClasses select:[:cls |
+                                |pkg def|
+
+                                pkg := cls package.
+                                pkg notNil ifTrue:[
+                                    def := ProjectDefinition definitionClassForPackage:pkg.
+                                ].
+                                def notNil and:[
+                                    (def compiled_classNames includes:cls name) not]
+                           ].
+    classesNotInPackage := classesNotInPackage collect:[:cls | cls theNonMetaclass].
+
+    classesNotInPackage notEmpty ifTrue:[
+        classesNotInPackage size > 1 ifTrue:[
+            msg := 'Add %2 classes to their Package definition (Make compiled) ?'
+        ] ifFalse:[
+            msg := 'Add %1 to its Package definition (Make compiled) ?'
+        ].
+        (Dialog confirm:(resources string:msg 
+                                     with:classesNotInPackage first name
+                                     with:classesNotInPackage size))
+        ifTrue:[
+            classesNotInPackage do:[:eachClass |
+                self includeClassInProject:eachClass using:Compiler
+            ].
+        ].
+    ].
+
+    "Modified: / 20-02-2007 / 10:39:45 / cg"
 !
 
 checkOutClass:aClass askForRevision:askForRevision
@@ -40663,7 +40702,7 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1138 2007-02-20 09:29:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1139 2007-02-20 11:55:22 cg Exp $'
 ! !
 
 NewSystemBrowser initialize!