--- a/NewSystemBrowser.st Tue Sep 11 12:25:23 2001 +0200
+++ b/NewSystemBrowser.st Tue Sep 11 22:33:07 2001 +0200
@@ -4866,6 +4866,12 @@
#(#Menu
#(
#(#MenuItem
+ #label: 'Getter methods'
+ #translateLabel: true
+ #value: #classMenuGenerateGetterMethods
+ #enabled: #hasSingleLoadedClassSelectedHolder
+ )
+ #(#MenuItem
#label: 'Access Methods'
#translateLabel: true
#value: #classMenuGenerateAccessMethods
@@ -5507,6 +5513,12 @@
#(#Menu
#(
#(#MenuItem
+ #label: 'Getter methods'
+ #translateLabel: true
+ #value: #classMenuGenerateGetterMethods
+ #enabled: #hasSingleLoadedClassSelectedHolder
+ )
+ #(#MenuItem
#label: 'Access methods'
#translateLabel: true
#value: #classMenuGenerateAccessMethods
@@ -8195,155 +8207,202 @@
#(#Menu
#(
#(#MenuItem
- #label: 'InstVar refs...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseInstVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'InstVar readers...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseInstVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'InstVar writers...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseInstVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All InstVar refs...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseAllInstVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All InstVar readers...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseAllInstVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All InstVar writers...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseAllInstVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'ClassInstVar refs...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseClassInstVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'ClassInstVar readers...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseClassInstVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'ClassInstVar writers...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseClassInstVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassInstVar refs...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseAllClassInstVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassInstVar readers...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseAllClassInstVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassInstVar writers...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseAllClassInstVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: '-'
- )
- #(#MenuItem
- #label: 'ClassVar refs...'
- #translateLabel: true
- #value: #variablesMenuBrowseClassVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'ClassVar readers...'
- #translateLabel: true
- #value: #variablesMenuBrowseClassVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'ClassVar writers...'
- #translateLabel: true
- #value: #variablesMenuBrowseClassVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassVar refs...'
- #translateLabel: true
- #value: #variablesMenuBrowseAllClassVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassVar readers...'
- #translateLabel: true
- #value: #variablesMenuBrowseAllClassVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassVar writers...'
- #translateLabel: true
- #value: #variablesMenuBrowseAllClassVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: '-'
- )
- #(#MenuItem
- #label: 'Generate access methods'
- #translateLabel: true
- #value: #variablesMenuGenerateAccessMethods
- #enabled: #hasClassAndVariableSelectedHolder
- #showBusyCursorWhilePerforming: true
+ #label: 'Instance Variables'
+ #translateLabel: true
+ #enabled: #hasNonMetaSelectedHolder
+ #submenu:
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'InstVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseInstVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'InstVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseInstVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'InstVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseInstVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: '-'
+ )
+ #(#MenuItem
+ #label: 'All InstVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllInstVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All InstVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllInstVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All InstVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllInstVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ #(#MenuItem
+ #label: 'Class Inst Variables'
+ #translateLabel: true
+ #enabled: #hasMetaSelectedHolder
+ #submenu:
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'ClassInstVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassInstVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'ClassInstVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassInstVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'ClassInstVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassInstVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: '-'
+ )
+ #(#MenuItem
+ #label: 'All ClassInstVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassInstVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All ClassInstVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassInstVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All ClassInstVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassInstVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ #(#MenuItem
+ #label: 'Class Variables'
+ #translateLabel: true
+ #submenu:
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'ClassVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'ClassVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'ClassVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: '-'
+ )
+ #(#MenuItem
+ #label: 'All ClassVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All ClassVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All ClassVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ #(#MenuItem
+ #label: '-'
+ )
+ #(#MenuItem
+ #label: 'Generate'
+ #translateLabel: true
+ #submenu:
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'Getter methods'
+ #translateLabel: true
+ #value: #variablesMenuGenerateGetterMethods
+ #enabled: #hasClassAndVariableSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'Access methods'
+ #translateLabel: true
+ #value: #variablesMenuGenerateAccessMethods
+ #enabled: #hasClassAndVariableSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ )
+ nil
+ nil
+ )
)
#(#MenuItem
#label: '-'
@@ -14176,7 +14235,7 @@
If no variable is selected, for all instvars;
otherwise for that selected instvar."
- self classMenuGenerateAccessMethodsWithChange:false asValueHolder:false
+ self classMenuGenerateAccessMethodsWithChange:false asValueHolder:false readersOnly:false
!
classMenuGenerateAccessMethodsForValueHolder
@@ -14184,7 +14243,7 @@
If no variable is selected, for all instvars;
otherwise for that selected instvar."
- self classMenuGenerateAccessMethodsWithChange:false asValueHolder:true
+ self classMenuGenerateAccessMethodsWithChange:false asValueHolder:true readersOnly:false
!
classMenuGenerateAccessMethodsForValueHolderWithChange
@@ -14192,7 +14251,7 @@
If no variable is selected, for all instvars;
otherwise for that selected instvar."
- self classMenuGenerateAccessMethodsWithChange:true asValueHolder:true
+ self classMenuGenerateAccessMethodsWithChange:true asValueHolder:true readersOnly:false
!
classMenuGenerateAccessMethodsWithChange
@@ -14200,10 +14259,10 @@
If no variable is selected, for all instvars;
otherwise for that selected instvar."
- self classMenuGenerateAccessMethodsWithChange:true asValueHolder:false
-!
-
-classMenuGenerateAccessMethodsWithChange:aBoolean asValueHolder:asValueHolder
+ self classMenuGenerateAccessMethodsWithChange:true asValueHolder:false readersOnly:false
+!
+
+classMenuGenerateAccessMethodsWithChange:aBoolean asValueHolder:asValueHolder readersOnly:readersOnly
"create access methods for instvars.
If no variable is selected, for all instvars;
otherwise for that selected instvar."
@@ -14220,6 +14279,7 @@
in:eachClass
withChange:aBoolean
asValueHolder:asValueHolder
+ readersOnly:readersOnly
]
"Modified: / 18.8.1997 / 15:44:10 / cg"
@@ -14245,6 +14305,14 @@
"Created: / 7.8.1998 / 18:17:18 / cg"
!
+classMenuGenerateGetterMethods
+ "create getter methods for instvars.
+ If no variable is selected, for all instvars;
+ otherwise for that selected instvar."
+
+ self classMenuGenerateAccessMethodsWithChange:false asValueHolder:false readersOnly:true
+!
+
classMenuGenerateUpdateMethod
"create a standard update method template"
@@ -23434,7 +23502,26 @@
createAccessMethodsFor:names
in:eachClass
withChange:false
- asValueHolder:false.
+ asValueHolder:false
+ readersOnly:false
+ ]
+ ]
+!
+
+variablesMenuGenerateGetterMethods
+ "create access methods for selected instvars."
+
+ self selectedClassesWithWaitCursorDo:[:eachClass |
+ |names|
+
+ names := self variableFilter value.
+ names size > 0 ifTrue:[
+ self
+ createAccessMethodsFor:names
+ in:eachClass
+ withChange:false
+ asValueHolder:false
+ readersOnly:true
]
]
!
@@ -25151,7 +25238,7 @@
!NewSystemBrowser methodsFor:'private-code generation'!
-createAccessMethodsFor:aCollectionOfVarNames in:aClass withChange:withChange asValueHolder:asValueHolder
+createAccessMethodsFor:aCollectionOfVarNames in:aClass withChange:withChange asValueHolder:asValueHolder readersOnly:readersOnly
"workhorse for creating access methods for instvars."
|classesClassVars|
@@ -25196,48 +25283,50 @@
Transcript showCR:'method ''', methodName , ''' already present'
].
- (aClass includesSelector:((methodName , ':') asSymbol)) ifFalse:[
- asValueHolder ifTrue:[
- source := methodName
- , ':something\ "set the ''%2'' value holder'.
- withChange ifTrue:[
- source := source
- , ' (automatically generated)"\\'
- , ' |oldValue|\\'
- , ' %2 notNil ifTrue:[\'
- , ' oldValue := %2 value.\'
- , ' %2 removeDependent:self.\'
- , ' ].\'
- , ' %2 := something.\'
- , ' %2 notNil ifTrue:[\'
- , ' %2 addDependent:self.\'
- , ' ].\'
- , ' oldValue ~= %2 value ifTrue:[\'
- , ' self update:#value with:nil from:%2.\'
- , ' ].\'
+ readersOnly ifFalse:[
+ (aClass includesSelector:((methodName , ':') asSymbol)) ifFalse:[
+ asValueHolder ifTrue:[
+ source := methodName
+ , ':something\ "set the ''%2'' value holder'.
+ withChange ifTrue:[
+ source := source
+ , ' (automatically generated)"\\'
+ , ' |oldValue|\\'
+ , ' %2 notNil ifTrue:[\'
+ , ' oldValue := %2 value.\'
+ , ' %2 removeDependent:self.\'
+ , ' ].\'
+ , ' %2 := something.\'
+ , ' %2 notNil ifTrue:[\'
+ , ' %2 addDependent:self.\'
+ , ' ].\'
+ , ' oldValue ~= %2 value ifTrue:[\'
+ , ' self update:#value with:nil from:%2.\'
+ , ' ].\'
+ ] ifFalse:[
+ source := source
+ , ' (automatically generated)"\\'
+ , ' %2 := something.'.
+ ].
] ifFalse:[
- source := source
- , ' (automatically generated)"\\'
- , ' %2 := something.'.
- ].
- ] ifFalse:[
- source := methodName
- , ':something\ "set the value of the %1 variable ''%2'''.
- withChange ifTrue:[
- source := source
- , ' and setup for a change notification (automatically generated)"\\'
- , ' %2 := something.\'
- , ' self changed:#%2.\'.
- ] ifFalse:[
- source := source
- , ' (automatically generated)"\\'
- , ' %2 := something.'.
- ].
- ].
- source := (source bindWith:varType with:name) withCRs.
- Compiler compile:source forClass:aClass inCategory:(asValueHolder ifTrue:['aspects'] ifFalse:['accessing']).
- ] ifTrue:[
- Transcript showCR:'method ''', methodName , ':'' already present'
+ source := methodName
+ , ':something\ "set the value of the %1 variable ''%2'''.
+ withChange ifTrue:[
+ source := source
+ , ' and setup for a change notification (automatically generated)"\\'
+ , ' %2 := something.\'
+ , ' self changed:#%2.\'.
+ ] ifFalse:[
+ source := source
+ , ' (automatically generated)"\\'
+ , ' %2 := something.'.
+ ].
+ ].
+ source := (source bindWith:varType with:name) withCRs.
+ Compiler compile:source forClass:aClass inCategory:(asValueHolder ifTrue:['aspects'] ifFalse:['accessing']).
+ ] ifTrue:[
+ Transcript showCR:'method ''', methodName , ':'' already present'
+ ].
].
]
!
@@ -49256,6 +49345,6 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.150 2001-09-11 10:25:23 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Attic/NewSystemBrowser.st,v 1.151 2001-09-11 20:33:07 cg Exp $'
! !
NewSystemBrowser initialize!
--- a/Tools__NewSystemBrowser.st Tue Sep 11 12:25:23 2001 +0200
+++ b/Tools__NewSystemBrowser.st Tue Sep 11 22:33:07 2001 +0200
@@ -4866,6 +4866,12 @@
#(#Menu
#(
#(#MenuItem
+ #label: 'Getter methods'
+ #translateLabel: true
+ #value: #classMenuGenerateGetterMethods
+ #enabled: #hasSingleLoadedClassSelectedHolder
+ )
+ #(#MenuItem
#label: 'Access Methods'
#translateLabel: true
#value: #classMenuGenerateAccessMethods
@@ -5507,6 +5513,12 @@
#(#Menu
#(
#(#MenuItem
+ #label: 'Getter methods'
+ #translateLabel: true
+ #value: #classMenuGenerateGetterMethods
+ #enabled: #hasSingleLoadedClassSelectedHolder
+ )
+ #(#MenuItem
#label: 'Access methods'
#translateLabel: true
#value: #classMenuGenerateAccessMethods
@@ -8195,155 +8207,202 @@
#(#Menu
#(
#(#MenuItem
- #label: 'InstVar refs...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseInstVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'InstVar readers...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseInstVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'InstVar writers...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseInstVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All InstVar refs...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseAllInstVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All InstVar readers...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseAllInstVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All InstVar writers...'
- #translateLabel: true
- #isVisible: #hasNonMetaSelectedHolder
- #value: #variablesMenuBrowseAllInstVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'ClassInstVar refs...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseClassInstVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'ClassInstVar readers...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseClassInstVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'ClassInstVar writers...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseClassInstVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassInstVar refs...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseAllClassInstVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassInstVar readers...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseAllClassInstVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassInstVar writers...'
- #translateLabel: true
- #isVisible: #hasMetaSelectedHolder
- #value: #variablesMenuBrowseAllClassInstVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: '-'
- )
- #(#MenuItem
- #label: 'ClassVar refs...'
- #translateLabel: true
- #value: #variablesMenuBrowseClassVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'ClassVar readers...'
- #translateLabel: true
- #value: #variablesMenuBrowseClassVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'ClassVar writers...'
- #translateLabel: true
- #value: #variablesMenuBrowseClassVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassVar refs...'
- #translateLabel: true
- #value: #variablesMenuBrowseAllClassVarRefs
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassVar readers...'
- #translateLabel: true
- #value: #variablesMenuBrowseAllClassVarReads
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: 'All ClassVar writers...'
- #translateLabel: true
- #value: #variablesMenuBrowseAllClassVarMods
- #enabled: #hasClassSelectedHolder
- #showBusyCursorWhilePerforming: true
- )
- #(#MenuItem
- #label: '-'
- )
- #(#MenuItem
- #label: 'Generate access methods'
- #translateLabel: true
- #value: #variablesMenuGenerateAccessMethods
- #enabled: #hasClassAndVariableSelectedHolder
- #showBusyCursorWhilePerforming: true
+ #label: 'Instance Variables'
+ #translateLabel: true
+ #enabled: #hasNonMetaSelectedHolder
+ #submenu:
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'InstVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseInstVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'InstVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseInstVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'InstVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseInstVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: '-'
+ )
+ #(#MenuItem
+ #label: 'All InstVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllInstVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All InstVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllInstVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All InstVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllInstVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ #(#MenuItem
+ #label: 'Class Inst Variables'
+ #translateLabel: true
+ #enabled: #hasMetaSelectedHolder
+ #submenu:
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'ClassInstVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassInstVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'ClassInstVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassInstVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'ClassInstVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassInstVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: '-'
+ )
+ #(#MenuItem
+ #label: 'All ClassInstVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassInstVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All ClassInstVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassInstVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All ClassInstVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassInstVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ #(#MenuItem
+ #label: 'Class Variables'
+ #translateLabel: true
+ #submenu:
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'ClassVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'ClassVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'ClassVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseClassVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: '-'
+ )
+ #(#MenuItem
+ #label: 'All ClassVar refs...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassVarRefs
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All ClassVar readers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassVarReads
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'All ClassVar writers...'
+ #translateLabel: true
+ #value: #variablesMenuBrowseAllClassVarMods
+ #enabled: #hasClassSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ )
+ nil
+ nil
+ )
+ )
+ #(#MenuItem
+ #label: '-'
+ )
+ #(#MenuItem
+ #label: 'Generate'
+ #translateLabel: true
+ #submenu:
+ #(#Menu
+ #(
+ #(#MenuItem
+ #label: 'Getter methods'
+ #translateLabel: true
+ #value: #variablesMenuGenerateGetterMethods
+ #enabled: #hasClassAndVariableSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ #(#MenuItem
+ #label: 'Access methods'
+ #translateLabel: true
+ #value: #variablesMenuGenerateAccessMethods
+ #enabled: #hasClassAndVariableSelectedHolder
+ #showBusyCursorWhilePerforming: true
+ )
+ )
+ nil
+ nil
+ )
)
#(#MenuItem
#label: '-'
@@ -14176,7 +14235,7 @@
If no variable is selected, for all instvars;
otherwise for that selected instvar."
- self classMenuGenerateAccessMethodsWithChange:false asValueHolder:false
+ self classMenuGenerateAccessMethodsWithChange:false asValueHolder:false readersOnly:false
!
classMenuGenerateAccessMethodsForValueHolder
@@ -14184,7 +14243,7 @@
If no variable is selected, for all instvars;
otherwise for that selected instvar."
- self classMenuGenerateAccessMethodsWithChange:false asValueHolder:true
+ self classMenuGenerateAccessMethodsWithChange:false asValueHolder:true readersOnly:false
!
classMenuGenerateAccessMethodsForValueHolderWithChange
@@ -14192,7 +14251,7 @@
If no variable is selected, for all instvars;
otherwise for that selected instvar."
- self classMenuGenerateAccessMethodsWithChange:true asValueHolder:true
+ self classMenuGenerateAccessMethodsWithChange:true asValueHolder:true readersOnly:false
!
classMenuGenerateAccessMethodsWithChange
@@ -14200,10 +14259,10 @@
If no variable is selected, for all instvars;
otherwise for that selected instvar."
- self classMenuGenerateAccessMethodsWithChange:true asValueHolder:false
-!
-
-classMenuGenerateAccessMethodsWithChange:aBoolean asValueHolder:asValueHolder
+ self classMenuGenerateAccessMethodsWithChange:true asValueHolder:false readersOnly:false
+!
+
+classMenuGenerateAccessMethodsWithChange:aBoolean asValueHolder:asValueHolder readersOnly:readersOnly
"create access methods for instvars.
If no variable is selected, for all instvars;
otherwise for that selected instvar."
@@ -14220,6 +14279,7 @@
in:eachClass
withChange:aBoolean
asValueHolder:asValueHolder
+ readersOnly:readersOnly
]
"Modified: / 18.8.1997 / 15:44:10 / cg"
@@ -14245,6 +14305,14 @@
"Created: / 7.8.1998 / 18:17:18 / cg"
!
+classMenuGenerateGetterMethods
+ "create getter methods for instvars.
+ If no variable is selected, for all instvars;
+ otherwise for that selected instvar."
+
+ self classMenuGenerateAccessMethodsWithChange:false asValueHolder:false readersOnly:true
+!
+
classMenuGenerateUpdateMethod
"create a standard update method template"
@@ -23434,7 +23502,26 @@
createAccessMethodsFor:names
in:eachClass
withChange:false
- asValueHolder:false.
+ asValueHolder:false
+ readersOnly:false
+ ]
+ ]
+!
+
+variablesMenuGenerateGetterMethods
+ "create access methods for selected instvars."
+
+ self selectedClassesWithWaitCursorDo:[:eachClass |
+ |names|
+
+ names := self variableFilter value.
+ names size > 0 ifTrue:[
+ self
+ createAccessMethodsFor:names
+ in:eachClass
+ withChange:false
+ asValueHolder:false
+ readersOnly:true
]
]
!
@@ -25151,7 +25238,7 @@
!NewSystemBrowser methodsFor:'private-code generation'!
-createAccessMethodsFor:aCollectionOfVarNames in:aClass withChange:withChange asValueHolder:asValueHolder
+createAccessMethodsFor:aCollectionOfVarNames in:aClass withChange:withChange asValueHolder:asValueHolder readersOnly:readersOnly
"workhorse for creating access methods for instvars."
|classesClassVars|
@@ -25196,48 +25283,50 @@
Transcript showCR:'method ''', methodName , ''' already present'
].
- (aClass includesSelector:((methodName , ':') asSymbol)) ifFalse:[
- asValueHolder ifTrue:[
- source := methodName
- , ':something\ "set the ''%2'' value holder'.
- withChange ifTrue:[
- source := source
- , ' (automatically generated)"\\'
- , ' |oldValue|\\'
- , ' %2 notNil ifTrue:[\'
- , ' oldValue := %2 value.\'
- , ' %2 removeDependent:self.\'
- , ' ].\'
- , ' %2 := something.\'
- , ' %2 notNil ifTrue:[\'
- , ' %2 addDependent:self.\'
- , ' ].\'
- , ' oldValue ~= %2 value ifTrue:[\'
- , ' self update:#value with:nil from:%2.\'
- , ' ].\'
+ readersOnly ifFalse:[
+ (aClass includesSelector:((methodName , ':') asSymbol)) ifFalse:[
+ asValueHolder ifTrue:[
+ source := methodName
+ , ':something\ "set the ''%2'' value holder'.
+ withChange ifTrue:[
+ source := source
+ , ' (automatically generated)"\\'
+ , ' |oldValue|\\'
+ , ' %2 notNil ifTrue:[\'
+ , ' oldValue := %2 value.\'
+ , ' %2 removeDependent:self.\'
+ , ' ].\'
+ , ' %2 := something.\'
+ , ' %2 notNil ifTrue:[\'
+ , ' %2 addDependent:self.\'
+ , ' ].\'
+ , ' oldValue ~= %2 value ifTrue:[\'
+ , ' self update:#value with:nil from:%2.\'
+ , ' ].\'
+ ] ifFalse:[
+ source := source
+ , ' (automatically generated)"\\'
+ , ' %2 := something.'.
+ ].
] ifFalse:[
- source := source
- , ' (automatically generated)"\\'
- , ' %2 := something.'.
- ].
- ] ifFalse:[
- source := methodName
- , ':something\ "set the value of the %1 variable ''%2'''.
- withChange ifTrue:[
- source := source
- , ' and setup for a change notification (automatically generated)"\\'
- , ' %2 := something.\'
- , ' self changed:#%2.\'.
- ] ifFalse:[
- source := source
- , ' (automatically generated)"\\'
- , ' %2 := something.'.
- ].
- ].
- source := (source bindWith:varType with:name) withCRs.
- Compiler compile:source forClass:aClass inCategory:(asValueHolder ifTrue:['aspects'] ifFalse:['accessing']).
- ] ifTrue:[
- Transcript showCR:'method ''', methodName , ':'' already present'
+ source := methodName
+ , ':something\ "set the value of the %1 variable ''%2'''.
+ withChange ifTrue:[
+ source := source
+ , ' and setup for a change notification (automatically generated)"\\'
+ , ' %2 := something.\'
+ , ' self changed:#%2.\'.
+ ] ifFalse:[
+ source := source
+ , ' (automatically generated)"\\'
+ , ' %2 := something.'.
+ ].
+ ].
+ source := (source bindWith:varType with:name) withCRs.
+ Compiler compile:source forClass:aClass inCategory:(asValueHolder ifTrue:['aspects'] ifFalse:['accessing']).
+ ] ifTrue:[
+ Transcript showCR:'method ''', methodName , ':'' already present'
+ ].
].
]
!
@@ -49256,6 +49345,6 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.150 2001-09-11 10:25:23 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.151 2001-09-11 20:33:07 cg Exp $'
! !
NewSystemBrowser initialize!