SourceCodeManager settings refactored
authorvrany
Sat, 09 Jul 2011 15:48:58 +0200
changeset 10299 898291b1f38f
parent 10298 cc70ede4c310
child 10300 5ed6f3d35cbb
SourceCodeManager settings refactored
AbstractSettingsApplication.st
--- a/AbstractSettingsApplication.st	Sat Jul 09 10:38:53 2011 +0200
+++ b/AbstractSettingsApplication.st	Sat Jul 09 15:48:58 2011 +0200
@@ -287,8 +287,8 @@
 	privateIn:AbstractSettingsApplication
 !
 
-Object subclass:#ManagerTypeTableEntry
-	instanceVariableNames:'packageMatchString manager'
+SimpleDialog subclass:#PerModuleManagerSettingDialog
+	instanceVariableNames:'packageHolder managerNameHolder availableManagers'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:AbstractSettingsApplication::SourceCodeManagementSettingsAppl
@@ -12582,7 +12582,7 @@
                                         collection: (
                                          (DataSetSpec
                                             name: 'RepositoryConfigurationList'
-                                            layout: (LayoutFrame 0 0 0 0 -25 1 0 1)
+                                            layout: (LayoutFrame 0 0 0 0 -85 1 0 1)
                                             enableChannel: useManager
                                             model: selectedManagerPerMatchingModuleHolder
                                             hasHorizontalScrollBar: true
@@ -12591,99 +12591,63 @@
                                             columnHolder: managerPerMatchingModuleColumns
                                             beDependentOfRows: true
                                           )
-                                         (ArrowButtonSpec
-                                            name: 'MoveUp'
-                                            layout: (LayoutFrame -25 1 -25 0.5 0 1 0 0.5)
-                                            activeHelpKey: moveManagerUp
-                                            model: moveUpAction
-                                            enableChannel: useManager
-                                            isTriggerOnDown: true
-                                            direction: up
-                                          )
-                                         (ArrowButtonSpec
-                                            name: 'MoveDown'
-                                            layout: (LayoutFrame -25 1 0 0.5 0 1 25 0.5)
-                                            activeHelpKey: moveManagerDown
-                                            model: moveDownAction
-                                            enableChannel: useManager
-                                            isTriggerOnDown: true
-                                            direction: down
+                                         (VerticalPanelViewSpec
+                                            name: 'Buttons1'
+                                            layout: (LayoutFrame -80 1 0 0 0 1 0 1)
+                                            horizontalLayout: fit
+                                            verticalLayout: top
+                                            horizontalSpace: 5
+                                            verticalSpace: 3
+                                            component: 
+                                           (SpecCollection
+                                              collection: (
+                                               (ActionButtonSpec
+                                                  label: 'Add'
+                                                  name: 'ButtonAdd'
+                                                  translateLabel: true
+                                                  model: actionAdd
+                                                  extent: (Point 80 22)
+                                                )
+                                               (ActionButtonSpec
+                                                  label: 'Remove'
+                                                  name: 'ButtonRemove'
+                                                  translateLabel: true
+                                                  model: actionRemove
+                                                  enableChannel: canRemoveManagerPerPackageEntry
+                                                  extent: (Point 80 22)
+                                                )
+                                               (ActionButtonSpec
+                                                  label: 'Edit'
+                                                  name: 'ButtonEdit'
+                                                  translateLabel: true
+                                                  model: actionEdit
+                                                  enableChannel: canRemoveManagerPerPackageEntry
+                                                  extent: (Point 80 22)
+                                                )
+                                               (ActionButtonSpec
+                                                  label: 'Move up'
+                                                  name: 'ButtonModeUp'
+                                                  translateLabel: true
+                                                  model: actionMoveUp
+                                                  enableChannel: canMoveUp
+                                                  extent: (Point 80 22)
+                                                )
+                                               (ActionButtonSpec
+                                                  label: 'Move down'
+                                                  name: 'ButtonModeDown'
+                                                  translateLabel: true
+                                                  model: actionMoveDown
+                                                  enableChannel: canMoveDown
+                                                  extent: (Point 80 22)
+                                                )
+                                               )
+                                             
+                                            )
                                           )
                                          )
                                        
                                       )
-                                      extent: (Point 625 168)
-                                    )
-                                   (ViewSpec
-                                      name: 'Box4'
-                                      component: 
-                                     (SpecCollection
-                                        collection: (
-                                         (LabelSpec
-                                            label: 'Package ID:'
-                                            name: 'Label15'
-                                            layout: (LayoutFrame 9 0 9 0 100 0 31 0)
-                                            translateLabel: true
-                                            adjust: right
-                                          )
-                                         (LabelSpec
-                                            label: 'Manager:'
-                                            name: 'Label16'
-                                            layout: (LayoutFrame 9 0 37 0 100 0 59 0)
-                                            translateLabel: true
-                                            adjust: right
-                                          )
-                                         (InputFieldSpec
-                                            name: 'EntryField1'
-                                            layout: (LayoutFrame 108 0 9 0 313 0 31 0)
-                                            enableChannel: useManager
-                                            model: packageToAddHolder
-                                            acceptOnReturn: true
-                                            acceptOnTab: true
-                                            acceptOnPointerLeave: true
-                                          )
-                                         (ComboListSpec
-                                            name: 'ComboList2'
-                                            layout: (LayoutFrame 108 0 39 0 313 0 59 0)
-                                            enableChannel: useManager
-                                            model: managerTypeToAddHolder
-                                            comboList: availableManagerTypeNames
-                                            useIndex: false
-                                          )
-                                         )
-                                       
-                                      )
-                                      extent: (Point 625 63)
-                                    )
-                                   (HorizontalPanelViewSpec
-                                      name: 'AddRemovePanel'
-                                      horizontalLayout: fit
-                                      verticalLayout: center
-                                      horizontalSpace: 3
-                                      verticalSpace: 3
-                                      component: 
-                                     (SpecCollection
-                                        collection: (
-                                         (ActionButtonSpec
-                                            label: 'Add Entry'
-                                            name: 'AddConfigurationAction'
-                                            translateLabel: true
-                                            model: addManagerAction
-                                            enableChannel: useManager
-                                            extent: (Point 311 25)
-                                          )
-                                         (ActionButtonSpec
-                                            label: 'Remove Entry'
-                                            name: 'RemoveConfigurationAction'
-                                            translateLabel: true
-                                            model: removeManagerAction
-                                            enableChannel: canRemoveManagerPerPackageEntry
-                                            extent: (Point 311 25)
-                                          )
-                                         )
-                                       
-                                      )
-                                      extent: (Point 625 30)
+                                      extent: (Point 623 264)
                                     )
                                    )
                                  
@@ -12749,7 +12713,7 @@
                                       tabable: true
                                       model: flushSourceCache
                                       enableChannel: useManager
-                                      extent: (Point 208 22)
+                                      extent: (Point 207 22)
                                     )
                                    (ActionButtonSpec
                                       label: 'Condense Cache now'
@@ -12759,7 +12723,7 @@
                                       tabable: true
                                       model: condenseSourceCache
                                       enableChannel: useManager
-                                      extent: (Point 208 22)
+                                      extent: (Point 207 22)
                                     )
                                    )
                                  
@@ -12879,15 +12843,16 @@
          label: 'Module (PackageID Match)'
          labelButtonType: Button
          width: 0.5
-         model: packageMatchString
+         model: displayStringForPackage
          menuFromApplication: false
+         writeSelector: package:
          canSelect: false
        )
       (DataSetColumnSpec
          label: 'Repository Type'
          labelButtonType: Button
          width: 0.5
-         model: managerTypeString
+         model: displayStringForManagerTypeName
          menuFromApplication: false
          writeSelector: manager:
          canSelect: false
@@ -12905,25 +12870,85 @@
 
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'actions'!
 
-addManagerAction
-    |package typeName manager oldEntry idx|
-
-    package := self packageToAddHolder value.
-    typeName := self managerTypeToAddHolder value.
-    manager := self availableManagers detect:[:mgr | mgr managerTypeName = typeName] ifNone:nil.          
-    oldEntry := managerPerMatchingModule detect:[:entry | entry packageMatchString = package] ifNone:nil.
-    oldEntry notNil ifTrue:[
-        oldEntry manager:manager.
-        managerPerMatchingModule changed.
-        idx := managerPerMatchingModule indexOf:oldEntry.
-    ] ifFalse:[
-        managerPerMatchingModule add:(ManagerTypeTableEntry new packageMatchString:package manager:manager).
-        idx := managerPerMatchingModule size.
-    ].
+actionAdd
+    |dlg package mgr oldEntry idx|
+
+    dlg := PerModuleManagerSettingDialog new.
+    dlg open ifFalse:[ ^ self ].
+    package := dlg package.
+    mgr := dlg manager.
+    oldEntry := managerPerMatchingModule 
+                detect:[:entry | entry package = package and:[ entry manager = mgr ] ]
+                ifNone:nil.
+    oldEntry notNil 
+        ifTrue:
+            [ oldEntry manager:mgr.
+            managerPerMatchingModule changed.
+            idx := managerPerMatchingModule indexOf:oldEntry. ]
+        ifFalse:
+            [ managerPerMatchingModule 
+                add:(AbstractSourceCodeManager::PackageAndManager package:package manager:mgr).
+            idx := managerPerMatchingModule size. ].
     selectedManagerPerMatchingModuleHolder value:idx.
 
     "Created: / 18-04-2011 / 19:30:46 / cg"
     "Modified: / 18-04-2011 / 21:24:52 / cg"
+    "Modified: / 09-07-2011 / 14:07:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+actionEdit
+    <resource: #uiCallback>
+
+    | entry dlg |
+    entry := managerPerMatchingModule at: selectedManagerPerMatchingModuleHolder value.
+    dlg := PerModuleManagerSettingDialog new.    
+    dlg package: entry packageMatchString.
+    dlg manager: entry manager.
+    dlg open ifTrue:[
+        entry packageMatchString: dlg package.
+        entry manager: dlg manager.
+        entry changed.
+    ]
+
+    "Modified: / 09-07-2011 / 13:26:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+actionMoveDown
+    <resource: #uiCallback>
+
+    | idx |
+    idx := selectedManagerPerMatchingModuleHolder value.
+    idx == managerPerMatchingModule size ifTrue:[^self].
+    managerPerMatchingModule swap: idx  with: idx + 1.
+    selectedManagerPerMatchingModuleHolder value: idx + 1
+
+    "Modified: / 09-07-2011 / 13:23:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+actionMoveUp
+    <resource: #uiCallback>
+
+    | idx |
+    idx := selectedManagerPerMatchingModuleHolder value.
+    idx == 1 ifTrue:[^self].
+    managerPerMatchingModule swap: idx - 1 with: idx.
+    selectedManagerPerMatchingModuleHolder value: idx - 1
+
+    "Modified: / 09-07-2011 / 13:23:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+actionRemove
+    |idx|
+
+    idx := self selectedManagerPerMatchingModuleHolder value.
+    managerPerMatchingModule removeIndex:idx.
+    managerPerMatchingModule size >= idx 
+        ifTrue:[ selectedManagerPerMatchingModuleHolder value:idx. ]
+        ifFalse:
+            [ managerPerMatchingModule size >= (idx - 1) 
+                ifTrue:[ selectedManagerPerMatchingModuleHolder value:idx - 1. ]. ].
+
+    "Created: / 18-04-2011 / 20:56:46 / cg"
 !
 
 addModule:module withData:data
@@ -12956,11 +12981,8 @@
     ].
 
     self managerPerMatchingModule removeAll.
-    AbstractSourceCodeManager managerPerMatchingModuleDefinitions do:[:eachKeyValuePair |
-        self managerPerMatchingModule 
-            add:(ManagerTypeTableEntry new 
-                    packageMatchString:(eachKeyValuePair key)
-                    manager:(eachKeyValuePair value)).
+    AbstractSourceCodeManager managerPerMatchingModuleDefinitions do:[:each |
+        self managerPerMatchingModule add: each copy
     ].
 
     self availableManagers do:[:eachManager |
@@ -12983,6 +13005,7 @@
 "/    self selectedPerModuleRootChanged.
 
     "Modified: / 18-04-2011 / 21:17:01 / cg"
+    "Modified: / 09-07-2011 / 14:00:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 basicSaveSettings
@@ -13029,8 +13052,8 @@
         ].
 
         AbstractSourceCodeManager 
-            managerPerMatchingModuleDefinitions:(
-                managerPerMatchingModule collect:[:entry | entry packageMatchString -> entry manager]) asOrderedCollection.
+            managerPerMatchingModuleDefinitions:
+                managerPerMatchingModule asOrderedCollection.
 
         self availableManagers do:[:eachManager |
             |infoPerModule|
@@ -13055,6 +13078,7 @@
     self acceptChannel value.
 
     "Modified: / 18-04-2011 / 21:22:14 / cg"
+    "Modified: / 09-07-2011 / 14:02:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 condenseSourceCache
@@ -13071,23 +13095,6 @@
     "Modified: / 28-11-2006 / 12:21:21 / cg"
 !
 
-removeManagerAction
-    |idx|
-
-    idx := self selectedManagerPerMatchingModuleHolder value.
-    managerPerMatchingModule removeIndex:idx.
-
-    managerPerMatchingModule size >= idx ifTrue:[
-        selectedManagerPerMatchingModuleHolder value:idx.
-    ] ifFalse:[
-        managerPerMatchingModule size >= (idx-1) ifTrue:[
-            selectedManagerPerMatchingModuleHolder value:idx-1.
-        ].
-    ].
-
-    "Created: / 18-04-2011 / 20:56:46 / cg"
-!
-
 removePerModuleRoot
 
     |module|
@@ -13144,6 +13151,31 @@
     "Modified: / 18-04-2011 / 19:05:47 / cg"
 !
 
+canMoveDown
+    ^ BlockValue
+        with:
+            [:sel | 
+            sel notNil 
+                and:[sel ~~ 0 
+                    and:[sel ~~ managerPerMatchingModule size]]]
+        argument:(self selectedManagerPerMatchingModuleHolder)
+
+    "Created: / 18-04-2011 / 20:52:48 / cg"
+    "Created: / 09-07-2011 / 14:18:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+canMoveUp
+    ^ BlockValue
+        with:
+            [:sel | 
+            sel notNil 
+                and:[sel > 1]]
+        argument:(self selectedManagerPerMatchingModuleHolder)
+
+    "Created: / 18-04-2011 / 20:52:48 / cg"
+    "Created: / 09-07-2011 / 14:18:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 canRemoveManagerPerPackageEntry
     ^ BlockValue
         with:[:sel :use | sel notNil and:[sel ~~ 0 and:[use]] ] 
@@ -13473,8 +13505,8 @@
         idx := changedObject value.
         (idx notNil and:[idx ~~ 0]) ifTrue:[
             entry := self managerPerMatchingModule at:idx.
-            self packageToAddHolder value:(entry packageMatchString).
-            self managerTypeToAddHolder value:(entry manager managerTypeName).
+            self packageToAddHolder value:(entry package).
+            self managerTypeToAddHolder value:(entry managerTypeName).
         ].
         ^ self.
     ].
@@ -13482,6 +13514,7 @@
     super update:something with:aParameter from:changedObject
 
     "Modified: / 18-04-2011 / 21:23:08 / cg"
+    "Modified: / 09-07-2011 / 14:07:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 updateSelectedManager
@@ -13571,7 +13604,7 @@
         ifTrue:[^ true].
 
     ((AbstractSourceCodeManager managerPerMatchingModuleDefinitions)
-    ~= (self managerPerMatchingModule collect:[:entry | entry packageMatchString -> entry manager]) asOrderedCollection) ifTrue:[^ true].
+    ~= (self managerPerMatchingModule asOrderedCollection)) ifTrue:[^ true].
 
     self availableManagers do:[:mgr |
         |modules|
@@ -13591,35 +13624,250 @@
     ^ false
 
     "Modified: / 18-04-2011 / 21:22:18 / cg"
-! !
-
-!AbstractSettingsApplication::SourceCodeManagementSettingsAppl::ManagerTypeTableEntry methodsFor:'accessing'!
+    "Modified: / 09-07-2011 / 14:09:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog class methodsFor:'interface specs'!
+
+windowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog andSelector:#windowSpec
+     AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog new openInterface:#windowSpec
+     AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(FullSpec
+        name: windowSpec
+        window: 
+       (WindowSpec
+          label: 'Per Module Source Code Manager'
+          name: 'Per Module Source Code Manager'
+          min: (Point 10 10)
+          bounds: (Rectangle 0 0 581 98)
+        )
+        component: 
+       (SpecCollection
+          collection: (
+           (ViewSpec
+              name: 'Content'
+              layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
+              component: 
+             (SpecCollection
+                collection: (
+                 (LabelSpec
+                    label: 'Package ID:'
+                    name: 'Label15'
+                    layout: (LayoutFrame 9 0 9 0 100 0 31 0)
+                    translateLabel: true
+                    adjust: right
+                  )
+                 (LabelSpec
+                    label: 'Manager:'
+                    name: 'Label16'
+                    layout: (LayoutFrame 9 0 37 0 100 0 59 0)
+                    translateLabel: true
+                    adjust: right
+                  )
+                 (InputFieldSpec
+                    name: 'EntryField1'
+                    layout: (LayoutFrame 108 0 9 0 -9 1 31 0)
+                    enableChannel: useManager
+                    model: packageHolder
+                    immediateAccept: true
+                    acceptOnReturn: true
+                    acceptOnTab: true
+                    acceptOnPointerLeave: true
+                  )
+                 (ComboListSpec
+                    name: 'ComboList2'
+                    layout: (LayoutFrame 108 0 39 0 -9 1 61 0)
+                    model: managerNameHolder
+                    comboList: availableManagerTypeNames
+                    useIndex: false
+                    hidePullDownMenuButton: true
+                  )
+                 )
+               
+              )
+            )
+           (HorizontalPanelViewSpec
+              name: 'Buttons'
+              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
+              horizontalLayout: fit
+              verticalLayout: center
+              horizontalSpace: 3
+              verticalSpace: 3
+              reverseOrderIfOKAtLeft: true
+              component: 
+             (SpecCollection
+                collection: (
+                 (ActionButtonSpec
+                    label: 'Cancel'
+                    name: 'Button2'
+                    translateLabel: true
+                    model: doCancel
+                    extent: (Point 289 22)
+                  )
+                 (ActionButtonSpec
+                    label: 'OK'
+                    name: 'Button1'
+                    translateLabel: true
+                    model: doAccept
+                    enableChannel: doAcceptEnabled
+                    extent: (Point 289 22)
+                  )
+                 )
+               
+              )
+            )
+           )
+         
+        )
+      )
+! !
+
+!AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog methodsFor:'accessing'!
 
 manager
-    ^ manager
-!
-
-manager:something
-    manager := something.
-!
-
-managerTypeString
-    ^ manager managerTypeName
-
-    "Created: / 18-04-2011 / 21:18:20 / cg"
-!
-
-packageMatchString
-    ^ packageMatchString
-!
-
-packageMatchString:something
-    packageMatchString := something.
-!
-
-packageMatchString:packageMatchStringArg manager:managerArg 
-    packageMatchString := packageMatchStringArg.
-    manager := managerArg.
+
+    | m mn|
+    mn := self managerNameHolder value.
+    m := self availableManagers detect:[:mgr | mgr managerTypeName = mn] ifNone:nil.
+    ^m
+
+    "Created: / 09-07-2011 / 13:07:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+manager: aSourceCodeManager
+
+    self managerNameHolder value: aSourceCodeManager managerTypeName
+
+    "Created: / 09-07-2011 / 13:02:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+package
+
+    ^self packageHolder value
+
+    "Created: / 09-07-2011 / 13:06:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+package: aString
+
+    self packageHolder value: aString
+
+    "Created: / 09-07-2011 / 13:02:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog methodsFor:'aspects'!
+
+availableManagerTypeNames
+    ^ self availableManagers collect:[:cls | cls managerTypeName].
+
+    "Created: / 16-08-2006 / 11:16:25 / cg"
+!
+
+availableManagers
+    availableManagers isNil ifTrue:[
+        availableManagers := AbstractSourceCodeManager availableManagers copy.
+        availableManagers := availableManagers sort:[:a :b | a managerTypeName asLowercase < b managerTypeName asLowercase].
+    ].
+    ^ availableManagers.
+
+    "
+     self basicNew availableManagers   
+    "
+
+    "Created: / 16-08-2006 / 11:01:10 / cg"
+    "Modified: / 18-04-2011 / 19:05:47 / cg"
+!
+
+doAcceptEnabled
+    <resource: #uiAspect>
+
+    |holder|
+
+    (holder := builder bindingAt:#doAcceptEnabled) isNil ifTrue:[
+        holder := BlockValue 
+            with:
+                [:package :manager|
+                package value notEmptyOrNil  and:[manager value notNil]]
+            argument: self packageHolder
+            argument: self managerHolder.
+
+        builder aspectAt:#doAcceptEnabled put:holder.
+    ].
+    ^ holder.
+
+    "Modified: / 09-07-2011 / 13:00:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+managerHolder
+    <resource: #uiAspect>
+
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+    "*** (and replace this comment by something more useful ;-)"
+
+    managerNameHolder isNil ifTrue:[
+        managerNameHolder := ValueHolder new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+"/       managerHolder addDependent:self.
+"/       managerHolder onChangeSend:#managerHolderChanged to:self.
+    ].
+    ^ managerNameHolder.
+!
+
+managerNameHolder
+    <resource: #uiAspect>
+
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+    "*** (and replace this comment by something more useful ;-)"
+
+    managerNameHolder isNil ifTrue:[
+        managerNameHolder := ValueHolder new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+"/       managerHolder addDependent:self.
+"/       managerHolder onChangeSend:#managerHolderChanged to:self.
+    ].
+    ^ managerNameHolder.
+
+    "Created: / 09-07-2011 / 13:05:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+packageHolder
+    <resource: #uiAspect>
+
+    "automatically generated by UIPainter ..."
+
+    "*** the code below creates a default model when invoked."
+    "*** (which may not be the one you wanted)"
+    "*** Please change as required and accept it in the browser."
+    "*** (and replace this comment by something more useful ;-)"
+
+    packageHolder isNil ifTrue:[
+        packageHolder := ValueHolder new.
+"/ if your app needs to be notified of changes, uncomment one of the lines below:
+"/       packageHolder addDependent:self.
+"/       packageHolder onChangeSend:#packageHolderChanged to:self.
+    ].
+    ^ packageHolder.
 ! !
 
 !AbstractSettingsApplication::StyleSettingsAppl class methodsFor:'defaults'!
@@ -15974,9 +16222,9 @@
 !AbstractSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.397 2011-07-08 11:42:52 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.398 2011-07-09 13:48:58 vrany Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.397 2011-07-08 11:42:52 cg Exp $'
-! !
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.398 2011-07-09 13:48:58 vrany Exp $'
+! !