--- a/AbstractLauncherApplication.st Tue Nov 26 16:56:31 2002 +0100
+++ b/AbstractLauncherApplication.st Tue Nov 26 16:56:56 2002 +0100
@@ -28,7 +28,7 @@
!
HierarchicalItem subclass:#HierarchicalSettingsApplItem
- instanceVariableNames:'label icon applClass application'
+ instanceVariableNames:'label icon applClass application nameString'
classVariableNames:''
poolDictionaries:''
privateIn:AbstractLauncherApplication::HierarchicalSettingsApplList
@@ -1734,6 +1734,18 @@
"set the value of the instance variable 'label' (automatically generated)"
label := something.
+!
+
+nameString
+ "return the value of the instance variable 'nameString' (automatically generated)"
+
+ ^ nameString
+!
+
+nameString:something
+ "set the value of the instance variable 'nameString' (automatically generated)"
+
+ nameString := something.
! !
!AbstractLauncherApplication::HierarchicalSettingsApplList::HierarchicalSettingsApplItem methodsFor:'printing & storing'!
@@ -6622,16 +6634,19 @@
addApplClass:aClass withName:aName
- ApplicationList isNil ifTrue:[
- self initialize.
- ].
- ApplicationList add:(Array with:aName with:aClass asString asSymbol with:nil with:nil)
+ self addApplClass:aClass withName:aName inCategory:nil icon:nil.
!
addApplClass:aClass withName:aName inCategory:aCategory icon:icon
ApplicationList isNil ifTrue:[
self initialize.
+ ].
+ (self settingsAppListNames includes:aName) ifTrue:[
+ ^ self.
+ ].
+ (self settingsAppListNames includes:aCategory) not ifTrue:[
+ self error:'category for listentry doesnt exist'
].
ApplicationList add:(Array with:aName with:aClass asString asSymbol with:aCategory with:icon)
!
@@ -6694,17 +6709,13 @@
removeApplByClass:aClass
- |index|
+ | classEntries|
ApplicationList isNil ifTrue:[
self initialize.
].
- index := ApplicationList findFirst:[:el |
- el second == aClass asSymbol
- ].
- index ~~ 0 ifTrue:[
- ApplicationList removeIndex:index.
- ].
+ classEntries := ApplicationList select:[: aEntry | ((aEntry at:2) == aClass)].
+ ApplicationList removeAll:classEntries.
!
removeCategoryByName:aCatName
@@ -7156,6 +7167,7 @@
itemClass := applList class itemClass.
rootItem := itemClass new.
rootItem label:(Text string:(resources string:'Settings') emphasis:#bold).
+ rootItem nameString:'Settings'.
rootItem icon:self class settingsIcon.
self class applList do:[:entry |
|newItem nameString applicationClassNameMethodOrNil icon inCategory|
@@ -7164,8 +7176,9 @@
inCategory := entry at:3.
icon := entry at:4.
- newItem := itemClass new.
+ newItem := itemClass new.
newItem label:(Text string:(resources string:nameString) emphasis:#bold).
+ newItem nameString:nameString.
applicationClassNameMethodOrNil notNil ifTrue:[
newItem applClass:(Smalltalk classNamed:applicationClassNameMethodOrNil).
].
@@ -7180,7 +7193,7 @@
newItem icon:icon.
inCategory notNil ifTrue:[
parent := self recursiveGetParentFor:inCategory fromItem:rootItem.
- parent isNil ifTrue:[self error:'category for listentry doesnt exist'].
+ parent isNil ifTrue:[self error:('category:', inCategory, ' for:', newItem label, ' does not exist') mayProceed:true].
parent children isNil ifTrue:[
parent children:(OrderedCollection with:newItem)
] ifFalse:[
@@ -7526,7 +7539,7 @@
children := aItem children.
children notNil ifTrue:[
children do:[:aChildItem | | newItem |
- aChildItem label string = aCategory ifTrue:[ ^ aChildItem].
+ aChildItem nameString = aCategory ifTrue:[ ^ aChildItem].
newItem := self recursiveGetParentFor:aCategory fromItem:aChildItem.
newItem notNil ifTrue:[^ newItem].
].
@@ -7537,7 +7550,7 @@
!AbstractLauncherApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.236 2002-11-25 16:43:52 penk Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.237 2002-11-26 15:56:56 penk Exp $'
! !
AbstractLauncherApplication::SettingsDialog initialize!