--- a/NewSystemBrowser.st Fri Mar 17 15:18:07 2006 +0100
+++ b/NewSystemBrowser.st Mon Mar 20 09:40:58 2006 +0100
@@ -5093,7 +5093,13 @@
(MenuItem
enabled: hasSingleLoadedClassSelectedHolder
label: 'Initialized Instance Creation'
- itemValue: classMenuGenerateStandardInitializationMethods
+ itemValue: classMenuGenerateInitializedInstanceCreationMethods
+ translateLabel: true
+ )
+ (MenuItem
+ enabled: hasSingleLoadedClassSelectedHolder
+ label: 'Parametrized Instance Creation'
+ itemValue: classMenuGenerateParametrizedInstanceCreationMethods
translateLabel: true
)
(MenuItem
@@ -7836,6 +7842,12 @@
translateLabel: true
)
(MenuItem
+ "/ enabled: singleSelectedMethodIsSubclassResponsibility
+ label: 'Templates in all Subclasses'
+ itemValue: selectorMenuGenerateTemplateInAllSubclasses
+ translateLabel: true
+ )
+ (MenuItem
label: '-'
)
(MenuItem
@@ -17683,6 +17695,16 @@
lazyInitialization:false
!
+classMenuGenerateInitializedInstanceCreationMethods
+ "create new and initialize methods"
+
+ self
+ generateUndoableChangeOverSelectedClasses:'Initialized Instance Creation Code for %(singleClassNameOrNumberOfClasses)'
+ via:[:generator :eachClass |
+ generator createInitializedInstanceCreationMethodsIn:eachClass theNonMetaclass
+ ].
+!
+
classMenuGenerateMultiSetterMethod
"create a multi setter method for selected instvars."
@@ -17695,6 +17717,24 @@
CodeGeneratorTool createMultiSetterMethodFor:vars in:cls
!
+classMenuGenerateParametrizedInstanceCreationMethods
+ "create for: instance creation and initialize methods"
+
+ |selector|
+
+ selector := Dialog
+ requestSelector:'Name of Instance Creation Method:'
+ initialAnswer:'for:'.
+ selector isEmptyOrNil ifTrue:[^ self].
+ selector := selector asSymbol.
+
+ self
+ generateUndoableChangeOverSelectedClasses:'Parametrized Instance Creation Code for %(singleClassNameOrNumberOfClasses)'
+ via:[:generator :eachClass |
+ generator createParametrizedInstanceCreationMethodsNamed:selector in:eachClass theNonMetaclass
+ ].
+!
+
classMenuGenerateRequiredProtocol
"create required protocol (all inherited subclassResponsibility methods)"
@@ -17718,16 +17758,6 @@
lazyInitialization:false
!
-classMenuGenerateStandardInitializationMethods
- "create new and initialize methods"
-
- self
- generateUndoableChangeOverSelectedClasses:'Generate Initialization Code for %(singleClassNameOrNumberOfClasses)'
- via:[:generator :eachClass |
- generator createStandardInitializationMethodsIn:eachClass theNonMetaclass
- ].
-!
-
classMenuGenerateStandardPrintOnMethod
self
generateUndoableChangeOverSelectedClasses:'Generate PrintOn Method for %(singleClassNameOrNumberOfClasses)'
@@ -27348,8 +27378,14 @@
]
!
-selectorMenuGenerateTemplateInSubclasses
- "generate a template in every subclass for each subclassResponsibility method"
+selectorMenuGenerateTemplateInAllSubclasses
+ "generate a template in all subclasses (recursive) for each subclassResponsibility method"
+
+ self selectorMenuGenerateTemplateInClassesEnumeratedWith:#allSubclasses
+!
+
+selectorMenuGenerateTemplateInClassesEnumeratedWith:aSubclassEnumeratingSelector
+ "generate a template in some subclass for each subclassResponsibility method"
self
generateUndoableChangeOverSelectedMethods:'Generate Responsibility for %(singleMethodNameOrNumberOfMethods)'
@@ -27364,7 +27400,7 @@
parser parseMethod.
spec := Parser methodSpecificationForSelector:selector argNames:parser methodArgs.
- mclass subclasses do:[:eachSubClass |
+ (mclass perform:aSubclassEnumeratingSelector) do:[:eachSubClass |
|code|
(eachSubClass implements:selector) ifFalse:[
@@ -27378,6 +27414,12 @@
]
!
+selectorMenuGenerateTemplateInSubclasses
+ "generate a template in every subclass for each subclassResponsibility method"
+
+ self selectorMenuGenerateTemplateInClassesEnumeratedWith:#subclasses
+!
+
selectorMenuInspect
"open an inspector on the single selected method"
@@ -29018,9 +29060,9 @@
!
variablesMenuAdd:asClassVariableBoolean asValueHolder:asValueHolder
- "add a new variable."
-
- |words variableToAdd initial selectedClass boxTitle msg|
+ "add new variable(s)."
+
+ |words variablesToAdd initial selectedClass boxTitle msg|
"/ (self askIfModified) ~~ true ifTrue:[ ^ self ].
@@ -29040,33 +29082,35 @@
msg := msg
bindWith:
(asClassVariableBoolean
- ifTrue:['class']
+ ifTrue:['Class']
ifFalse:[
self meta value
- ifTrue:['class instance']
- ifFalse:['instance']
+ ifTrue:['Class Instance']
+ ifFalse:['Instance']
])
with:
(asValueHolder
- ifTrue:['valueHolder']
- ifFalse:['variable']).
-
- variableToAdd :=
+ ifTrue:['ValueHolder(s)']
+ ifFalse:['Variable(s)']).
+
+ variablesToAdd :=
Dialog
request:(resources string:msg)
title:(resources string:boxTitle)
initialAnswer:initial.
- variableToAdd size == 0 ifTrue:[^ self].
+ variablesToAdd size == 0 ifTrue:[^ self].
selectedClass := self theSingleSelectedClass.
- asClassVariableBoolean
- ifTrue:[
+
+ variablesToAdd := variablesToAdd asCollectionOfWords.
+ variablesToAdd do:[:variableToAdd |
+ asClassVariableBoolean ifTrue:[
self codeMenuAddClassVariable:variableToAdd inClass:selectedClass asValueHolder:asValueHolder
- ]
- ifFalse:[
+ ] ifFalse:[
self codeMenuAddInstanceVariable:variableToAdd inClass:selectedClass asValueHolder:asValueHolder
]
+ ]
!
variablesMenuAddClassVariable
@@ -31217,6 +31261,7 @@
self class addToHistory:aClass selector:aSelector.
self normalLabel.
+ self enqueueDelayedClassSelectionChange.
"Modified: / 24.2.2000 / 13:25:28 / cg"
!
@@ -37752,7 +37797,7 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.937 2006-03-17 14:17:40 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.938 2006-03-20 08:40:58 cg Exp $'
! !
NewSystemBrowser initialize!
--- a/Tools__NewSystemBrowser.st Fri Mar 17 15:18:07 2006 +0100
+++ b/Tools__NewSystemBrowser.st Mon Mar 20 09:40:58 2006 +0100
@@ -5093,7 +5093,13 @@
(MenuItem
enabled: hasSingleLoadedClassSelectedHolder
label: 'Initialized Instance Creation'
- itemValue: classMenuGenerateStandardInitializationMethods
+ itemValue: classMenuGenerateInitializedInstanceCreationMethods
+ translateLabel: true
+ )
+ (MenuItem
+ enabled: hasSingleLoadedClassSelectedHolder
+ label: 'Parametrized Instance Creation'
+ itemValue: classMenuGenerateParametrizedInstanceCreationMethods
translateLabel: true
)
(MenuItem
@@ -7836,6 +7842,12 @@
translateLabel: true
)
(MenuItem
+ "/ enabled: singleSelectedMethodIsSubclassResponsibility
+ label: 'Templates in all Subclasses'
+ itemValue: selectorMenuGenerateTemplateInAllSubclasses
+ translateLabel: true
+ )
+ (MenuItem
label: '-'
)
(MenuItem
@@ -17683,6 +17695,16 @@
lazyInitialization:false
!
+classMenuGenerateInitializedInstanceCreationMethods
+ "create new and initialize methods"
+
+ self
+ generateUndoableChangeOverSelectedClasses:'Initialized Instance Creation Code for %(singleClassNameOrNumberOfClasses)'
+ via:[:generator :eachClass |
+ generator createInitializedInstanceCreationMethodsIn:eachClass theNonMetaclass
+ ].
+!
+
classMenuGenerateMultiSetterMethod
"create a multi setter method for selected instvars."
@@ -17695,6 +17717,24 @@
CodeGeneratorTool createMultiSetterMethodFor:vars in:cls
!
+classMenuGenerateParametrizedInstanceCreationMethods
+ "create for: instance creation and initialize methods"
+
+ |selector|
+
+ selector := Dialog
+ requestSelector:'Name of Instance Creation Method:'
+ initialAnswer:'for:'.
+ selector isEmptyOrNil ifTrue:[^ self].
+ selector := selector asSymbol.
+
+ self
+ generateUndoableChangeOverSelectedClasses:'Parametrized Instance Creation Code for %(singleClassNameOrNumberOfClasses)'
+ via:[:generator :eachClass |
+ generator createParametrizedInstanceCreationMethodsNamed:selector in:eachClass theNonMetaclass
+ ].
+!
+
classMenuGenerateRequiredProtocol
"create required protocol (all inherited subclassResponsibility methods)"
@@ -17718,16 +17758,6 @@
lazyInitialization:false
!
-classMenuGenerateStandardInitializationMethods
- "create new and initialize methods"
-
- self
- generateUndoableChangeOverSelectedClasses:'Generate Initialization Code for %(singleClassNameOrNumberOfClasses)'
- via:[:generator :eachClass |
- generator createStandardInitializationMethodsIn:eachClass theNonMetaclass
- ].
-!
-
classMenuGenerateStandardPrintOnMethod
self
generateUndoableChangeOverSelectedClasses:'Generate PrintOn Method for %(singleClassNameOrNumberOfClasses)'
@@ -27348,8 +27378,14 @@
]
!
-selectorMenuGenerateTemplateInSubclasses
- "generate a template in every subclass for each subclassResponsibility method"
+selectorMenuGenerateTemplateInAllSubclasses
+ "generate a template in all subclasses (recursive) for each subclassResponsibility method"
+
+ self selectorMenuGenerateTemplateInClassesEnumeratedWith:#allSubclasses
+!
+
+selectorMenuGenerateTemplateInClassesEnumeratedWith:aSubclassEnumeratingSelector
+ "generate a template in some subclass for each subclassResponsibility method"
self
generateUndoableChangeOverSelectedMethods:'Generate Responsibility for %(singleMethodNameOrNumberOfMethods)'
@@ -27364,7 +27400,7 @@
parser parseMethod.
spec := Parser methodSpecificationForSelector:selector argNames:parser methodArgs.
- mclass subclasses do:[:eachSubClass |
+ (mclass perform:aSubclassEnumeratingSelector) do:[:eachSubClass |
|code|
(eachSubClass implements:selector) ifFalse:[
@@ -27378,6 +27414,12 @@
]
!
+selectorMenuGenerateTemplateInSubclasses
+ "generate a template in every subclass for each subclassResponsibility method"
+
+ self selectorMenuGenerateTemplateInClassesEnumeratedWith:#subclasses
+!
+
selectorMenuInspect
"open an inspector on the single selected method"
@@ -29018,9 +29060,9 @@
!
variablesMenuAdd:asClassVariableBoolean asValueHolder:asValueHolder
- "add a new variable."
-
- |words variableToAdd initial selectedClass boxTitle msg|
+ "add new variable(s)."
+
+ |words variablesToAdd initial selectedClass boxTitle msg|
"/ (self askIfModified) ~~ true ifTrue:[ ^ self ].
@@ -29040,33 +29082,35 @@
msg := msg
bindWith:
(asClassVariableBoolean
- ifTrue:['class']
+ ifTrue:['Class']
ifFalse:[
self meta value
- ifTrue:['class instance']
- ifFalse:['instance']
+ ifTrue:['Class Instance']
+ ifFalse:['Instance']
])
with:
(asValueHolder
- ifTrue:['valueHolder']
- ifFalse:['variable']).
-
- variableToAdd :=
+ ifTrue:['ValueHolder(s)']
+ ifFalse:['Variable(s)']).
+
+ variablesToAdd :=
Dialog
request:(resources string:msg)
title:(resources string:boxTitle)
initialAnswer:initial.
- variableToAdd size == 0 ifTrue:[^ self].
+ variablesToAdd size == 0 ifTrue:[^ self].
selectedClass := self theSingleSelectedClass.
- asClassVariableBoolean
- ifTrue:[
+
+ variablesToAdd := variablesToAdd asCollectionOfWords.
+ variablesToAdd do:[:variableToAdd |
+ asClassVariableBoolean ifTrue:[
self codeMenuAddClassVariable:variableToAdd inClass:selectedClass asValueHolder:asValueHolder
- ]
- ifFalse:[
+ ] ifFalse:[
self codeMenuAddInstanceVariable:variableToAdd inClass:selectedClass asValueHolder:asValueHolder
]
+ ]
!
variablesMenuAddClassVariable
@@ -31217,6 +31261,7 @@
self class addToHistory:aClass selector:aSelector.
self normalLabel.
+ self enqueueDelayedClassSelectionChange.
"Modified: / 24.2.2000 / 13:25:28 / cg"
!
@@ -37752,7 +37797,7 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.937 2006-03-17 14:17:40 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.938 2006-03-20 08:40:58 cg Exp $'
! !
NewSystemBrowser initialize!